Moure un bucket d'Amazon S3 d'un compte AWS a un altre sona senzill... fins que ho provi amb de les dades. 4–5 terabytes En aquest sentit, els mètodes habituals - o replicació de comptes creuats - se sent com l'enviament de cada arxiu únic a través de la colomera del portador. Estan bé per a gigabytes, però estaràs esperant dies (i pagant més del que t'agradaria) per terabytes. aws s3 cp Això és on En el meu cas, va ser més que la manera “normal”, completament automatitzada i segura. AWS DataSync 10× faster Per què DataSync per a grans migracions? AWS DataSync està construït per al moviment massiu de dades - penseu en terabytes a petabytes. Desplaça dades directament entre els serveis d'AWS (o des d'on-prem a AWS) sense emmagatzematge d'intermediaris. Paral·lelitza les transferències, fent-les molt més ràpides. Gestiona metadades, etiquetes d'objecte i ACL automàticament. Es pot executar incrementalment perquè pugui fer un cutover amb un temps d'atur mínim. Quan es desplaça Entre els comptes AWS, aquests beneficis tenen importància. 4–5 TB Pas 1: Prepareu els bolquers Necessitem dos bolquers: El recipient de font en el compte AWS original (el que conté 5 TB de dades). El bucket de destinació en el compte AWS de destinació. Tots dos han de: Existeix abans de començar. Estar a la mateixa regió AWS si vols màxima velocitat i menor cost. Tenir la versió opcional (DataSync no ho requereix com la replicació). Pas 2: IAM rols i permisos DataSync necessita permís per llegir des de la font i escriure a la destinació - a través dels comptes. (Permet que el paper de DataSync del compte de destinació i l'usuari connectat llegeixin i listin objectes) 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/*" } ] } (Aquesta és la funció que DataSync utilitza per accedir al recipient de font) 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/*" } ] } (Permet que l'usuari del paper i el compte de destinació de DataSync escrigui dades) 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/*" ] } ] } Pas 3: Crear les ubicacions de DataSync Necessitem dos “localitzacions” -una per a la cistella de font, una per a la destinació. Exemple d'AWS CLI per a bucket de font: 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 Repetir per al recipient de destinació amb el seu propi ARN recipient. Pas 4: Creació de la tasca DataSync Un cop creades les dues ubicacions, configurar una tasca de DataSync per copiar objectes de la ubicació font a la ubicació de destinació. Es pot: Permetre la còpia de metadades (preserva timestamps, etiquetes). Feu sincronitzacions incrementals fins al cutover final. Utilitzeu la consola per controlar la velocitat de transferència i la finalització. Pas 5: Executar i controlar la transferència per En la meva migració, la diferència de velocitat va ser dramàtica - hores en comptes de dies. 4–5 TB Consells per a grans transferències La mateixa regió és més barata i més ràpida: els trasllats transregionals poden duplicar la factura. Les execucions incrementals són el teu amic - executeu DataSync diverses vegades abans de la transició final, de manera que només copieu els canvis en l'última execució. Mantenir l'IAM estret - estàs obrint l'accés a comptes múltiples; elimina'l després de la migració. Etiqueteu la migració perquè pugueu rastrejar els costos de transferència a AWS Cost Explorer. Pensaments finals Migració entre els comptes AWS utilitzats per a significar l'elecció entre o DataSync canvia aquesta equació, donant-li Sense guió manual ni temps d'aturada. 5 TB of S3 data Lent i lliure ràpid i costós fast, secure, repeatable migrations Penseu en això com una actualització del transport de bótes d'aigua a la instal·lació d'una canonada d'alta pressió.