Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Mentransfer data antara bucket Amazon S3 Akun AWS
Dengan AWS DataSync, Anda dapat mentransfer data antara bucket Amazon S3 yang milik berbeda. Akun AWS
penting
Mentransfer data Akun AWS menggunakan metode dalam tutorial ini hanya berfungsi dengan Amazon S3. Selain itu, tutorial ini dapat membantu Anda mentransfer data antara bucket S3 yang juga berbeda. Wilayah AWS
Gambaran Umum
Tidak jarang mentransfer data antara Akun AWS, terutama jika Anda memiliki tim terpisah yang mengelola sumber daya organisasi Anda. Seperti inilah tampilan transfer lintas DataSync akun:
-
Akun sumber: Akun AWS Untuk mengelola bucket S3 yang Anda perlukan untuk mentransfer data.
-
Akun tujuan: Akun AWS Untuk mengelola bucket S3 yang Anda perlukan untuk mentransfer data.
Prasyarat: Izin akun sumber yang diperlukan
Untuk sumber Anda Akun AWS, ada dua set izin yang perlu dipertimbangkan dengan transfer lintas akun semacam ini:
-
Izin pengguna yang memungkinkan pengguna untuk bekerja dengan DataSync (ini mungkin Anda atau administrator penyimpanan Anda). Izin ini memungkinkan Anda membuat DataSync lokasi dan tugas.
-
DataSync izin layanan yang memungkinkan DataSync untuk mentransfer data ke bucket akun tujuan Anda.
Di akun sumber Anda, tambahkan setidaknya izin berikut ke IAM peran untuk membuat DataSync lokasi dan tugas Anda. Untuk informasi tentang cara menambahkan izin ke peran, lihat membuat atau memodifikasi peranIAM.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "SourceUserRolePermissions", "Effect": "Allow", "Action": [ "datasync:CreateLocationS3", "datasync:CreateTask", "datasync:DescribeLocation*", "datasync:DescribeTaskExecution", "datasync:ListLocations", "datasync:ListTaskExecutions", "datasync:DescribeTask", "datasync:CancelTaskExecution", "datasync:ListTasks", "datasync:StartTaskExecution", "iam:CreateRole", "iam:CreatePolicy", "iam:AttachRolePolicy", "iam:ListRoles", "s3:GetBucketLocation", "s3:ListAllMyBuckets" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": [ "datasync.amazonaws.com" ] } } } ] }
Tip
Untuk mengatur izin pengguna Anda, pertimbangkan untuk menggunakan AWSDataSyncFullAccess. Ini adalah kebijakan AWS terkelola yang memberikan akses penuh kepada pengguna DataSync dan akses minimal ke dependensinya.
DataSync Layanan memerlukan izin berikut di akun sumber Anda untuk mentransfer data ke bucket akun tujuan Anda.
Kemudian dalam tutorial ini, Anda menambahkan izin ini saat membuat IAM peran untuk DataSync. Anda juga menentukan role (
) ini dalam kebijakan bucket tujuan dan saat membuat lokasi DataSync tujuan.source-datasync-role
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::
destination-bucket
" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::destination-bucket
/*" } ] }
Prasyarat: Izin akun tujuan yang diperlukan
Di akun tujuan, izin pengguna harus memungkinkan Anda memperbarui kebijakan bucket tujuan dan menonaktifkan daftar kontrol aksesnya (ACLs). Untuk informasi selengkapnya tentang izin khusus ini, lihat Panduan Pengguna Amazon S3.
Langkah 1: Di akun sumber Anda, buat DataSync IAM peran untuk akses bucket tujuan
Di sumber Anda Akun AWS, Anda memerlukan IAM peran yang memberikan DataSync izin untuk mentransfer data ke bucket akun tujuan Anda.
Karena Anda mentransfer lintas akun, Anda harus membuat peran secara manual. (DataSyncdapat membuat peran ini untuk Anda di konsol saat mentransfer di akun yang sama.)
Buat IAM peran dengan DataSync sebagai entitas tepercaya.
Masuk ke AWS Management Console akun sumber Anda.
Buka IAM konsol di https://console.aws.amazon.com/iam/
. -
Di panel navigasi kiri, di bawah Manajemen akses, pilih Peran, lalu pilih Buat peran.
-
Pada halaman Pilih entitas tepercaya, untuk jenis entitas Tepercaya, pilih Layanan AWS.
-
Untuk kasus Penggunaan, pilih DataSyncdi daftar dropdown dan pilih. DataSync Pilih Berikutnya.
-
Pada halaman Tambahkan izin, pilih Berikutnya.
-
Beri nama peran Anda dan pilih Buat peran.
Untuk informasi selengkapnya, lihat Membuat peran untuk Layanan AWS (konsol) di Panduan IAM Pengguna.
IAMPeran yang baru saja Anda buat memerlukan izin yang memungkinkan DataSync untuk mentransfer data ke bucket S3 di akun tujuan Anda.
Pada halaman Peran IAM konsol, cari peran yang baru saja Anda buat dan pilih namanya.
Pada halaman detail peran, pilih tab Izin. Pilih Tambahkan izin lalu Buat kebijakan sebaris.
-
Pilih JSONtab dan lakukan hal berikut:
Tempelkan yang berikut ini JSON ke editor kebijakan:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::
destination-bucket
" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::destination-bucket
/*" } ] }Ganti setiap instance
dengan nama bucket S3 di akun tujuan Anda.destination-bucket
-
Pilih Berikutnya. Beri nama kebijakan Anda dan pilih Buat kebijakan.
Langkah 2: Di akun tujuan Anda, perbarui kebijakan bucket S3 Anda
Di akun tujuan, ubah kebijakan bucket S3 tujuan untuk menyertakan DataSync IAMperan yang Anda buat di akun sumber.
Sebelum memulai: Pastikan Anda memiliki izin yang diperlukan untuk akun tujuan Anda.
-
Di AWS Management Console, beralih ke akun tujuan Anda.
Buka konsol Amazon S3 di. https://console.aws.amazon.com/s3/
-
Di panel navigasi kiri, pilih Bucket.
-
Dalam daftar Bucket, pilih bucket S3 tempat Anda mentransfer data.
-
Pada halaman detail bucket, pilih tab Izin.
-
Di bawah kebijakan Bucket, pilih Edit dan lakukan hal berikut untuk mengubah kebijakan bucket S3 Anda:
-
Perbarui apa yang ada di editor untuk menyertakan pernyataan kebijakan berikut:
{ "Version": "2008-10-17", "Statement": [ { "Sid": "DataSyncCreateS3LocationAndTaskAccess", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
source-account
:role/source-datasync-role
" }, "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:::destination-bucket
", "arn:aws:s3:::destination-bucket
/*" ] } ] } -
Ganti setiap instance
dengan Akun AWS ID untuk akun sumber Anda.source-account
-
Ganti
dengan IAMperan yang Anda buat DataSync di akun sumber Anda.source-datasync-role
-
Ganti setiap instance
dengan nama bucket S3 di akun tujuan Anda.destination-bucket
-
-
Pilih Simpan perubahan.
Langkah 3: Di akun tujuan Anda, nonaktifkan ACLs bucket S3 Anda
Penting bahwa semua data yang Anda transfer ke bucket S3 adalah milik akun tujuan Anda. Untuk memastikan bahwa akun ini memiliki data, nonaktifkan daftar kontrol akses (ACLs) bucket. Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan ACLs bucket Anda di Panduan Pengguna Amazon S3.
Sebelum memulai: Pastikan Anda memiliki izin yang diperlukan untuk akun tujuan Anda.
-
Saat masih masuk ke konsol S3 dengan akun tujuan Anda, pilih bucket S3 tempat Anda mentransfer data.
-
Pada halaman detail bucket, pilih tab Izin.
-
Di bawah Kepemilikan Objek, pilih Edit.
-
Jika belum dipilih, pilih opsi ACLsdinonaktifkan (disarankan).
-
Pilih Simpan perubahan.
Langkah 4: Di akun sumber Anda, buat DataSync lokasi Anda
Di akun sumber Anda, buat DataSync lokasi untuk bucket S3 sumber dan tujuan Anda.
Sebelum memulai: Pastikan Anda memiliki izin yang diperlukan untuk akun sumber Anda.
Di akun sumber Anda, buat lokasi untuk bucket S3 tempat Anda mentransfer data.
Saat masih berada di akun sumber, buat lokasi untuk bucket S3 tempat Anda mentransfer data.
Karena Anda tidak dapat membuat lokasi lintas akun menggunakan antarmuka DataSync konsol, petunjuk ini mengharuskan Anda menjalankan create-location-s3
perintah untuk membuat lokasi tujuan. Kami merekomendasikan menjalankan perintah dengan menggunakan AWS CloudShell, shell pra-otentikasi berbasis browser yang Anda luncurkan langsung dari konsol. CloudShellmemungkinkan Anda menjalankan AWS CLI perintah seperti create-location-s3
tanpa mengunduh atau menginstal alat baris perintah.
catatan
Untuk menyelesaikan langkah-langkah berikut dengan menggunakan alat baris perintah selain CloudShell, pastikan AWS CLI profil Anda menggunakan IAM peran yang sama yang mencakup izin pengguna yang diperlukan untuk digunakan DataSync di akun sumber Anda.
Untuk membuat lokasi DataSync tujuan dengan menggunakan CloudShell
-
Saat masih di akun sumber Anda, lakukan salah satu hal berikut untuk meluncurkan CloudShell dari konsol:
-
Pilih CloudShell ikon di bilah navigasi konsol. Itu terletak di sebelah kanan kotak pencarian.
-
Gunakan kotak pencarian di bilah navigasi konsol untuk mencari CloudShelldan kemudian pilih CloudShellopsi.
-
-
Salin
create-location-s3
perintah berikut:aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::
destination-bucket
\ --regiondestination-bucket-region
--s3-config '{ "BucketAccessRoleArn":"arn:aws:iam::source-account-id
:role/source-datasync-role
" }' -
Ganti
dengan nama bucket S3 di akun tujuan Anda.destination-bucket
-
Jika bucket tujuan Anda berada di Region yang berbeda dari bucket sumber Anda, ganti
dengan Region tempat bucket tujuan berada (misalnya,destination-bucket-region
). Hapus opsi ini jika ember Anda berada di Wilayah yang sama.us-east-2
-
Ganti
dengan Akun AWS ID sumber.source-account-id
-
Ganti
dengan DataSyncIAMperan yang Anda buat di akun sumber Anda.source-datasync-role
-
Jalankan perintah di CloudShell.
Jika perintah mengembalikan DataSync lokasi yang ARN mirip dengan ini, Anda berhasil membuat lokasi:
{ "LocationArn": "arn:aws:datasync:us-east-2:123456789012:location/loc-abcdef01234567890" }
-
Di panel navigasi kiri, perluas Transfer data, lalu pilih Lokasi.
-
Jika Anda membuat lokasi di Wilayah lain, pilih Wilayah tersebut di panel navigasi.
Dari akun sumber Anda, Anda dapat melihat lokasi S3 yang baru saja Anda buat untuk bucket akun tujuan Anda.
Langkah 5: Di akun sumber Anda, buat dan mulai DataSync tugas Anda
Sebelum memulai DataSync tugas untuk mentransfer data Anda, mari kita rekap apa yang telah Anda lakukan sejauh ini:
-
Di akun sumber, Anda membuat IAM peran yang memungkinkan DataSync untuk mentransfer data ke bucket S3 di akun tujuan Anda.
-
Di akun tujuan, Anda mengonfigurasi bucket S3 sehingga DataSync dapat mentransfer data ke akun tersebut.
-
Di akun sumber Anda, Anda membuat lokasi DataSync sumber dan tujuan untuk transfer Anda.
-
Saat masih menggunakan DataSync konsol di akun sumber Anda, perluas Transfer data di panel navigasi kiri, lalu pilih Tugas dan Buat tugas.
-
Jika bucket di akun tujuan Anda berada di Region yang berbeda dari bucket di akun sumber Anda, pilih Region bucket tujuan di panel navigasi atas.
penting
Untuk menghindari kesalahan koneksi jaringan, Anda harus membuat DataSync tugas Anda di Wilayah yang sama dengan lokasi tujuan.
-
Pada halaman Konfigurasi lokasi sumber, lakukan hal berikut:
-
Pilih Pilih lokasi yang ada.
-
(Untuk transfer lintas Wilayah) Di menu tarik-turun Wilayah, pilih Wilayah tempat bucket sumber berada.
-
Untuk lokasi yang ada, pilih lokasi sumber untuk bucket S3 tempat Anda mentransfer data, lalu pilih Berikutnya.
-
-
Pada halaman Konfigurasi lokasi tujuan, lakukan hal berikut:
-
Pilih Pilih lokasi yang ada.
-
Untuk lokasi yang ada, pilih lokasi tujuan untuk bucket S3 tempat Anda mentransfer data, lalu pilih Berikutnya.
-
-
Pada halaman Konfigurasi pengaturan, beri nama tugas. Jika diperlukan, konfigurasikan pengaturan tambahan, seperti menentukan grup CloudWatch log Amazon. Pilih Berikutnya.
-
Pada halaman Tinjauan, tinjau pengaturan Anda dan pilih Buat tugas.
-
Pada halaman detail tugas, pilih Mulai, lalu pilih salah satu dari berikut ini:
-
Untuk menjalankan tugas tanpa modifikasi, pilih Mulai dengan default.
-
Untuk memodifikasi tugas sebelum menjalankannya, pilih Mulai dengan opsi utama.
-
Saat tugas Anda selesai, periksa bucket S3 di akun tujuan Anda. Anda akan melihat data yang dipindahkan dari bucket akun sumber Anda.
Pemecahan Masalah
Lihat informasi berikut jika Anda mengalami masalah saat mencoba menyelesaikan transfer lintas akun Anda.
- Kesalahan koneksi
-
Saat mentransfer antara bucket S3 di berbeda Akun AWS dan Wilayah, Anda mungkin mendapatkan kesalahan koneksi jaringan saat memulai tugas. DataSync Untuk mengatasinya, buat tugas di Wilayah yang sama dengan lokasi tujuan Anda dan coba jalankan tugas itu.