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 peran IAM untuk membuat DataSync lokasi dan tugas Anda. Untuk informasi tentang cara menambahkan izin ke peran, lihat membuat atau memodifikasi peran IAM.
{ "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 peran IAM 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:::
amzn-s3-demo-destination-bucket
" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-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 peran DataSync IAM untuk akses bucket tujuan
Di sumber Anda Akun AWS, Anda memerlukan peran IAM 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 peran IAM dengan DataSync sebagai entitas tepercaya.
Masuk ke AWS Management Console akun sumber Anda.
Buka konsol IAM 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 Pengguna IAM.
Peran IAM yang baru saja Anda buat memerlukan izin yang memungkinkan DataSync untuk mentransfer data ke bucket S3 di akun tujuan Anda.
Pada halaman Peran konsol IAM, 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 tab JSON dan lakukan hal berikut:
Tempelkan JSON berikut ke editor kebijakan:
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetBucketLocation", "s3:ListBucket", "s3:ListBucketMultipartUploads" ], "Effect": "Allow", "Resource": "arn:aws:s3:::
amzn-s3-demo-destination-bucket
" }, { "Action": [ "s3:AbortMultipartUpload", "s3:DeleteObject", "s3:GetObject", "s3:ListMultipartUploadParts", "s3:PutObject", "s3:GetObjectTagging", "s3:PutObjectTagging" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" } ] }Ganti setiap instance
dengan nama bucket S3 di akun tujuan Anda.amzn-s3-demo-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 peran DataSync IAM 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:::amzn-s3-demo-destination-bucket
", "arn:aws:s3:::amzn-s3-demo-destination-bucket
/*" ] } ] } -
Ganti setiap instance
dengan Akun AWS ID untuk akun sumber Anda.source-account
-
Ganti
dengan peran IAM yang Anda buat DataSync di akun sumber Anda.source-datasync-role
-
Ganti setiap instance
dengan nama bucket S3 di akun tujuan Anda.amzn-s3-demo-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 ACLs dinonaktifkan (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 Anda, 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 peran IAM 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:::
amzn-s3-demo-destination-bucket
\ --regionamzn-s3-demo-destination-bucket-region
\ --s3-config '{ "BucketAccessRoleArn":"arn:aws:iam::source-account-id
:role/source-datasync-role
" }' -
Ganti
dengan nama bucket S3 di akun tujuan Anda.amzn-s3-demo-destination-bucket
-
Jika bucket tujuan Anda berada di Region yang berbeda dari bucket sumber Anda, ganti
dengan Region tempat bucket tujuan berada (misalnya,amzn-s3-demo-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 peran DataSync IAM yang Anda buat di akun sumber Anda.source-datasync-role
-
Jalankan perintah di CloudShell.
Jika perintah mengembalikan DataSync lokasi 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, Anda membuat peran IAM 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, pilih mode Tugas.
Tip
Kami merekomendasikan menggunakan mode Enhanced. Untuk informasi selengkapnya, lihat Memilih mode tugas untuk transfer data Anda.
-
Beri nama tugas dan 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 mengubah 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.