Tutorial: Mentransfer data dari penyimpanan lokal ke Amazon S3 Akun AWS - AWS DataSync

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tutorial: Mentransfer data dari penyimpanan lokal ke Amazon S3 Akun AWS

Saat menggunakan AWS DataSync penyimpanan lokal, Anda biasanya mentransfer data ke layanan AWS penyimpanan yang dimiliki Akun AWS sama dengan DataSync agen Anda. Namun, ada situasi di mana Anda mungkin perlu mentransfer data ke bucket Amazon S3 yang terkait dengan akun lain.

penting

Mentransfer data Akun AWS dengan menggunakan metode dalam tutorial ini hanya berfungsi ketika Amazon S3 adalah salah DataSync satu lokasi transfer.

Gambaran Umum

Tidak jarang perlu mentransfer data antara yang berbeda 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 sumber daya jaringan. Ini adalah akun tempat Anda mengaktifkan DataSync agen Anda.

  • Akun tujuan: Akun AWS Untuk mengelola bucket S3 yang Anda perlukan untuk mentransfer data.

Diagram berikut menggambarkan skenario semacam ini.

Contoh DataSync skenario perpindahan data dari sistem penyimpanan lokal melalui AWS Direct Connect koneksi di internet. AWS Data pertama kali ditransfer ke satu Akun AWS (akun sumber Anda), sebelum akhirnya membuatnya menjadi ember Amazon S3 di akun lain Akun AWS (akun tujuan Anda).

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.

User permissions

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 service permissions

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 (source-datasync-role) ini dalam kebijakan bucket tujuan dan saat membuat lokasi DataSync tujuan.

