Tandai lampiran Transit Gateway secara otomatis menggunakan AWS Organizations - AWS Prescriptive Guidance

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

Tandai lampiran Transit Gateway secara otomatis menggunakan AWS Organizations

Richard Milner-Watts, Haris Bin Ayub, dan John Capps, Amazon Web Services

Ringkasan

Di Amazon Web Services (AWS), Anda dapat menggunakannya AWS Resource Access Manageruntuk berbagi AWS Transit Gatewaylintas Akun AWS batas. Namun, saat Anda membuat lampiran Transit Gateway melintasi batas akun, lampiran dibuat tanpa tag Nama. Itu bisa membuat identifikasi lampiran memakan waktu. 

Solusi ini menyediakan mekanisme otomatis untuk mengumpulkan informasi tentang setiap lampiran Transit Gateway untuk akun dalam organisasi yang dikelola oleh AWS Organizations. Prosesnya termasuk mencari rentang Classless Inter-Domain Routing (CIDR) dari tabel rute Transit Gateway. Solusinya kemudian menerapkan tag Nama dalam bentuk <CIDR-range>-<AccountName> lampiran di dalam akun yang memegang gateway transit.

Solusi ini dapat digunakan bersama solusi seperti Orkestrator Jaringan Transit Tanpa Server dari Perpustakaan Solusi. AWS Orkestrator Jaringan Transit Tanpa Server memungkinkan pembuatan otomatis lampiran Transit Gateway Gateway dalam skala besar.

Prasyarat dan batasan

Prasyarat

  • Aktif Akun AWS

  • AWS Organizations Organisasi yang berisi semua akun terkait

  • Akses ke akun manajemen organisasi, di bawah akar organisasi, untuk membuat peran yang diperlukan AWS Identity and Access Management (IAM)

  • Akun anggota Jaringan Bersama yang berisi satu atau beberapa gateway transit yang dibagikan dengan organisasi dan memiliki lampiran

Arsitektur

Tangkapan layar berikut AWS Management Console menunjukkan contoh lampiran Transit Gateway tanpa tag Nama terkait dan dua lampiran Transit Gateway dengan tag Nama yang dihasilkan oleh solusi ini. Struktur tag Nama yang dihasilkan adalah<CIDR-range>-<AccountName>.

Konsol menampilkan lampiran tanpa tag Nama dan dua lampiran dengan tag Nama.

Solusi ini digunakan AWS CloudFormationuntuk menyebarkan AWS Step Functionsalur kerja yang mengelola pembuatan tag Nama Transit Gateway di semua konfigurasi. Wilayah AWS Alur kerja memanggil AWS Lambdafungsi, yang melakukan tugas yang mendasarinya.

Setelah solusi memperoleh nama akun dari AWS Organizations, mesin status Step Functions mendapatkan semua lampiran Transit Gateway IDs. Ini diproses secara paralel oleh Wilayah. Pemrosesan ini termasuk mencari rentang CIDR untuk setiap lampiran. Rentang CIDR diperoleh dengan mencari tabel rute Transit Gateway di dalam Wilayah untuk ID lampiran Transit Gateway yang cocok. Jika semua informasi yang diperlukan tersedia, solusinya akan menerapkan tag Nama ke lampiran. Solusinya tidak akan menimpa tag Nama yang ada.

Solusinya berjalan pada jadwal yang dikendalikan oleh EventBridge acara Amazon. Acara ini memulai solusi setiap hari pada pukul 6:00 UTC.

Tumpukan teknologi target

  • Amazon EventBridge

  • AWS Lambda

  • AWS Organizations

  • AWS Transit Gateway

  • Amazon Virtual Private Cloud (Amazon VPC)

  • AWS X-Ray

Arsitektur target

Arsitektur solusi dan alur kerja ditunjukkan pada diagram berikut.

Proses sembilan langkah di seluruh jaringan bersama dan akun manajemen organisasi.
  1. Acara yang dijadwalkan memulai aturan.

  2. EventBridge Aturan memulai mesin status Step Functions.

  3. Mesin status memanggil fungsi tgw-tagger-organizations-account-query Lambda.

  4. Fungsi tgw-tagger-organizations-account-query Lambda mengasumsikan peran dalam akun manajemen organisasi.

  5. Fungsi tgw-tagger-organizations-account-query Lambda memanggil Organizations API untuk mengembalikan Akun AWS metadata.

  6. Mesin status memanggil fungsi tgw-tagger-attachment-query Lambda.

  7. Untuk setiap Wilayah, secara paralel, mesin status memanggil fungsi tgw-tagger-rtb-query Lambda untuk membaca rentang CIDR untuk setiap lampiran.

  8. Untuk setiap Wilayah, secara paralel, mesin status memanggil fungsi tgw-tagger-attachment-tagger Lambda.

  9. Tag nama dibuat untuk lampiran Transit Gateway di akun Jaringan Bersama.

Otomatisasi dan skala

Solusi memproses setiap Wilayah secara paralel untuk mengurangi total durasi proses.

Alat

Layanan AWS

  • AWS CloudFormationmenyediakan cara untuk memodelkan kumpulan sumber daya terkait AWS dan pihak ketiga, menyediakannya dengan cepat dan konsisten, dan mengelolanya sepanjang siklus hidup mereka, dengan memperlakukan infrastruktur sebagai kode.

  • Amazon CloudWatch membantu Anda memantau metrik sumber daya AWS Anda dan aplikasi yang Anda jalankan AWS secara real time.

  • Amazon EventBridge adalah layanan bus acara tanpa server yang dapat Anda gunakan untuk menghubungkan aplikasi Anda dengan data dari berbagai sumber. EventBridge menerima peristiwa, indikator perubahan lingkungan, dan menerapkan aturan untuk merutekan acara ke target. Aturan mencocokkan peristiwa dengan target berdasarkan struktur peristiwa, yang disebut pola peristiwa, atau sesuai jadwal.

  • AWS Lambdaadalah layanan komputasi yang mendukung menjalankan kode tanpa menyediakan atau mengelola server. Lambda menjalankan kode Anda hanya bila diperlukan dan menskalakan secara otomatis, dari beberapa permintaan setiap hari hingga ribuan setiap detik. Anda hanya membayar untuk waktu komputasi yang Anda konsumsi. Tidak ada biaya ketika kode Anda tidak berjalan.

  • AWS Organizationsmembantu Anda mengelola dan mengatur lingkungan Anda secara terpusat saat Anda tumbuh dan meningkatkan sumber daya Anda AWS . Dengan menggunakan Organizations, Anda dapat membuat sumber daya baru Akun AWS dan mengalokasikan sumber daya secara terprogram, mengelompokkan akun untuk mengatur alur kerja, menerapkan kebijakan ke akun atau grup untuk tata kelola, dan menyederhanakan penagihan dengan menggunakan satu metode pembayaran untuk semua akun Anda.

  • AWS Step Functionsadalah layanan alur kerja visual kode rendah yang digunakan untuk mengatur, mengotomatiskan proses bisnis Layanan AWS, dan membangun aplikasi tanpa server. Alur kerja mengelola kegagalan, percobaan ulang, paralelisasi, integrasi layanan, dan observabilitas sehingga pengembang dapat fokus pada logika bisnis bernilai lebih tinggi.

  • AWS Transit Gatewaymenghubungkan VPCs dan jaringan lokal melalui hub pusat. Ini menyederhanakan jaringan Anda dan mengakhiri hubungan peering yang kompleks. Ini bertindak sebagai router cloud, sehingga setiap koneksi baru dibuat hanya satu kali.

  • Amazon Virtual Private Cloud (Amazon VPC) adalah layanan untuk meluncurkan AWS sumber daya dalam jaringan virtual yang terisolasi secara logis yang Anda tentukan.

  • AWS X-Raymengumpulkan data tentang permintaan yang disajikan aplikasi Anda, dan menyediakan alat yang dapat Anda gunakan untuk melihat, memfilter, dan mendapatkan wawasan tentang data tersebut guna mengidentifikasi masalah dan peluang pengoptimalan.

Kode

Kode sumber untuk solusi ini tersedia di GitHub repositori Tagger Lampiran Transit Gateway. Repositori mencakup file-file berikut:

  • tgw-attachment-tagger-main-stack.yamlmembuat semua sumber daya untuk mendukung solusi ini dalam akun Shared Networking.

  • tgw-attachment-tagger-organizations-stack.yamlmenciptakan peran dalam akun manajemen organisasi.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Kumpulkan informasi prasyarat yang diperlukan.

Untuk mengonfigurasi akses lintas akun dari fungsi Lambda AWS Organizations ke API, Anda memerlukan ID akun untuk akun manajemen organisasi.

catatan

Urutan pembuatan kedua AWS CloudFormation tumpukan itu penting. Anda harus menyebarkan sumber daya ke akun Shared Networking terlebih dahulu. Peran dalam akun Jaringan Bersama harus sudah ada sebelum menyebarkan sumber daya ke akun manajemen organisasi. Lihat informasi yang lebih lengkap dalam dokumentasi AWS.

DevOps insinyur

Luncurkan AWS CloudFormation template untuk tumpukan solusi utama.

