Wir verwenden S3, um Millionen von Einträgen in unserer Web-App zu speichern. Jetzt verschieben wir das Ganze auf EC2, EU-Server, und wir möchten diese S3-Daten auch in die EU verschieben. Der von uns verwendete Bucket befindet sich jedoch in den USA, und es scheint kein Tool zu geben, mit dem der gesamte Bucket-Inhalt in einen anderen Bucket verschoben werden kann.
Es gibt auch ein Problem bei der späteren Synchronisierung der Daten, wenn wir auf EU-Bucket umstellen. Diese Daten werden während der Migration erstellt.
amazon-ec2
amazon-s3
Skrat
quelle
quelle
aws ec2 describe-regions
, sie werden jedochus-east-1
auch als US-Standard für S3 bezeichnet aus historischen Gründen etwas anders.Ich denke, Sie können laufen:
Es sollte es direkt kopieren.
quelle
Ich kenne keine gepackte Lösung, um dies zu tun, aber es ist im Wesentlichen nur eine Bucket-LIST und kopiert dann jedes Objekt aus dem US-Bucket in den EU-Bucket. Die PUT-copy-API unterstützt "if-modified-since" und "if-none-match", sodass Sie sie wiederholt ausführen können, ohne den Aufwand zu duplizieren: http://docs.amazonwebservices.com/AmazonS3/2006-03-01/ API / index.html? RESTObjectCOPY.html
Für eine Live-Migration würde ich den folgenden Ansatz vorschlagen:
Möglicherweise möchten Sie S3 Reduced Redundancy Storage während der Migration in Ihrem EU-Bucket verwenden, um günstigere Datenraten und schnellere Antwortzeiten zu erzielen, da die Daten nur ein Duplikat der US-Daten sind.
quelle
Sie können auch die regionübergreifende Replikation einrichten, mit der Sie Daten zwischen Regionen kopieren und synchronisieren können. Https://aws.amazon.com/blogs/aws/new-cross-region-replication-for-amazon- s3 /
quelle
Ich habe viel mit S3 gearbeitet und bin noch nie auf ein Tool gestoßen, das dies von Haus aus erledigt. Es wäre jedoch nicht allzu schwierig, ein paar s3cmd-sync- Synchronisationsskripten zu verwenden, um zwei Buckets miteinander zu synchronisieren.
quelle