Manchmal benötigen Sie Objekte aus einer Region in einer anderen Region. Ein häufiger Anwendungsfall ist die Zentralisierung von Protokollen aus mehreren Regionen für die Datenanalyse. Amazon Simple Storage Storage (S3) ist ein Service, der Objekte mit Hilfe eines Schlüssels und eines Wertes speichert. Auf die mit einem Schlüssel verbundenen Daten kann über eine Webservice-API einfach zugegriffen werden. S3 ist ein Kerndienst von AWS und eignet sich hervorragend für die Speicherung von Protokolldaten. S3 speichert Daten lokal in einer Region. Die Daten werden niemals ohne ausdrückliche Konfiguration in eine andere Region kopiert. Schauen wir uns an, was es bedeutet, eine regionsübergreifende Kopie zwischen zwei S3-Buckets einzurichten.
Regionsübergreifende Replikation (CRR)
Cross Region Replication (CRR) ist ein Dienst, der automatisch Objekte von einer Region in eine andere kopiert. Der Dienst ist Teil von S3 und kann über die Konfiguration aktiviert werden. Die Daten werden dann sicher von einer Region in eine andere kopiert und in einem anderen Bucket gespeichert.
Architektur
Das CRR-Beispiel besteht aus zwei Buckets, einem in us-east-1 und einem in eu-west-1. Der Bucket in us-east-1 enthält Inhalte, die nach eu-west-1 repliziert werden müssen. 
Beispiel
Das Beispielprojekt besteht aus zwei CloudFormation-Vorlagen, die Buckets in verschiedenen Regionen konfigurieren. Für
ReplicatedBucket:
Type: AWS::S3::Bucket
Properties:
AccessControl: BucketOwnerFullControl
VersioningConfiguration:
Status: Enabled
ReplicationConfiguration:
Role: !GetAtt ReplicationRole.Arn
Rules:
- Prefix: ''
Status: Enabled
Destination:
Bucket: !Ref ReplicatedBucketArn
ReplicationRole:
Type: AWS::IAM::Role
Properties:
AssumeRolePolicyDocument:
Statement:
- Effect: Allow
Principal:
Service: s3.amazonaws.com
Action: sts:AssumeRole
Path: /
Policies:
- PolicyName: Allow
PolicyDocument:
Statement:
- Effect: Allow
Action:
- s3:*
Resource:
- '*'
Der Eimer eu-west-1 hat nur eine aktivierte VersioningConfiguration.
SimpleBucket:
Type: AWS::S3::Bucket
Properties:
AccessControl: BucketOwnerFullControl
VersioningConfiguration:
Status: Enabled
Um das Beispiel einzusetzen, geben Sie make deploy ein. Um Informationen über die Bucket-Namen zu erhalten, geben Sie make info ein.
Replizieren von Daten
Um die Daten zu replizieren, müssen wir die Daten nach us-east-1 kopieren. Um den Bucket-Namen zu erhalten, geben Sie
$ aws s3 cp aws s3 cp LICENSE s3://cross-region-replication-example-eu-simplebucket-1adlmia5ye8ji
Nach einer Sekunde wird die Datei in eu-west-1 repliziert:
$ aws s3 ls s3://cross-region-replication-example-eu-simplebucket-8eeig5mggnah
2018-11-14 05:19:50 11357 LICENSE
Fazit
Es ist einfach, S3 Cross Region Replication (CRR) zu konfigurieren. Die Versionskontrolle muss aktiviert sein und der Bucket benötigt Berechtigungen für den Zugriff auf den Bucket in einer anderen Region. Mit CRR können wir Protokolle wie Zugriffsprotokolle, Fehlerprotokolle usw. an einen zentralen Ort für die Datenanalyse kopieren. Das nächste Mal werden wir uns AWS Athena ansehen, um einfache Protokollanalysen auf S3-Buckets durchzuführen.
Verfasst von
Dennis Vriend
Unsere Ideen
Weitere Blogs
Contact




