Sinkronisasi data antara sistem file Amazon EFS di Wilayah AWS yang berbeda dengan menggunakan AWS DataSync - AWS Prescriptive Guidance

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

Sinkronisasi data antara sistem file Amazon EFS di Wilayah AWS yang berbeda dengan menggunakan AWS DataSync

Sarat Chandra Pothula dan Aditya Ambati, Amazon Web Services

Ringkasan

Solusi ini menyediakan kerangka kerja yang kuat untuk sinkronisasi data yang efisien dan aman antara instans Amazon Elastic File System (Amazon EFS) di Wilayah AWS yang berbeda. Pendekatan ini dapat diskalakan dan menyediakan replikasi data lintas wilayah yang terkontrol. Solusi ini dapat meningkatkan pemulihan bencana dan strategi redundansi data Anda.

Dengan menggunakan AWS Cloud Development Kit (AWS CDK), pola ini digunakan sebagai pendekatan infrastruktur sebagai kode (IAc) untuk menerapkan sumber daya solusi. Aplikasi AWS CDK menerapkan sumber daya AWS, DataSync Amazon EFS, Amazon Virtual Private Cloud (Amazon VPC), dan Amazon Elastic Compute Cloud (Amazon) yang penting. EC2 IAc ini menyediakan proses penerapan yang dapat diulang dan dikontrol versi yang sepenuhnya selaras dengan praktik terbaik AWS.

Prasyarat dan batasan

Prasyarat

Batasan

  • Solusi ini mewarisi batasan dari DataSync dan Amazon EFS, seperti kecepatan transfer data, batasan ukuran, dan ketersediaan regional. Untuk informasi selengkapnya, lihat DataSync kuota AWS dan kuota Amazon EFS.

  • Solusi ini hanya mendukung Amazon EFS. DataSync mendukung layanan AWS lainnya, seperti Amazon Simple Storage Service (Amazon S3) dan FSx Amazon for Lustre. Namun, solusi ini memerlukan modifikasi untuk menyinkronkan data dengan layanan lain ini.

Arsitektur

Diagram arsitektur untuk mereplikasi data ke sistem file EFS di Wilayah yang berbeda

Solusi ini menerapkan tumpukan AWS CDK berikut:

  • Tumpukan VPC Amazon — Tumpukan ini menyiapkan sumber daya virtual private cloud (VPC), termasuk subnet, gateway internet, dan gateway NAT di Wilayah AWS primer dan sekunder.

  • Tumpukan Amazon EFS — Tumpukan ini menyebarkan sistem file Amazon EFS ke Wilayah primer dan sekunder dan menghubungkannya ke masing-masing VPCs.

  • EC2 Tumpukan Amazon — Tumpukan ini meluncurkan EC2 instance di Wilayah primer dan sekunder. Instans ini dikonfigurasi untuk memasang sistem file Amazon EFS, yang memungkinkan mereka mengakses penyimpanan bersama.

  • DataSync tumpukan lokasi — Tumpukan ini menggunakan konstruksi khusus yang dipanggil DataSyncLocationConstruct untuk membuat sumber daya DataSync lokasi di Wilayah primer dan sekunder. Sumber daya ini menentukan titik akhir untuk sinkronisasi data.

  • DataSync tumpukan tugas - Tumpukan ini menggunakan konstruksi khusus yang dipanggil DataSyncTaskConstruct untuk membuat DataSync tugas di Wilayah utama. Tugas ini dikonfigurasi untuk menyinkronkan data antara Wilayah primer dan sekunder dengan menggunakan lokasi DataSync sumber dan tujuan.

Alat

Layanan AWS

  • AWS Cloud Development Kit (AWS CDK) adalah kerangka kerja pengembangan perangkat lunak yang membantu Anda menentukan dan menyediakan infrastruktur AWS Cloud dalam kode.

  • AWS DataSync adalah layanan transfer dan penemuan data online yang membantu Anda memindahkan file atau data objek ke, dari, dan di antara layanan penyimpanan AWS.

  • Amazon Elastic Compute Cloud (Amazon EC2) menyediakan kapasitas komputasi yang dapat diskalakan di AWS Cloud. Anda dapat meluncurkan server virtual sebanyak yang Anda butuhkan dan dengan cepat meningkatkannya ke atas atau ke bawah.

  • Amazon Elastic File System (Amazon EFS) membantu Anda membuat dan mengonfigurasi sistem file bersama di AWS Cloud.

  • Amazon Virtual Private Cloud (Amazon VPC) membantu Anda meluncurkan sumber daya AWS ke jaringan virtual yang telah Anda tentukan. Jaringan virtual ini menyerupai jaringan tradisional yang akan Anda operasikan di pusat data Anda sendiri, dengan manfaat menggunakan infrastruktur AWS yang dapat diskalakan.

