Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Mentransfer data dari Amazon S3 ke Amazon S3 Akun AWS
DenganAWS DataSync, Anda dapat memindahkan data antara bucket Amazon S3 yang berbeda. Akun AWS
penting
Menyalin 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 (kecuali jika Anda bekerja dengan satu atau lebih Wilayah keikutsertaan).
Ikhtisar
Tidak jarang perlu mentransfer data antara yang berbedaAkun 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.
Izin yang diperlukan
Sebelum memulai, pastikan sumber dan tujuan Anda Akun AWS memiliki izin yang tepat untuk menyelesaikan transfer lintas akun antar bucket S3.
Izin yang diperlukan untuk akun sumber Anda
Untuk sumber AndaAkun AWS, ada dua set izin yang perlu dipertimbangkan untuk transfer lintas akun semacam ini. Satu set izin adalah untuk pengguna yang bekerja dengan DataSync untuk membuat dan memulai tugas transfer (misalnya, administrator penyimpanan Anda). Kumpulan izin lainnya memungkinkan DataSync layanan untuk mentransfer objek ke bucket S3 di akun tujuan Anda atas nama Anda.
Izin yang diperlukan untuk akun tujuan Anda
Untuk tujuanAkun AWS, Anda memerlukan izin untuk menonaktifkan daftar kontrol akses (ACL) bucket S3 dan memperbarui kebijakan bucket. Untuk informasi selengkapnya tentang izin khusus ini, lihat Panduan Pengguna Amazon S3.
Langkah 1: Di akun sumber Anda, buat lokasi DataSync sumber
Di akun sumber Anda, buat DataSynclokasi untuk bucket S3 tempat Anda mentransfer data.
Jika Anda membuat lokasi dengan menggunakan DataSync konsol, Anda dapat membiarkan DataSync secara otomatis membuat dan mengambil peran IAM yang diperlukan untuk mengakses bucket S3 sumber Anda.
Langkah 2: Di akun sumber Anda, buat peran IAM untuk DataSync
Di akun sumber, Anda memerlukan peran IAM yang memberikan DataSync izin untuk menulis ke bucket S3 di akun tujuan atas nama Anda.
Biasanya, saat Anda membuat lokasi transfer untuk bucket S3 di DataSync konsol, secara otomatis DataSync dapat membuat dan mengambil peran yang memiliki izin yang tepat untuk menulis ke bucket tersebut. Namun, karena Anda mentransfer lintas akun, Anda harus membuat peran secara manual.
Buat peran IAM
Buat peran IAM dengan DataSync sebagai entitas tepercaya.
Untuk membuat peran IAM
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.
Lampirkan kebijakan khusus ke peran IAM
Peran IAM yang baru saja Anda buat memerlukan kebijakan yang memungkinkan DataSync untuk menulis ke bucket S3 di akun tujuan Anda.
Untuk melampirkan kebijakan khusus ke peran IAM 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:::
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 3: Di akun tujuan Anda, nonaktifkan ACL untuk 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 (ACL) bucket.
Untuk menonaktifkan ACL untuk bucket S3
-
DiAWS Management Console, beralih ke akun tujuan Anda.
Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/
. -
Di panel navigasi sebelah kiri, pilih Bucket.
-
Dalam daftar Bucket, 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 ACL dinonaktifkan (disarankan).
-
Pilih Simpan perubahan.
Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan ACL untuk bucket Anda di Panduan Pengguna Amazon S3.
Langkah 4: 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.
Kebijakan bucket yang diperbarui (diberikan kepada Anda dalam petunjuk berikut) mencakup dua prinsip:
-
Prinsipal pertama menentukan peran DataSync IAM yang Anda buat di akun sumber Anda. Peran ini memungkinkan DataSync untuk menulis ke bucket S3 di akun tujuan Anda.
-
Prinsipal kedua menentukan peran IAM dengan izin pengguna yang diperlukan untuk bekerja dengan DataSync di akun sumber Anda. Anda memerlukan kepala sekolah ini untuk membuat lokasi DataSync tujuan.
Untuk memperbarui kebijakan bucket S3 tujuan
-
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 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
/*" ] }, { "Sid": "DataSyncCreateS3Location", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::source-account
:role/source-user-role
" }, "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::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.destination-bucket
-
Ganti
dengan peran IAM yang menyertakan izin pengguna yang diperlukan untuk digunakan. DataSyncsource-user-role
-
Pilih Simpan perubahan.
Langkah 5: Di akun sumber Anda, buat lokasi DataSync tujuan
Di akun sumber Anda, Anda perlu membuat DataSync lokasi untuk bucket S3 di akun tujuan Anda.
DataSync Konsol tidak akan membiarkan Anda membuat lokasi untuk sumber daya penyimpanan di tempat lainAkun AWS. Namun, Anda dapat melakukan ini dengan menggunakanAWS CloudShell, shell pra-otentikasi berbasis browser yang Anda luncurkan langsung dari konsol. CloudShell memungkinkan Anda menjalankan AWS CLI perintah untuk menyelesaikan tutorial ini tanpa mengunduh atau menginstal alat baris perintah.
catatan
Jika Anda ingin menyelesaikan langkah-langkah berikut dengan menggunakan alat baris perintah selain CloudShell, pastikan AWS CLI profil Anda menggunakan yang sama dengan
yang Anda tentukan dalam kebijakan bucket S3 tujuan. Untuk informasi selengkapnya, silakan lihat Panduan Pengguna AWS Command Line Interface.source-user-role
Untuk membuat lokasi DataSync tujuan dengan menggunakan CloudShell
-
DalamAWS Management Console, beralih kembali ke akun sumber Anda.
Buka konsol AWS DataSync di https://console.aws.amazon.com/datasync/
. -
Lakukan salah satu hal berikut untuk meluncurkan CloudShell:
-
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 perintah berikut:
aws datasync create-location-s3 \ --s3-bucket-arn arn:aws:s3:::
destination-bucket
\ --s3-config '{ "BucketAccessRoleArn":"arn:aws:iam::source-user-account
:role/source-datasync-role
" }' -
Ganti
dengan nama bucket S3 di akun tujuan Anda.destination-bucket
-
Ganti
dengan Akun AWS ID untuk akun sumber Anda.source-user-account
-
Ganti
dengan peran DataSync IAM yang Anda buat di akun sumber Anda.source-datasync-role
-
Jika bucket tujuan Anda berada di Region yang berbeda dari bucket sumber, tambahkan
--region
opsi ke perintah untuk menentukan Region tempat bucket tujuan berada. Misalnya,--region
.us-east-2
-
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 bucket S3 di akun tujuan yang baru saja Anda buat.
Langkah 6: Di akun sumber Anda, buat dan mulai tugas DataSync transfer Anda
Sebelum Anda memindahkan data Anda, mari kita rekap apa yang telah Anda lakukan sejauh ini:
-
Di akun sumber, Anda membuat peran IAM yang memungkinkan DataSync untuk menulis data ke bucket S3 di akun tujuan Anda.
-
Di akun tujuan, Anda mengonfigurasi bucket S3 sehingga DataSync dapat mengakses bucket dan menulis data ke dalamnya.
-
Di akun sumber Anda, Anda membuat lokasi DataSync sumber dan tujuan untuk transfer Anda.
Untuk membuat dan memulai tugas DataSync transfer
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 Wilayah yang berbeda dari bucket di akun sumber Anda, pilih Wilayah 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 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.
Memecahkan masalah
Lihat informasi berikut jika Anda mengalami masalah saat mencoba menyelesaikan transfer lintas akun Anda.
- Kesalahan izin
-
Saat menyiapkan transfer lintas akun dengan Amazon S3, Anda mungkin melihat kesalahan izin. Misalnya, berikut adalah kesalahan izin umum saat mencoba membuat lokasi tujuan S3:
An error occurred (InvalidRequestException) when calling the CreateLocationS3 operation: DataSync location access test failed: could not perform s3:HeadBucket on bucket
DOC-EXAMPLE-DESTINATION-BUCKET
. Access denied. Ensure bucket access role has s3:ListBucket permission.Kesalahan ini berarti bahwa izin Akun AWS pengguna sumber Anda tidak memiliki
s3:ListBucket
izin. Izin ini untuk pengguna yang membuat dan memulai DataSync tugas. Tambahkans3:ListBucket
ke izin pengguna Anda dan coba lagi untuk membuat lokasi tujuan. - 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.
Sumber daya terkait
Untuk informasi lebih lanjut tentang apa yang Anda lakukan dalam tutorial ini, lihat topik berikut: