Bir AWS hesabından diğerine bir Amazon S3 tuzu taşımak basittir... ya da data. 4–5 terabytes Bu aşamada, geleneksel yöntemler - ya da hesaplar arası kopyalama – taşıyıcı güvercin aracılığıyla her dosyayı posta gibi hissediyorsunuz. Gigabyte için iyidirler, ancak terabyte için günler bekleyeceksiniz (ve istediğinizden daha fazla ödeyeceksiniz). aws s3 cp İşte bu nerede içeri girdi. benim durumumda “Normal” şekilde, tamamen otomatik ve güvenli. İşte bunu nasıl yaptım. AWS DataSync 10× faster Neden Büyük Göçler için DataSync? AWS DataSync, bulk veri hareketleri için tasarlanmıştır – terabyte’leri petabyte’lere düşünün. Verileri doğrudan AWS hizmetleri arasında (veya yerel olarak AWS'e) ortağı depolama olmadan taşımaktadır. Paralel transferler yapar, onları çok daha hızlı yapar. Metadata, nesne etiketleri ve ACL'leri otomatik olarak işler. Artırıcı olarak çalıştırılabilir, böylece minimum durdurma süresi ile bir kesinti yapabilirsiniz. Hareket ettiğinizde AWS hesapları arasında, bu faydalar önemli. 4–5 TB 1. Adım: Çorapları Hazırlayın İhtiyacımız olan iki kutu: Orijinal AWS hesabınızda kaynak kutusu ( 5 TB verilerinizi taşıyan hesap). Hedef AWS hesabında hedefleme kutusu. İkisinin de olması gerekir: Başlamadan önce var. Maksimum hız ve daha düşük maliyet istiyorsanız aynı AWS bölgesinde olun. Versiyonlama seçmeli (Replikasyon gibi DataSync gerektirmez). Adım 2: IAM Roller ve İzinler DataSync, kaynaktan okumak ve hedefe yazmak için izin gerektirir – hesaplar arasında. (Hedef hesabının DataSync rolü ve girişli kullanıcıların nesneleri okumasına ve listesine izin verin) 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/*" } ] } (Bu, DataSync'in kaynak kutusuna erişmek için kullandığı roldür) 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 rolü ve hedef hesabı kullanıcısının verileri yazmasına izin verin) 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/*" ] } ] } Adım 3: DataSync Lokasyonları Oluşturma İki “yeri”ye ihtiyacımız var – biri kaynağı için, diğeri de hedefi için. Source Bucket için AWS CLI örneği: 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 Hedef tuzu için kendi tuzu ARN ile tekrarlayın. Adım 4: DataSync Görevini Oluşturun Her iki konum oluşturulduğunda, kaynak konumundan hedef konumuna nesneleri kopyalamak için bir DataSync görevi kurun. Sen yapabilirsin : Metadata kopyalamasını etkinleştirin (zaman etiketleri, etiketleri korur). Final cutover'a kadar artan senkronizasyonları çalıştırın. Transfer hızını ve tamamlanmayı izlemek için konsolunu kullanın. Adım 5: Transferi çalıştırın ve izleyin için , dakikalar içinde bitmeyeceksiniz, ancak geleneksel yöntemlere kıyasla hala büyük bir iyileşme göreceksiniz. 4–5 TB Büyük transferler için Pro Tips Aynı bölge daha ucuz ve daha hızlı - bölgesel transferler faturayı ikiye katlayabilir. Artırıcı çalışmaları arkadaşınızdır - nihai kesintiden önce DataSync'i birkaç kez çalıştırın, böylece değişiklikleri sadece son çalıştırmada kopyalamalısınız. IAM’i sıkı tutun – hesaplar arası erişim açıyorsunuz; geçişi yaptıktan sonra kaldırın. AWS Cost Explorer'da transfer maliyetlerini izleyebilmek için geçişi etiketleyin. Son Düşünceler Göçmenlik AWS hesapları arasında seçim yapmak anlamına gelir veya DataSync bu eşitliği değiştiriyor - size Manual scripting veya downtime olmadan. 5 TB of S3 data Yavaş ve serbest Hızlı ve pahalı fast, secure, repeatable migrations Bir su bardağı taşıyan su bardağından yüksek basınçlı bir boru hattı kurmak için yükseltme olarak düşünün.