Η μετακίνηση ενός δοχείου Amazon S3 από ένα λογαριασμό AWS σε άλλο ακούγεται απλή ... μέχρι να το δοκιμάσετε με από τα δεδομένα. 4–5 terabytes Σε αυτή την κλίμακα, οι συνήθεις μέθοδοι - ή αντιγραφή διαφόρων λογαριασμών - αισθάνεστε σαν να στέλνετε κάθε ένα αρχείο μέσω του περιστέρι μεταφορέα. είναι εντάξει για gigabytes, αλλά θα περιμένετε ημέρες (και θα πληρώνετε περισσότερο από ό, τι θα θέλατε) για terabytes. aws s3 cp Αυτό είναι που Ήρθε, στην περίπτωσή μου ήταν Από το «κανονικό» τρόπο, πλήρως αυτοματοποιημένο και ασφαλές. AWS DataSync 10× faster Γιατί DataSync για μεγάλες μεταναστεύσεις; Το AWS DataSync είναι κατασκευασμένο για τη μετακίνηση δεδομένων χύμα - σκεφτείτε terabytes σε petabytes. Μετακινεί δεδομένα απευθείας μεταξύ των υπηρεσιών AWS (ή από το on-prem στο AWS) χωρίς ενδιάμεση αποθήκευση. Παράλληλες μεταφορές, καθιστώντας τις πολύ πιο γρήγορες. Διαχειρίζεται αυτόματα μεταδεδομένα, ετικέτες αντικειμένων και ACL. Μπορεί να τρέξει σταδιακά, ώστε να μπορείτε να κάνετε ένα cutover με ελάχιστο χρόνο απενεργοποίησης. Όταν κινείσαι Μεταξύ των λογαριασμών AWS, αυτά τα οφέλη έχουν σημασία. 4–5 TB Βήμα 1: Προετοιμάστε τα μπουκάλια Χρειαζόμαστε δύο κούπες: Κούπα προέλευσης στον αρχικό λογαριασμό AWS (αυτό που κρατά τα 5 TB δεδομένων σας). Το bucket προορισμού στον λογαριασμό AWS στόχου. Και οι δύο πρέπει: Υπάρχει πριν ξεκινήσει. Να είστε στην ίδια περιοχή AWS αν θέλετε μέγιστη ταχύτητα και χαμηλότερο κόστος. Έχετε προαιρετική έκδοση (το DataSync δεν το απαιτεί όπως η αντιγραφή). Βήμα 2: Ρόλοι και άδειες IAM Το DataSync χρειάζεται άδεια για να διαβάσει από την πηγή και να γράψει στον προορισμό - σε λογαριασμούς. (Επιτρέψτε στον ρόλο DataSync του λογαριασμού προορισμού και στον συνδεδεμένο χρήστη να διαβάζει και να απαριθμεί αντικείμενα) Source Bucket Policy { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DIST_ACCOUNT_ID:role/datasync-role", "arn:aws:iam::DIST_ACCOUNT_ID:user/distention_account_logged_in_user" ] }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Resource": "arn:aws:s3:::source_bucket" }, { "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DIST_ACCOUNT_ID:role/datasync-role", "arn:aws:iam::DIST_ACCOUNT_ID:user/distention_account_logged_in_user" ] }, "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObjectTagging", "s3:GetObjectTagging", "s3:PutObject" ], "Resource": "arn:aws:s3:::source_bucket/*" } ] } (Αυτός είναι ο ρόλος που χρησιμοποιεί το DataSync για να αποκτήσει πρόσβαση στο κύπελλο προέλευσης) Destination Account Role Policy { "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::source_bucket" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:ListBucket", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::source_bucket/*" } ] } (Επιτρέψτε στο ρόλο και τον λογαριασμό προορισμού του χρήστη του DataSync να γράψει δεδομένα) Destination Bucket Policy { "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::DIST_ACCOUNT_ID:role/datasync-role", "arn:aws:iam::DIST_ACCOUNT_ID:user/distention_account_logged_in_user" ] }, "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Resource": [ "arn:aws:s3:::dist_bucket", "arn:aws:s3:::dist_bucket/*" ] } ] } Βήμα 3: Δημιουργία των τοποθεσιών DataSync Χρειαζόμαστε δύο «τοποθεσίες» – μία για το δοχείο πηγής, μία για τον προορισμό. Παράδειγμα AWS CLI για το bucket προέλευσης: aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::s3-source-01 \ --s3-storage-class STANDARD \ --s3-config BucketAccessRoleArn="arn:aws:iam::1234567890:role/datasync-role" \ --region us-east-1 Επαναλάβετε για το δοχείο προορισμού με το δικό του δοχείο ARN. Βήμα 4: Δημιουργία της εργασίας DataSync Αφού δημιουργηθούν και οι δύο τοποθεσίες, δημιουργήστε μια εργασία DataSync για να αντιγράψετε αντικείμενα από την τοποθεσία προέλευσης στην τοποθεσία προορισμού. Μπορείτε να : Ενεργοποίηση αντιγραφής μεταδεδομένων (διατηρεί timestamps, ετικέτες). Εκτελέστε συμπληρωματικούς συγχρονισμούς μέχρι το τελικό cutover. Χρησιμοποιήστε την κονσόλα για να παρακολουθείτε την ταχύτητα μεταφοράς και την ολοκλήρωση. Βήμα 5: Εκτέλεση και παρακολούθηση της μεταφοράς Για , δεν τελειώνετε σε λίγα λεπτά, αλλά θα δείτε ακόμα μια τεράστια βελτίωση σε σχέση με τις παραδοσιακές μεθόδους. 4–5 TB Tips για μεγάλες μεταγραφές Η ίδια περιοχή είναι φθηνότερη και ταχύτερη - οι διαπεριφερειακές μεταφορές μπορούν να διπλασιάσουν τον λογαριασμό. Οι αυξήσεις είναι ο φίλος σας - εκτελέστε το DataSync αρκετές φορές πριν από την τελική εκτέλεση, ώστε να αντιγράψετε μόνο τις αλλαγές στην τελευταία εκτέλεση. Κρατήστε το IAM σφιχτό - ανοίγετε την πρόσβαση διαφόρων λογαριασμών. αφαιρέστε το μετά τη μετεγκατάσταση. Σημειώστε τη μετεγκατάσταση, ώστε να μπορείτε να παρακολουθείτε τα έξοδα μεταφοράς στο AWS Cost Explorer. Τελικές Σκέψεις μετανάστευση μεταξύ των λογαριασμών AWS που χρησιμοποιούνται για την επιλογή μεταξύ ή Το DataSync αλλάζει αυτή την εξίσωση – δίνοντάς σας Χωρίς χειροκίνητο σενάριο ή καθυστέρηση. 5 TB of S3 data Αργοί και ελεύθεροι Γρήγορα και ακριβά fast, secure, repeatable migrations Σκεφτείτε το ως αναβάθμιση από τη μεταφορά δοχείων νερού στην εγκατάσταση ενός αγωγού υψηλής πίεσης.