Gunakan Availability Zone yang konsisten VPCs di berbagai akun AWS - AWS Prescriptive Guidance

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

Gunakan Availability Zone yang konsisten VPCs di berbagai akun AWS

Adam Spicer, Amazon Web Services

Ringkasan

Di Amazon Web Services (AWS) Cloud, Availability Zone memiliki nama yang dapat bervariasi antara akun AWS Anda dan ID Availability Zone (ID AZ) yang mengidentifikasi lokasinya. Jika Anda menggunakan AWS CloudFormation untuk membuat virtual private cloud (VPCs), Anda harus menentukan nama atau ID Availability Zone saat membuat subnet. Jika Anda membuat VPCs di beberapa akun, nama Availability Zone diacak, yang berarti subnet menggunakan Availability Zone yang berbeda di setiap akun. 

Untuk menggunakan Availability Zone yang sama di seluruh akun Anda, Anda harus memetakan nama Availability Zone di setiap akun ke ID AZ yang sama. Misalnya, diagram berikut menunjukkan bahwa ID use1-az6 AZ diberi nama us-east-1a di akun AWS A dan us-east-1c di akun AWS Z.

ID AZ use1-az6 diberi nama us-east-1a di akun AWS A dan us-east-1c di akun AWS Z.

Pola ini membantu memastikan konsistensi zona dengan menyediakan solusi lintas akun yang dapat diskalakan untuk menggunakan Availability Zone yang sama di subnet Anda. Konsistensi zona memastikan bahwa lalu lintas jaringan lintas akun Anda menghindari jalur jaringan Zona Ketersediaan Lintas, yang membantu mengurangi biaya transfer data dan menurunkan latensi jaringan di antara beban kerja Anda.

Pola ini merupakan pendekatan alternatif untuk CloudFormation AvailabilityZoneId properti AWS.

Prasyarat dan batasan

Prasyarat

  • Setidaknya dua akun AWS aktif di Wilayah AWS yang sama.

  • Evaluasi berapa banyak Availability Zone yang diperlukan untuk mendukung persyaratan VPC Anda di Region.

  • Identifikasi dan catat ID AZ untuk setiap Availability Zone yang perlu Anda dukung. Untuk informasi selengkapnya tentang hal ini, lihat Availability Zone IDs untuk sumber daya AWS Anda di dokumentasi AWS Resource Access Manager.  

  • Daftar AZ Anda yang dipesan dan dipisahkan koma. IDs Misalnya, Availability Zone pertama pada daftar Anda dipetakan sebagaiaz1, Availbility Zone kedua dipetakan sebagaiaz2, dan struktur pemetaan ini berlanjut hingga daftar yang dipisahkan koma Anda sepenuhnya dipetakan. Tidak ada jumlah maksimum AZ IDs yang dapat dipetakan. 

  • az-mapping.yamlFile dari repositori pemetaan Zona Ketersediaan GitHub Multi-akun, disalin ke mesin lokal Anda

Arsitektur

Diagram berikut menunjukkan arsitektur yang diterapkan di akun dan yang menciptakan nilai AWS Systems Manager Parameter Store. Nilai Parameter Store ini dikonsumsi saat Anda membuat VPC di akun.

Alur kerja untuk membuat nilai Systems Manager Parameter Store untuk setiap ID AZ dan menyimpan nama AZ.

Diagram menunjukkan alur kerja berikut:

  1. Solusi pola ini diterapkan ke semua akun yang memerlukan konsistensi zona untuk VPC. 

  2. Solusi ini membuat nilai Parameter Store untuk setiap ID AZ dan menyimpan nama Availability Zone yang baru. 

  3. CloudFormation Template AWS menggunakan nama Availability Zone yang disimpan di setiap nilai Parameter Store dan ini memastikan konsistensi zona.

Diagram berikut menunjukkan alur kerja untuk membuat VPC dengan solusi pola ini.

Alur kerja mengirimkan CloudFormation template untuk membuat VPC dengan AZ yang benar. IDs

Diagram menunjukkan alur kerja berikut:

  1. Kirim template untuk membuat VPC ke AWS. CloudFormation

  2. AWS CloudFormation menyelesaikan nilai Parameter Store untuk setiap Availability Zone dan mengembalikan nama Availability Zone untuk setiap ID AZ.

  3. VPC dibuat dengan AZ yang benar yang IDs diperlukan untuk konsistensi zona.

Setelah menerapkan solusi pola ini, Anda dapat membuat subnet yang mereferensikan nilai Parameter Store. Jika Anda menggunakan AWS CloudFormation, Anda dapat mereferensikan nilai parameter pemetaan Availability Zone dari kode sampel berformat YAML berikut:

Resources: PrivateSubnet1AZ1: Type: AWS::EC2::Subnet Properties: VpcId: !Ref VPC CidrBlock: !Ref PrivateSubnetAZ1CIDR AvailabilityZone: !Join - '' - - '{{resolve:ssm:/az-mapping/az1:1}}'

Kode contoh ini terdapat dalam vpc-example.yaml  file dari repositori pemetaan Zona Ketersediaan GitHub Multi-akun. Ini menunjukkan cara membuat VPC dan subnet yang sejajar dengan nilai Parameter Store untuk konsistensi zona.

Tumpukan teknologi

  • AWS CloudFormation

  • AWS Lambda

  • AWS Systems Manager Parameter Store

Otomatisasi dan skala

Anda dapat menerapkan pola ini ke semua akun AWS Anda dengan menggunakan AWS CloudFormation StackSets atau solusi Kustomisasi untuk AWS Control Tower. Untuk informasi selengkapnya, lihat Bekerja dengan AWS CloudFormation StackSets dalam dokumentasi AWS Cloudformation dan Kustomisasi untuk AWS Control Tower di AWS Solutions Library. 

Setelah menerapkan CloudFormation template AWS, Anda dapat memperbaruinya untuk menggunakan nilai Parameter Store dan menerapkan VPCs di pipeline atau sesuai dengan kebutuhan Anda. 

Alat

Layanan AWS

  • AWS CloudFormation membantu Anda memodelkan dan menyiapkan sumber daya AWS Anda, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya. Anda dapat menggunakan template untuk mendeskripsikan sumber daya Anda dan dependensinya, dan meluncurkan dan mengonfigurasinya bersama-sama sebagai tumpukan, alih-alih mengelola sumber daya secara individual. Anda dapat mengelola dan menyediakan tumpukan di beberapa akun AWS dan Wilayah AWS.

  • AWS Lambda adalah layanan komputasi yang mendukung menjalankan kode tanpa menyediakan atau mengelola server. Lambda menjalankan kode Anda hanya saat diperlukan dan menskalakan secara otomatis, dari beberapa permintaan per hari hingga ribuan per detik. Anda hanya membayar untuk waktu komputasi yang Anda gunakan—tidak ada biaya saat kode Anda tidak berjalan.

  • AWS Systems Manager Parameter Store adalah kemampuan AWS Systems Manager. Ini menyediakan penyimpanan hierarkis yang aman untuk manajemen data konfigurasi dan manajemen rahasia.

Kode

Kode untuk pola ini disediakan di repositori pemetaan Zona Ketersediaan GitHub Multi-akun.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Tentukan Availability Zone yang diperlukan untuk Wilayah tersebut.

  1. Tentukan AZ IDs yang harus digunakan secara konsisten di Wilayah Anda. 

  2. Rekam AZ ini IDs dalam daftar yang dipisahkan koma dan dalam urutan yang Anda inginkan untuk diterapkan. Misalnya, Availability Zone pertama pada daftar Anda dipetakan sebagai az1 dan yang kedua dipetakan sebagai. az2 Tidak ada jumlah maksimum AZ IDs yang dapat dipetakan.

Arsitek awan

Terapkan file az-mapping.yaml.

Gunakan az-mapping.yaml file untuk membuat CloudFormation tumpukan AWS di semua akun AWS yang diperlukan. Dalam AZIds parameter, gunakan daftar dipisahkan koma yang Anda buat sebelumnya. 

Kami menyarankan Anda menggunakan AWS CloudFormation StackSets atau Kustomisasi untuk AWS Control Tower Solution.

Arsitek awan
TugasDeskripsiKeterampilan yang dibutuhkan

Kustomisasi CloudFormation templat AWS.

Saat Anda membuat subnet menggunakan AWS CloudFormation, sesuaikan templat untuk menggunakan nilai Parameter Store yang Anda buat sebelumnya.

Untuk contoh templat, lihat vpc-example.yaml file di repositori pemetaan Zona Ketersediaan GitHub Multi-akun.

Arsitek awan

Menyebarkan. VPCs

Terapkan CloudFormation templat AWS yang disesuaikan ke akun Anda. Setiap VPC di Wilayah kemudian memiliki konsistensi zona di Availability Zone yang digunakan untuk subnet

Arsitek awan

Sumber daya terkait