{ "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 akses (ACL). Untuk informasi selengkapnya tentang izin khusus ini, lihat Panduan Pengguna Amazon S3.

Langkah 1: Di akun sumber Anda, buat DataSync agen

Untuk memulai, Anda harus membuat DataSync agen yang dapat membaca dari sistem penyimpanan lokal dan berkomunikasi dengan DataSync layanan. Proses ini mencakup penerapan agen di lingkungan penyimpanan lokal Anda dan mengaktifkan agen di sumber Anda. Akun AWS

catatan

Langkah-langkah dalam tutorial ini berlaku untuk semua jenis agen dan titik akhir layanan yang Anda gunakan.

Untuk membuat DataSync agen
  1. Menerapkan DataSync agen di lingkungan penyimpanan lokal Anda.

  2. Pilih titik akhir layanan yang akan digunakan agen untuk berkomunikasi AWS.

  3. Aktifkan agen Anda di akun sumber Anda.

Langkah 2: Di akun sumber Anda, buat peran DataSync IAM untuk akses bucket tujuan

Di akun sumber, 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 DataSync IAM

Buat peran IAM dengan DataSync sebagai entitas tepercaya.

Untuk membuat peran IAM
  1. Masuk ke AWS Management Console akun sumber Anda.

  2. Buka konsol IAM di https://console.aws.amazon.com/iam/.

  3. Di panel navigasi kiri, di bawah Manajemen akses, pilih Peran, lalu pilih Buat peran.

  4. Pada halaman Pilih entitas tepercaya, untuk jenis entitas Tepercaya, pilih Layanan AWS.

  5. Untuk kasus Penggunaan, pilih DataSyncdi daftar dropdown dan pilih. DataSync Pilih Berikutnya.

  6. Pada halaman Tambahkan izin, pilih Berikutnya.

  7. Beri nama peran Anda dan pilih Buat peran.

Untuk informasi selengkapnya, lihat Membuat peran untuk Layanan AWS (konsol) di Panduan Pengguna IAM.

Menambahkan izin ke peran DataSync IAM

Peran IAM yang baru saja Anda buat memerlukan izin yang memungkinkan DataSync untuk mentransfer data ke bucket S3 di akun tujuan Anda.

Untuk menambahkan izin ke peran IAM Anda
  1. Pada halaman Peran konsol IAM, cari peran yang baru saja Anda buat dan pilih namanya.

  2. Pada halaman detail peran, pilih tab Izin. Pilih Tambahkan izin lalu Buat kebijakan sebaris.

  3. Pilih tab JSON dan lakukan hal berikut:

    1. 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/*" } ] }
    2. Ganti setiap instance destination-bucket dengan nama bucket S3 di akun tujuan Anda.

  4. Pilih Selanjutnya. Beri nama kebijakan Anda dan pilih Buat kebijakan.

Langkah 3: 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.

Untuk memperbarui kebijakan bucket S3 tujuan
  1. Di AWS Management Console, beralih ke akun tujuan Anda.

  2. Buka konsol Amazon S3 di https://console.aws.amazon.com/s3/.

  3. Di panel navigasi kiri, pilih Bucket.

  4. Dalam daftar Bucket, pilih bucket S3 tempat Anda mentransfer data.

  5. Pada halaman detail bucket, pilih tab Izin.

  6. Di bawah kebijakan Bucket, pilih Edit dan lakukan hal berikut untuk mengubah kebijakan bucket S3 Anda:

    1. 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/*" ] } ] }
    2. Ganti setiap instance source-account dengan Akun AWS ID untuk akun sumber Anda.

    3. Ganti source-datasync-role dengan peran IAM yang Anda buat DataSync di akun sumber Anda.

    4. Ganti setiap instance destination-bucket dengan nama bucket S3 di akun tujuan Anda.

  7. Pilih Simpan perubahan.

Langkah 4: Di akun tujuan Anda, nonaktifkan ACL untuk bucket S3 Anda

Penting bahwa semua data yang Anda salin ke bucket S3 adalah milik akun tujuan Anda. Untuk memastikan bahwa akun ini memiliki data, nonaktifkan daftar kontrol akses (ACL) bucket. Untuk informasi selengkapnya, lihat Mengontrol kepemilikan objek dan menonaktifkan ACL untuk bucket Anda di Panduan Pengguna Amazon S3.

Untuk menonaktifkan ACL untuk bucket tujuan
  1. Saat masih masuk ke konsol S3 dengan akun tujuan Anda, pilih bucket S3 tempat Anda mentransfer data.

  2. Pada halaman detail bucket, pilih tab Izin.

  3. Di bawah Kepemilikan Objek, pilih Edit.

  4. Jika belum dipilih, pilih opsi ACL dinonaktifkan (disarankan).

  5. Pilih Simpan perubahan.

Langkah 5: Di akun sumber Anda, buat lokasi DataSync sumber untuk penyimpanan lokal

Di akun sumber Anda, buat lokasi DataSync sumber untuk sistem penyimpanan lokal tempat Anda mentransfer data. Lokasi ini menggunakan agen yang Anda aktifkan di akun sumber Anda.

Langkah 6: Di akun sumber Anda, buat lokasi DataSync tujuan untuk bucket S3 Anda

Saat masih berada di akun sumber, buat lokasi untuk bucket S3 tempat Anda mentransfer data.

Sebelum memulai: Pastikan Anda memiliki izin yang diperlukan untuk akun sumber Anda.

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. CloudShell memungkinkan 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
  1. 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.

  2. 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" }'
  3. Ganti destination-bucket dengan nama bucket S3 di akun tujuan Anda.

  4. Ganti source-user-account dengan Akun AWS ID untuk akun sumber Anda.

  5. Ganti source-datasync-role dengan peran DataSync IAM yang Anda buat di akun sumber Anda.

  6. 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" }
  7. Di panel navigasi kiri, perluas Transfer data, lalu pilih Lokasi.

Dari akun sumber Anda, Anda dapat melihat lokasi S3 yang baru saja Anda buat untuk bucket akun tujuan Anda.

Langkah 7: 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 DataSync agen Anda. Agen dapat membaca dari sistem penyimpanan lokal Anda dan berkomunikasi dengan DataSync layanan.

  • Di akun sumber, 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.

Untuk membuat dan memulai DataSync tugas
  1. Saat masih menggunakan DataSync konsol di akun sumber Anda, perluas Transfer data di panel navigasi kiri, lalu pilih Tugas dan Buat tugas.

  2. Pada halaman Konfigurasi lokasi sumber, pilih Pilih lokasi yang ada. Pilih lokasi sumber tempat Anda menyalin data (penyimpanan lokal) lalu Berikutnya.

  3. Pada halaman Konfigurasi lokasi tujuan, pilih Pilih lokasi yang ada. Pilih lokasi tujuan tempat Anda menyalin data (bucket S3 di akun tujuan Anda) lalu Berikutnya.

  4. Pada halaman Konfigurasi pengaturan, beri nama tugas. Jika diperlukan, konfigurasikan pengaturan tambahan, seperti menentukan grup CloudWatch log Amazon. Pilih Selanjutnya.

  5. Pada halaman Tinjauan, tinjau pengaturan Anda dan pilih Buat tugas.

  6. 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 harus melihat data yang dipindahkan dari lokasi sumber Anda.

Sumber daya terkait

Untuk informasi lebih lanjut tentang apa yang Anda lakukan dalam tutorial ini, lihat topik berikut: