Menerapkan sistem file Lustre untuk pemrosesan data berkinerja tinggi dengan menggunakan Terraform dan DRA - AWS Prescriptive Guidance

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

Menerapkan sistem file Lustre untuk pemrosesan data berkinerja tinggi dengan menggunakan Terraform dan DRA

Arun Bagal dan Ishwar Chathaiwale, Amazon Web Services

Ringkasan

Pola ini secara otomatis menerapkan sistem file Lustre AWS dan mengintegrasikannya dengan Amazon Elastic Compute Cloud (Amazon EC2) dan Amazon Simple Storage Service (Amazon S3).

Solusi ini membantu Anda mengatur lingkungan komputasi kinerja tinggi (HPC) dengan cepat dengan penyimpanan terintegrasi, sumber daya komputasi, dan akses data Amazon S3. Ini menggabungkan kemampuan penyimpanan Lustre dengan opsi komputasi fleksibel yang disediakan oleh Amazon EC2 dan penyimpanan objek yang dapat diskalakan di Amazon S3, sehingga Anda dapat mengatasi beban kerja intensif data dalam pembelajaran mesin, HPC, dan analitik data besar.

Pola menggunakan modul HashiCorp Terraform dan Amazon FSx for Lustre untuk merampingkan proses berikut:

  • Penyediaan sistem file Lustre

  • Membuat asosiasi repositori data (DRA) antara Lustre dan bucket S3 FSx untuk menautkan sistem file Lustre dengan objek Amazon S3

  • Membuat sebuah EC2 instance

  • Memasang sistem file Lustre dengan DRA terkait Amazon S3 pada instans EC2

Manfaat dari solusi ini meliputi:

  • Desain modular. Anda dapat dengan mudah memelihara dan memperbarui komponen individual dari solusi ini.

  • Skalabilitas. Anda dapat dengan cepat menerapkan lingkungan yang konsisten di seluruh Akun AWS atau Wilayah.

  • Fleksibilitas. Anda dapat menyesuaikan penerapan agar sesuai dengan kebutuhan spesifik Anda.

  • Praktik terbaik. Pola ini menggunakan modul yang telah dikonfigurasi sebelumnya yang mengikuti praktik AWS terbaik.

Untuk informasi lebih lanjut tentang sistem file Lustre, lihat situs web Lustre.

Prasyarat dan batasan

Prasyarat

Batasan

FSx untuk Lustre membatasi sistem file Lustre ke satu Availability Zone, yang bisa menjadi perhatian jika Anda memiliki persyaratan ketersediaan yang tinggi. Jika Availability Zone yang berisi sistem file gagal, akses ke sistem file hilang sampai pemulihan. Untuk mencapai ketersediaan tinggi, Anda dapat menggunakan DRA untuk menautkan sistem file Lustre dengan Amazon S3, dan mentransfer data antara Availability Zones.

Versi produk

Arsitektur

Diagram berikut menunjukkan arsitektur FSx untuk Lustre dan komplementer Layanan AWS dalam. AWS Cloud

FSx untuk penerapan Lustre dengan AWS KMS, Amazon, Amazon Log, CloudWatch dan EC2 Amazon S3.

Arsitekturnya meliputi:

  • Bucket S3 digunakan sebagai lokasi penyimpanan data yang tahan lama, terukur, dan hemat biaya. Integrasi antara FSx untuk Lustre dan Amazon S3 menyediakan sistem file berkinerja tinggi yang terhubung secara mulus dengan Amazon S3.

  • FSx untuk Lustre menjalankan dan mengelola sistem file Lustre.

  • Amazon CloudWatch Logs mengumpulkan dan memantau data log dari sistem file. Log ini memberikan wawasan tentang kinerja, kesehatan, dan aktivitas sistem file Lustre Anda.

  • Amazon EC2 digunakan untuk mengakses sistem file Lustre dengan menggunakan klien Lustre open source. EC2 instance dapat mengakses sistem file dari Availability Zone lain dalam virtual private cloud (VPC) yang sama. Konfigurasi jaringan memungkinkan akses di seluruh subnet dalam VPC. Setelah sistem file Lustre dipasang pada instance, Anda dapat bekerja dengan file dan direktorinya sama seperti Anda akan menggunakan sistem file lokal.

  • AWS Key Management Service (AWS KMS) meningkatkan keamanan sistem file dengan menyediakan enkripsi untuk data saat istirahat.

Otomatisasi dan skala

Terraform memudahkan penerapan, pengelolaan, dan skala sistem file Lustre Anda di berbagai lingkungan. FSx Untuk Lustre, satu sistem file memiliki batasan ukuran, jadi Anda mungkin perlu menskalakan secara horizontal dengan membuat beberapa sistem file. Anda dapat menggunakan Terraform untuk menyediakan beberapa sistem file Lustre berdasarkan kebutuhan beban kerja Anda.

Alat

Layanan AWS

  • Amazon CloudWatch Logs membantu Anda memusatkan log dari semua sistem, aplikasi, Layanan AWS sehingga Anda dapat memantau dan mengarsipkannya dengan aman.

  • 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 FSx for Lustre memudahkan dan hemat biaya untuk meluncurkan, menjalankan, dan menskalakan sistem file Lustre berkinerja tinggi.

  • AWS Key Management Service (AWS KMS) membantu Anda membuat dan mengontrol kunci kriptografi untuk membantu melindungi data Anda.

  • Amazon Simple Storage Service (Amazon S3) adalah layanan penyimpanan objek berbasis cloud yang membantu Anda menyimpan, melindungi, dan mengambil sejumlah data.

Repositori kode

Kode untuk pola ini tersedia di GitHub Provision FSx for Lustre Filesystem menggunakan repositori Terraform.

Praktik terbaik

  • Variabel berikut mendefinisikan sistem file Lustre. Pastikan untuk mengonfigurasi ini dengan benar berdasarkan lingkungan Anda, seperti yang diinstruksikan di bagian Epik.

    • storage_capacity— Kapasitas penyimpanan sistem file Lustre, di. GiBs Pengaturan minimum dan default adalah 1200 GiB.

    • deployment_type— Jenis penyebaran untuk sistem file Lustre. Untuk penjelasan tentang dua opsi, PERSISTENT_1 dan PERSISTENT_2 (default), lihat dokumentasi FSx untuk Lustre.

    • per_unit_storage_throughput— Throughput baca dan tulis, dalam MBs per detik per TiB.  

    • subnet_id— ID subnet pribadi tempat Anda ingin menyebarkan FSx untuk Lustre.

    • vpc_id— ID cloud pribadi virtual Anda di AWS tempat yang ingin Anda gunakan FSx untuk Lustre.

    • data_repository_path— Jalur ke bucket S3 yang akan ditautkan ke sistem file Lustre.

    • iam_instance_profile— Profil instans IAM yang digunakan untuk meluncurkan EC2 instance.

    • kms_key_id— Nama Sumber Daya Amazon (ARN) dari AWS KMS kunci yang akan digunakan untuk enkripsi data.

  • Pastikan akses dan penempatan jaringan yang tepat di dalam VPC dengan menggunakan variabel security_group danvpc_id.

  • Jalankan terraform plan perintah seperti yang dijelaskan di bagian Epik untuk melihat pratinjau dan memverifikasi perubahan sebelum menerapkannya. Ini membantu menangkap potensi masalah dan memastikan bahwa Anda mengetahui apa yang akan digunakan.

  • Gunakan terraform validate perintah seperti yang dijelaskan di bagian Epics untuk memeriksa kesalahan sintaks dan untuk mengonfirmasi bahwa konfigurasi Anda benar.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Instal Terraform.

Untuk menginstal Terraform di mesin lokal Anda, ikuti instruksi dalam dokumentasi Terraform.

AWS DevOps, DevOps insinyur

Siapkan AWS kredensil.

Untuk mengatur profil AWS Command Line Interface (AWS CLI) untuk akun, ikuti instruksi dalam AWS dokumentasi.

AWS DevOps, DevOps insinyur

Kloning GitHub repositori.

Untuk mengkloning GitHub repositori, jalankan perintah:

git clone https://github.com/aws-samples/provision-fsx-lustre-with-terraform.git
AWS DevOps, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Perbarui konfigurasi penerapan.

  1. Di repositori kloning di mesin lokal Anda, navigasikan ke direktori: fsx_deployment

    cd fsx_deployment
  2. Buka terraform.tfvars file, dan perbarui nilai variabel berikut:

    • vpc_id

    • subnet_id

    • data_repository_path

    • iam_instance_profile

    • kms_key_id

    Untuk deskripsi variabel-variabel ini, lihat bagian Praktik terbaik.

  3. Di direktori yang sama, buka locals.tf file dan perbarui rentang CIDR untuk variabel grup fsx_inress dan fsx_egress keamanan.

  4. Jika diperlukan, buka variables.tf file dan perbarui nilai default dari variabel-variabel ini:

    • storage_capacity

    • deployment_type

    • per_unit_storage_throughput

    Untuk deskripsi variabel-variabel ini, lihat bagian Praktik terbaik.

AWS DevOps, DevOps insinyur

Inisialisasi lingkungan Terraform.

Untuk menginisialisasi lingkungan Anda untuk menjalankan fsx_deployment modul Terraform, jalankan:

terraform init
AWS DevOps, DevOps insinyur

Validasi sintaks Terraform.

Untuk memeriksa kesalahan sintaks dan untuk mengonfirmasi bahwa konfigurasi Anda benar, jalankan:

terraform validate
AWS DevOps, DevOps insinyur

Validasi konfigurasi Terraform.

Untuk membuat rencana eksekusi Terraform dan melihat pratinjau penerapan, jalankan:

terraform plan -var-file terraform.tfvars
AWS DevOps, DevOps insinyur

Terapkan modul Terraform.

Untuk menerapkan sumber daya FSx Lustre, jalankan:

terraform apply -var-file terraform.tfvars
AWS DevOps, DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Hapus AWS sumber daya.

Setelah Anda selesai menggunakan lingkungan FSx for Lustre, Anda dapat menghapus AWS sumber daya yang digunakan oleh Terraform untuk menghindari biaya yang tidak perlu. Modul Terraform yang disediakan dalam repositori kode mengotomatiskan pembersihan ini.

  1. Di repositori lokal Anda, arahkan ke direktori: fsx_deployment

    cd fsx_deployment
  2. Jalankan perintah :

    terraform destroy -var-file terraform.tfvars
AWS DevOps, DevOps insinyur

Pemecahan Masalah

IsuSolusi

FSx untuk Lustre mengembalikan kesalahan.

FSx Untuk bantuan terkait masalah Lustre, lihat Memecahkan Masalah FSx Amazon for Lustre di dokumentasi for Lustre. FSx

Sumber daya terkait