Template untuk tumpukan solusi utama akan menerapkan peran IAM, alur kerja Step Functions, fungsi Lambda, dan acara Amazon. CloudWatch

Buka akun AWS Management Console untuk Shared Networking, lalu buka konsol: &CFN.  Buat tumpukan dengan menggunakan tgw-attachment-tagger-main-stack.yaml template dan nilai-nilai berikut:  

  • Nama tumpukantgw-attachment-tagger-main-stack 

  • awsOrganizationsRootAccountId— ID Akun untuk akun manajemen organisasi

  • TGWRegionsparameter — Wilayah AWS untuk solusi, dimasukkan sebagai string yang dibatasi koma

  • TGWListparameter — Transit gateway IDs untuk dikecualikan dari solusi, dimasukkan dalam string yang dibatasi koma

Untuk informasi selengkapnya tentang meluncurkan AWS CloudFormation tumpukan, lihat AWS dokumentasi.

DevOps insinyur

Verifikasi bahwa solusi telah berhasil diluncurkan.

Tunggu CloudFormation tumpukan mencapai status CREATE_COMPLETE. Ini akan memakan waktu kurang dari satu menit.

Buka konsol Step Functions, dan verifikasi bahwa mesin status baru telah dibuat dengan nama tgw-attachment-tagger-state-machine.

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Kumpulkan informasi prasyarat yang diperlukan.

Untuk mengonfigurasi akses lintas akun dari fungsi Lambda ke AWS Organizations API, Anda memerlukan ID akun untuk akun Shared Networking.

DevOps insinyur

Luncurkan CloudFormation template untuk tumpukan Organizations

Template untuk tumpukan AWS Organizations akan menerapkan peran IAM di akun manajemen organisasi. 

Akses konsol AWS untuk akun manajemen organisasi. lalu buka CloudFormation konsol.  Buat tumpukan dengan menggunakan tgw-attachment-tagger-organizations-stack.yaml template dan nilai-nilai berikut:

  • Nama tumpukantgw-attachment-tagger-organizations-stack

  • NetworkingAccountIdparameter — ID Akun untuk akun Shared Networking 

Untuk opsi pembuatan tumpukan lainnya, gunakan default.

DevOps insinyur

Verifikasi bahwa solusi telah berhasil diluncurkan.

Tunggu AWS CloudFormation tumpukan mencapai status CREATE_COMPLETE. Ini akan memakan waktu kurang dari satu menit.

Buka konsol AWS Identity and Access Management (IAM), dan verifikasi bahwa peran baru telah dibuat dengan nama tgw-attachment-tagger-organization-query-role.

DevOps insinyur
TugasDeskripsiKeterampilan yang dibutuhkan

Jalankan mesin negara.

Buka konsol Step Functions untuk akun Shared Networking, dan pilih State machine di panel navigasi.

Pilih state machine tgw-attachment-tagger-state-machine, dan pilih Start Execution.  

Karena input ke mesin status ini tidak digunakan oleh solusi, Anda dapat menggunakan nilai default.

{ "Comment": "Insert your JSON here" }

Pilih Mulai Eksekusi.

DevOps insinyur

Perhatikan mesin negara sampai selesai.

Pada halaman baru yang terbuka, Anda dapat menonton mesin status berjalan. Durasi akan tergantung pada jumlah lampiran Transit Gateway yang akan diproses.

Di halaman ini, Anda dapat memeriksa setiap langkah mesin negara. Anda dapat melihat berbagai tugas dalam mesin negara dan mengikuti tautan ke CloudWatch log untuk fungsi Lambda. Untuk tugas yang berjalan secara paralel dalam peta, Anda dapat menggunakan daftar dropdown Indeks untuk melihat implementasi spesifik untuk setiap Wilayah.

DevOps insinyur

Verifikasi tag lampiran Transit Gateway.

Buka konsol VPC untuk akun Shared Networking, dan pilih Lampiran Transit Gateway.  Di konsol, tag Nama disediakan untuk lampiran yang memenuhi kriteria (lampiran disebarkan ke tabel rute Transit Gateway, dan pemilik sumber daya adalah anggota organisasi).

DevOps insinyur

Verifikasi inisiasi CloudWatch acara.

Tunggu CloudWatch acara dimulai. Ini dijadwalkan untuk 06:00 UTC. 

Kemudian buka konsol Step Functions untuk akun Shared Networking, dan pilih State machines di panel navigasi.

Pilih mesin negara tgw-attachment-tagger-state-mesin. Verifikasi bahwa solusi berjalan pada pukul 06:00 UTC.

DevOps insinyur

Sumber daya terkait