Repositori kode

Kode untuk pola ini tersedia di repositori DataSync Proyek Lintas Wilayah GitHub Amazon EFS.

Praktik terbaik

Ikuti praktik terbaik yang dijelaskan dalam Praktik terbaik untuk menggunakan AWS CDK TypeScript untuk membuat proyek IAc.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Kloning repositori proyek.

Masukkan perintah berikut untuk mengkloning repositori DataSync Proyek Lintas Wilayah Amazon EFS.

git clone https://github.com/aws-samples/aws-efs-crossregion-datasync.git
AWS DevOps

Instal dependensi npm.

Masukkan perintah berikut.

npm ci
AWS DevOps

Pilih Wilayah primer dan sekunder.

Di repositori kloning, arahkan ke direktori. src/infa Dalam Launcher.ts file, perbarui PRIMARY_AWS_REGION dan SECONDARY_AWS_REGION nilai. Gunakan kode Wilayah yang sesuai.

const primaryRegion = { account: account, region: '<PRIMARY_AWS_REGION>' }; const secondaryRegion = { account: account, region: '<SECONDARY_AWS_REGION>' };
AWS DevOps

Bootstrap lingkungan.

Masukkan perintah berikut untuk mem-bootstrap akun AWS dan Wilayah AWS yang ingin Anda gunakan.

cdk bootstrap <aws_account>/<aws_region>

Untuk informasi selengkapnya, lihat Bootstrapping di dokumentasi AWS CDK.

AWS DevOps

Buat daftar tumpukan AWS CDK.

Masukkan perintah berikut untuk melihat daftar tumpukan AWS CDK di aplikasi.

cdk ls
AWS DevOps

Sintesis tumpukan AWS CDK.

Masukkan perintah berikut untuk menghasilkan CloudFormation template AWS untuk setiap tumpukan yang ditentukan dalam aplikasi AWS CDK.

cdk synth
AWS DevOps

Menerapkan aplikasi AWS CDK.

Masukkan perintah berikut untuk menerapkan semua tumpukan ke akun AWS Anda, tanpa memerlukan persetujuan manual untuk perubahan apa pun.

cdk deploy --all --require-approval never
AWS DevOps
TugasDeskripsiKeterampilan yang dibutuhkan

Masuk ke EC2 instance di Wilayah utama.

  1. Menggunakan Session Manager, kemampuan AWS Systems Manager, masuk ke EC2 instans di Wilayah utama. Untuk petunjuk, lihat Connect ke instans Linux Anda dengan AWS Systems Manager Session Manager.

  2. Ubah direktori ke jalur pemasangan Amazon EFS.

    cd /mnt/efs
AWS DevOps

Buat file sementara.

Masukkan perintah berikut untuk membuat file sementara di jalur pemasangan Amazon EFS.

sudo dd if=/dev/zero \ of=tmptst.dat \ bs=1G \ seek=5 \ count=0 ls -lrt tmptst.dat
AWS DevOps

Mulai DataSync tugas.

Masukkan perintah berikut untuk mereplikasi file sementara dari Wilayah utama ke Wilayah sekunder, di mana <ARN-task> adalah Nama Sumber Daya Amazon (ARN) tugas Anda. DataSync

aws datasync start-task-execution \ --task-arn <ARN-task>

Perintah mengembalikan ARN dari eksekusi tugas dalam format berikut.

arn:aws:datasync:<region>:<account-ID>:task/task-execution/<exec-ID>

AWS DevOps

Periksa status transfer data.

Masukkan perintah berikut untuk menggambarkan tugas DataSync eksekusi, di <ARN-task-execution> mana ARN dari eksekusi tugas.

aws datasync describe-task-execution \ --task-execution-arn <ARN-task-execution>

DataSync Tugas selesai ketikaPrepareStatus,TransferStatus, dan VerifyStatus semua memiliki nilaiSUCCESS.

AWS DevOps

Masuk ke EC2 instance di Wilayah sekunder.

  1. Menggunakan Session Manager, kemampuan AWS Systems Manager, masuk ke EC2 instans di Wilayah sekunder. Untuk petunjuk, lihat Connect ke instans Linux Anda dengan AWS Systems Manager Session Manager.

  2. Ubah direktori ke jalur pemasangan Amazon EFS.

    cd /mnt/efs
AWS DevOps

Validasi replikasi.

Masukkan perintah berikut untuk memverifikasi bahwa file sementara ada di sistem file Amazon EFS.

ls -lrt tmptst.dat
AWS DevOps

Sumber daya terkait

Dokumentasi AWS

Sumber daya AWS lainnya