Implementasikan Account Factory for Terraform (AFT) dengan menggunakan pipeline bootstrap - AWS Prescriptive Guidance

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

Implementasikan Account Factory for Terraform (AFT) dengan menggunakan pipeline bootstrap

Vinicius Elias dan Edgar Costa Filho, Amazon Web Services

Ringkasan

Pemberitahuan: AWS CodeCommit tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada AWS CodeCommit dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya

Pola ini menyediakan metode sederhana dan aman untuk menerapkan AWS Control Tower Account Factory for Terraform (AFT) dari akun manajemen. AWS Organizations Inti dari solusi ini adalah AWS CloudFormation template yang mengotomatiskan konfigurasi AFT dengan membuat pipeline Terraform, yang disusun agar mudah beradaptasi untuk penerapan awal atau pembaruan berikutnya.

Keamanan dan integritas data adalah prioritas utama di AWS, sehingga file status Terraform, yang merupakan komponen penting yang melacak status infrastruktur dan konfigurasi terkelola, disimpan dengan aman di bucket Amazon Simple Storage Service (Amazon S3). Bucket ini dikonfigurasi dengan beberapa langkah keamanan, termasuk enkripsi sisi server dan kebijakan untuk memblokir akses publik, untuk membantu memastikan bahwa status Terraform Anda terlindungi dari akses yang tidak sah dan pelanggaran data.

Akun manajemen mengatur dan mengawasi seluruh lingkungan, sehingga merupakan sumber daya penting dalam. AWS Control Tower Pola ini mengikuti praktik AWS terbaik dan memastikan bahwa proses penyebaran tidak hanya efisien tetapi juga selaras dengan standar keamanan dan tata kelola, untuk menawarkan cara yang komprehensif, aman, dan efisien untuk menyebarkan AFT di lingkungan Anda. AWS

Untuk informasi lebih lanjut tentang AFT, lihat AWS Control Tower dokumentasi.

Prasyarat dan batasan

Prasyarat

  • Lingkungan AWS multi-akun dasar dengan akun berikut minimal: akun manajemen, akun Arsip Log, akun Audit, dan satu akun tambahan untuk manajemen AFT.

  • AWS Control Tower Lingkungan yang mapan. Akun manajemen harus dikonfigurasi dengan benar, karena CloudFormation template akan digunakan di dalamnya.

  • Izin yang diperlukan dalam akun AWS manajemen. Anda akan memerlukan izin yang cukup untuk membuat dan mengelola sumber daya seperti bucket S3, AWS Lambda fungsi, peran AWS Identity and Access Management (IAM), dan proyek. AWS CodePipeline

  • Keakraban dengan Terraform. Memahami konsep inti dan alur kerja Terraform adalah penting karena penerapan melibatkan pembuatan dan pengelolaan konfigurasi Terraform.

Batasan

  • Waspadai kuota AWS sumber daya di akun Anda. Penerapan dapat membuat beberapa sumber daya, dan menghadapi kuota layanan dapat menghambat proses penerapan.

  • Template ini dirancang untuk versi tertentu dari Terraform dan. Layanan AWS Memutakhirkan atau mengubah versi mungkin memerlukan modifikasi templat.

  • Template tidak mendukung layanan sistem kontrol versi (VCS) yang dikelola sendiri seperti GitHub Enterprise.

Versi produk

  • Terraform versi 1.6.6 atau yang lebih baru

  • AFT versi 1.11 atau yang lebih baru

Arsitektur

Tumpukan teknologi target

  • AWS CloudFormation

  • AWS CodeBuild

  • AWS CodeCommit

  • AWS CodePipeline

  • Amazon EventBridge

  • IAM

  • AWS Lambda

  • Amazon S3

Arsitektur target

Diagram berikut menggambarkan implementasi yang dibahas dalam pola ini.

Alur kerja untuk mengimplementasikan AFT dengan menggunakan pipeline bootstrap.

Alur kerja terdiri dari tiga tugas utama: membuat sumber daya, menghasilkan konten, dan menjalankan pipeline.

Menciptakan sumber daya

CloudFormation Template yang disediakan dengan pola ini membuat dan mengatur semua sumber daya yang diperlukan, tergantung pada parameter yang Anda pilih saat Anda menerapkan template. Minimal, template membuat sumber daya berikut:

  • CodePipeline Pipa untuk mengimplementasikan AFT

  • Bucket S3 untuk menyimpan file status Terraform yang terkait dengan implementasi AFT

  • Dua CodeBuild proyek untuk mengimplementasikan rencana Terraform dan menerapkan perintah di berbagai tahap pipa

  • Peran CodeBuild dan CodePipeline layanan IAM

  • Bucket S3 kedua untuk menyimpan artefak runtime pipeline

Bergantung pada penyedia VCS yang Anda pilih (CodeCommit atau VCS eksternal), template membuat sumber daya berikut.

  • Untuk CodeCommit:

    • CodeCommit Repositori untuk menyimpan kode bootstrap AFT Terraform

    • EventBridge Aturan untuk menangkap perubahan CodeCommit repositori di cabang main

    • Peran IAM lain untuk aturan EventBridge

  • Untuk penyedia VCS eksternal lainnya, seperti GitHub:

    • AWS CodeConnections Koneksi

Selain itu, saat Anda memilih CodeCommit sebagai penyedia VCS, jika Anda menyetel Generate AFT Files parameternyatrue, template akan membuat sumber daya tambahan ini untuk menghasilkan konten:

  • Bucket S3 untuk menyimpan konten yang dihasilkan dan digunakan sebagai sumber repositori CodeCommit

  • Fungsi Lambda untuk memproses parameter yang diberikan dan menghasilkan konten yang sesuai

  • Fungsi IAM untuk menjalankan fungsi Lambda

  • Sumber daya CloudFormation kustom yang menjalankan fungsi Lambda saat template di-deploy

Menghasilkan konten

Untuk menghasilkan file bootstrap AFT dan kontennya, solusinya menggunakan fungsi Lambda dan bucket S3. Fungsi membuat folder di bucket, dan kemudian membuat dua file di dalam folder: main.tf danbackend.tf. Fungsi ini juga memproses CloudFormation parameter yang disediakan dan mengisi file-file ini dengan kode yang telah ditentukan, menggantikan nilai parameter masing-masing.

Untuk melihat kode yang digunakan sebagai template untuk menghasilkan file, lihat GitHub repositori solusi. Pada dasarnya, file dihasilkan sebagai berikut.

utama.tf

module "aft" { source = "github.com/aws-ia/terraform-aws-control_tower_account_factory?ref=<aft_version>" # Required variables ct_management_account_id = "<ct_management_account_id>" log_archive_account_id = "<log_archive_account_id>" audit_account_id = "<audit_account_id>" aft_management_account_id = "<aft_management_account_id>" ct_home_region = "<ct_home_region>" # Optional variables tf_backend_secondary_region = "<tf_backend_secondary_region>" aft_metrics_reporting = "<false|true>" # AFT Feature flags aft_feature_cloudtrail_data_events = "<false|true>" aft_feature_enterprise_support = "<false|true>" aft_feature_delete_default_vpcs_enabled = "<false|true>" # Terraform variables terraform_version = "<terraform_version>" terraform_distribution = "<terraform_distribution>" # VCS variables (if you have chosen an external VCS) vcs_provider = "<github|githubenterprise|gitlab|gitlabselfmanaged|bitbucket>" account_request_repo_name = "<org-name>/aft-account-request" account_customizations_repo_name = "<org-name>/aft-account-customizations" account_provisioning_customizations_repo_name = "<org-name>/aft-account-provisioning-customizations" global_customizations_repo_name = "<org-name>/aft-global-customizations" }

backend.tf

terraform { backend "s3" { region = "<aft-main-region>" bucket = "<s3-bucket-name>" key = "aft-setup.tfstate" } }

Selama pembuatan CodeCommit repositori, jika Anda menyetel Generate AFT Files parameternyatrue, template menggunakan bucket S3 dengan konten yang dihasilkan sebagai sumber main cabang untuk mengisi repositori secara otomatis.

Menjalankan pipa

Setelah sumber daya dibuat dan file bootstrap telah dikonfigurasi, pipeline berjalan. Tahap pertama (Sumber) mengambil kode sumber dari cabang utama repositori, dan tahap kedua (Build) menjalankan perintah Terraform plan dan menghasilkan hasil yang akan ditinjau. Pada tahap ketiga (Persetujuan), pipeline menunggu tindakan manual untuk menyetujui atau menolak tahap terakhir (Deploy). Pada tahap terakhir, pipeline menjalankan perintah Terraform dengan menggunakan hasil apply perintah Terraform plan sebelumnya sebagai input. Terakhir, peran lintas akun dan izin di akun manajemen digunakan untuk membuat sumber daya AFT di akun manajemen AFT.

catatan

Jika Anda memilih penyedia VCS eksternal, Anda harus mengotorisasi koneksi dengan kredenal penyedia VCS Anda. Untuk menyelesaikan penyiapan, ikuti langkah-langkah di Perbarui koneksi yang tertunda di dokumentasi konsol Alat AWS Pengembang.

Alat

Layanan AWS

  • AWS CloudFormationmembantu Anda menyiapkan sumber daya AWS, menyediakannya dengan cepat dan konsisten, serta mengelolanya sepanjang siklus hidupnya di seluruh Akun AWS dan Wilayah.

  • AWS CodeBuildadalah layanan build yang dikelola sepenuhnya yang membantu Anda mengkompilasi kode sumber, menjalankan pengujian unit, dan menghasilkan artefak yang siap digunakan. 

  • AWS CodeCommitadalah layanan kontrol versi yang membantu Anda menyimpan dan mengelola repositori Git secara pribadi tanpa perlu mengelola sistem kontrol sumber Anda sendiri.

  • AWS CodePipelinemembantu Anda dengan cepat memodelkan dan mengkonfigurasi berbagai tahapan rilis perangkat lunak dan mengotomatiskan langkah-langkah yang diperlukan untuk merilis perubahan perangkat lunak secara terus menerus.

  • AWS CodeConnectionsmemungkinkan AWS sumber daya dan layanan, seperti CodePipeline, untuk terhubung ke repositori kode eksternal, seperti. GitHub

  • AWS Lambdaadalah layanan komputasi yang menjalankan kode Anda sebagai respons terhadap peristiwa dan secara otomatis mengelola sumber daya komputasi, menyediakan cara cepat untuk membuat aplikasi modern tanpa server untuk produksi.

  • AWS SDK untuk Python (Boto3)adalah kit pengembangan perangkat lunak yang membantu Anda mengintegrasikan aplikasi, perpustakaan, atau skrip Python Anda. Layanan AWS

Alat-alat lainnya

  • Terraform adalah alat infrastruktur sebagai kode (IAc) yang memungkinkan Anda membangun, mengubah, dan membuat versi infrastruktur dengan aman dan efisien. Ini termasuk komponen tingkat rendah seperti instance komputasi, penyimpanan, dan jaringan; dan komponen tingkat tinggi seperti entri DNS dan fitur SaaS.

  • Python adalah bahasa pemrograman yang mudah dipelajari dan kuat. Ini memiliki struktur data tingkat tinggi yang efisien dan menyediakan pendekatan sederhana namun efektif untuk pemrograman berorientasi objek.

Repositori kode

Kode untuk pola ini tersedia di repositori pipeline bootstrap GitHub AFT.

Untuk repositori AFT resmi, lihat AWS Control Tower Account Factory untuk Terraform di. GitHub

Praktik terbaik

Saat Anda menerapkan AFT dengan menggunakan CloudFormation templat yang disediakan, kami sarankan Anda mengikuti praktik terbaik untuk membantu memastikan implementasi yang aman, efisien, dan berhasil. Pedoman dan rekomendasi utama untuk mengimplementasikan dan mengoperasikan AFT meliputi yang berikut ini.

  • Tinjauan parameter secara menyeluruh: Tinjau dan pahami setiap parameter dalam CloudFormation templat dengan cermat. Konfigurasi parameter yang akurat sangat penting untuk pengaturan dan fungsi AFT yang benar.

  • Pembaruan template reguler: Pertahankan template diperbarui dengan AWS fitur terbaru dan versi Terraform. Pembaruan rutin membantu Anda memanfaatkan fungsionalitas baru dan menjaga keamanan.

  • Pembuatan Versi: Sematkan versi modul AFT Anda dan gunakan penerapan AFT terpisah untuk pengujian jika memungkinkan.

  • Cakupan: Gunakan AFT hanya untuk menyebarkan pagar pembatas infrastruktur dan penyesuaian. Jangan menggunakannya untuk menyebarkan aplikasi Anda.

  • Linting dan validasi: Pipeline AFT memerlukan konfigurasi Terraform yang dilinted dan divalidasi. Jalankan lint, validasi, dan uji sebelum mendorong konfigurasi ke repositori AFT.

  • Modul Terraform: Buat kode Terraform yang dapat digunakan kembali sebagai modul, dan selalu tentukan versi Terraform dan AWS penyedia agar sesuai dengan kebutuhan organisasi Anda.

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan AWS Control Tower lingkungan.

Siapkan dan konfigurasikan AWS Control Tower di AWS lingkungan Anda untuk memastikan manajemen dan tata kelola terpusat untuk Anda. Akun AWS Untuk informasi selengkapnya, lihat Memulai AWS Control Tower dalam AWS Control Tower dokumentasi.

Administrator awan

Luncurkan akun manajemen AFT.

Gunakan AWS Control Tower Account Factory untuk meluncurkan akun baru Akun AWS yang berfungsi sebagai akun manajemen AFT Anda. Untuk informasi selengkapnya, lihat Menyediakan AWS Service Catalog akun dengan Account Factory di AWS Control Tower dokumentasi.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Luncurkan CloudFormation template.

Dalam epik ini, Anda menerapkan CloudFormation template yang disediakan dengan solusi ini untuk mengatur pipeline bootstrap AFT di akun AWS manajemen Anda. Pipeline menyebarkan solusi AFT di akun manajemen AFT yang Anda siapkan di epik sebelumnya.

Langkah 1: Buka AWS CloudFormation konsol

  • Masuk ke AWS Management Console dan buka AWS CloudFormation konsol. Pastikan Anda beroperasi di wilayah AWS Control Tower utama yang benar.

Langkah 2: Buat tumpukan baru

  1. Pilih untuk membuat tumpukan baru.

  2. Pilih opsi untuk mengunggah file templat, dan unggah CloudFormation templat yang disediakan dengan pola ini.

Langkah 3: Konfigurasikan parameter tumpukan

  • VCS Provider: Pilih penyedia sistem kontrol versi (VCS) yang akan digunakan. Anda dapat memilih VCS eksternal seperti GitHub, atau menggunakan CodeCommit jika akun Anda diizinkan untuk menggunakan layanan.

  • Repository Name: Tentukan nama repositori untuk menyimpan modul bootstrap AFT. Untuk penyedia VCS eksternal, gunakan jalur lengkap, termasuk nama organisasi (misalnya,my-github-org/my-repo).

  • Branch Name: Tentukan cabang repositori sumber.

  • CodeBuild Docker Image: Pilih file yang akan digunakan sebagai gambar dasar CodeBuild Docker.

  • Jika Anda mengatur penyedia VCS ke opsi selain CodeCommit, lanjutkan ke langkah 8.

Langkah 4: Tentukan pembuatan file

  • Jika Anda memilih CodeCommit sebagai penyedia VCS, Anda dapat menggunakan Generate AFT Files parameter untuk mengontrol pembuatan file penerapan AFT default. Setel parameter ini ke:

    • trueuntuk secara otomatis membuat dan menyimpan file penyebaran AFT di repositori yang ditentukan.

    • falsejika Anda ingin menangani pembuatan file secara manual atau sudah memiliki file di tempatnya.

  • Jika Anda memilihfalse, lanjutkan ke langkah 8; jika tidak, ikuti langkah 5-7 terlebih dahulu.

Langkah 5: Isi AWS Control Tower dan detail akun AFT

  • Jika Anda mengatur Generate AFT Files parameter ketrue, berikan informasi spesifik akun berikut AWS Control Tower dan AFT.

    • Log Archive Account ID: ID ID akun Arsip Log di AWS Control Tower.

    • Audit Account ID: ID akun Audit di AWS Control Tower.

    • AFT Management Account ID: ID akun manajemen AFT yang Anda buat di epik pertama.

    • AFT Main RegiondanAFT Secondary Region: Utama dan sekunder Wilayah AWS untuk penyebaran AFT.

Langkah 6: Konfigurasikan opsi AFT

  • Siapkan pelaporan metrik:

    • AFT Enable Metrics Reporting: Mengaktifkan atau menonaktifkan pelaporan metrik AFT. Untuk informasi selengkapnya, lihat Metrik operasional dalam AWS Control Tower dokumentasi.

  • Atur opsi fitur AFT:

    • Enable AFT CloudTrail Data Events: Aktifkan peristiwa CloudTrail data di semua akun terkelola AFT. Untuk informasi selengkapnya, lihat peristiwa AWS CloudTrail data dalam AWS Control Tower dokumentasi.

    • Enable AFT Enterprise Support: Aktifkan Enterprise Support di semua akun terkelola AFT. Untuk informasi selengkapnya, lihat paket AWS Enterprise Support di AWS Control Tower dokumentasi.

    • Enable AFT Delete Default VPC: Hapus semua VPCs di akun manajemen AFT saja. Untuk informasi selengkapnya, lihat Menghapus VPC AWS default dalam dokumentasi. AWS Control Tower

Langkah 7: Tentukan versi

  • AFT Terraform Version: Pilih versi Terraform untuk digunakan di saluran pipa AFT.

  • AFT Version: Tentukan versi AFT untuk penerapan. Pertahankan pengaturan default (latest) untuk menggunakan versi AFT terbaru.

Langkah 8: Tinjau dan buat tumpukan

  • Tinjau semua parameter dan pengaturan. Jika semuanya beres, lanjutkan untuk membuat tumpukan.

Langkah 9: Pantau pembuatan tumpukan

  • AWS CloudFormation menyediakan dan mengkonfigurasi sumber daya yang Anda tentukan. Pantau proses pembuatan tumpukan di CloudFormation konsol. Proses ini mungkin memakan waktu beberapa menit.

Langkah 10: Verifikasi penyebaran

  • Ketika status tumpukan menunjukkan CREATE_COMPLETE, verifikasi bahwa semua sumber daya telah dibuat dengan benar.

  • Di bagian Output, perhatikan TerraformBackendBucketName nilainya.

Administrator awan
TugasDeskripsiKeterampilan yang dibutuhkan

Opsi 1: Isi repositori bootstrap AFT untuk VCS eksternal.

Jika Anda mengatur penyedia VCS ke VCS eksternal (bukan ke CodeCommit), ikuti langkah-langkah ini.

(Opsional) Setelah Anda menerapkan CloudFormation template, Anda dapat mengisi atau memvalidasi konten di repositori bootstrap AFT yang baru dibuat, dan menguji apakah pipeline telah berhasil berjalan.

Langkah 1: Perbarui koneksi

  1. Di CodePipeline konsol, di panel navigasi, pilih Pengaturan, Koneksi.

  2. Pilih aft-vcs-connection koneksi. Itu harus dalam Pending status.

  3. Pilih Perbarui koneksi yang tertunda dan ikuti petunjuk di Perbarui koneksi yang tertunda di dokumentasi konsol Alat Pengembang.

  4. Saat koneksi dalam Available status, pindah ke langkah berikutnya.

Langkah 2: Isi repositori

  1. Gunakan kredenal VCS eksternal Anda untuk mengkloning repositori yang Anda tentukan dalam template ke mesin lokal Anda. Jika Anda menyimpan nama default, repositori dipanggil. aft-setup

  2. Di repositori, buat folder bernama terraform dengan dua file kosong di dalamnya: backend.tf dan. main.tf

  3. Buka backend.tf file dan tambahkan potongan kode ini:

    terraform { backend "s3" { region = "<aft-main-region>" bucket = "<s3-bucket-name>" key = "aft-setup" } }

    Dalam file:

    • Ganti <aft-main-region> dengan Wilayah AFT utama. Ini harus sesuai dengan Wilayah AWS Control Tower utama.

    • Ganti <s3-bucket-name> dengan nama bucket backend Terraform. Anda dapat menemukan ini di TerraformBackendBucketName output yang dihasilkan oleh CloudFormation template yang Anda gunakan sebelumnya.

  4. Buka main.tf file dan gunakan salah satu contoh yang tersedia di repositori AFT untuk menyebarkan AFT. Misalnya, Anda dapat bekerja dengan penyedia VCS pilihan Anda (CodeCommit, GitHub, atau Bitbucket) atau menyesuaikan VPC AFT. Untuk opsi input AFT lainnya, lihat file README di repositori AFT.

Langkah 2: Komit dan dorong perubahan Anda

  • Setelah Anda membuat dan mengisi folder dan file, konfirmasikan perubahan Anda, dan unggah kode ke repositori. Pipeline dimulai secara otomatis, berjalan melalui tahapan Sumber dan Bangun, dan kemudian menunggu tindakan Persetujuan sebelum tahap Penerapan.

Administrator awan

Opsi 2: Isi repositori bootstrap AFT untuk. CodeCommit

Jika Anda mengatur penyedia VCS CodeCommit, ikuti langkah-langkah ini.

(Opsional) Setelah Anda menerapkan CloudFormation template, Anda dapat mengisi atau memvalidasi konten di repositori bootstrap AFT yang baru dibuat, dan menguji apakah pipeline telah berhasil berjalan.

Jika Anda menyetel Generate AFT Files parameternyatrue, lewati ke cerita berikutnya (memvalidasi pipeline).

Langkah 1: Isi repositori

  1. Buka AWS CodeCommit konsol dan pilih repositori yang baru dibuat. Jika Anda menyimpan nama default, nama repositori seharusnya. aft-setup

  2. Kloning repositori ke mesin lokal Anda dengan menggunakan SSH, HTTPS, atau HTTPS (GRC), dan buka di editor.

  3. Buat folder bernama terraform dan dua file kosong di dalamnya: backend.tf danmain.tf.

  4. Buka backend.tf file dan tambahkan potongan kode ini:

    terraform { backend "s3" { region = "<aft-main-region>" bucket = "<s3-bucket-name>" key = "aft-setup" } }

    Dalam file:

    • Ganti <aft-main-region> dengan Wilayah AFT utama. Ini harus sesuai dengan Wilayah AWS Control Tower utama.

    • Ganti <s3-bucket-name> dengan nama bucket backend Terraform. Anda dapat menemukan ini di TerraformBackendBucketName output yang dihasilkan oleh CloudFormation template yang Anda gunakan sebelumnya.

  5. Buka main.tf file dan gunakan salah satu contoh yang tersedia di repositori AFT untuk menyebarkan AFT. Misalnya, Anda dapat bekerja dengan penyedia sistem kontrol versi (VCS) pilihan Anda (CodeCommit, GitHub, atau Bitbucket) atau menyesuaikan VPC AFT. Untuk opsi input AFT lainnya, lihat file README di repositori AFT.

Langkah 2: Komit dan dorong perubahan Anda

  • Setelah Anda membuat dan mengisi folder dan file, konfirmasikan perubahan Anda, dan unggah kode ke repositori. Pipeline dimulai secara otomatis, berjalan melalui tahapan Sumber dan Bangun, dan kemudian menunggu tindakan Persetujuan sebelum tahap Penerapan.

Administrator awan

Validasi pipeline bootstrap AFT.

Langkah 1: Lihat pipa

  • Buka CodePipeline konsol dan periksa apakah aft-bootstrap-pipeline pipa dimulai dengan sukses. Itu harus menjalankan rencana Terraform atau menunggu tindakan persetujuan manual.

Langkah 2: Setujui hasil rencana Terraform

  • Anda dapat meninjau hasil paket Terraform dengan melihat log eksekusi tahap Build, lalu menyetujui atau menolak eksekusi pada tahap Persetujuan. Jika Anda menyetujui, pipeline mulai menerapkan sumber daya AFT di akun manajemen AFT yang disediakan.

Langkah 3: Tunggu penyebaran

  • Tunggu pipa berjalan dengan sukses. Ini akan memakan waktu sekitar 30 menit. Kegagalan apa pun yang mungkin Anda temui sering disebabkan oleh kuota API. Dalam kasus ini, Anda dapat menjalankan kembali pipeline untuk melanjutkan penerapan.

Langkah 4: Periksa sumber daya yang dibuat

  • Akses akun manajemen AFT dan konfirmasikan bahwa sumber daya telah dibuat.

Administrator awan

Pemecahan Masalah

IsuSolusi

Fungsi Lambda kustom yang disertakan dalam CloudFormation template gagal selama penerapan.

Periksa CloudWatch log Amazon untuk fungsi Lambda untuk mengidentifikasi kesalahan. Log memberikan informasi terperinci dan dapat membantu menentukan masalah spesifik. Konfirmasikan bahwa fungsi Lambda memiliki izin yang diperlukan dan bahwa variabel lingkungan telah disetel dengan benar.

Anda mengalami kegagalan dalam pembuatan atau manajemen sumber daya yang disebabkan oleh izin yang tidak memadai.

Tinjau peran dan kebijakan IAM yang dilampirkan pada fungsi Lambda CodeBuild, dan layanan lain yang terlibat dalam penerapan. Konfirmasikan bahwa mereka memiliki izin yang diperlukan. Jika ada masalah izin, sesuaikan kebijakan IAM untuk memberikan akses yang diperlukan.

Anda menggunakan versi CloudFormation template yang sudah ketinggalan zaman dengan versi yang lebih baru Layanan AWS atau Terraform.

Perbarui CloudFormation template secara teratur agar kompatibel dengan rilis terbaru AWS dan Terraform. Periksa catatan rilis atau dokumentasi untuk setiap perubahan atau persyaratan khusus versi.

Anda mencapai Layanan AWS kuota selama penerapan.

Sebelum Anda menerapkan pipeline, periksa Layanan AWS kuota untuk sumber daya seperti bucket S3, peran IAM, dan fungsi Lambda. Permintaan meningkat jika perlu. Untuk informasi lebih lanjut, lihat Layanan AWS kuota di AWS situs web.

Anda mengalami kesalahan karena parameter input yang salah dalam CloudFormation template.

Periksa kembali semua parameter input untuk kesalahan ketik atau nilai yang salah. Konfirmasikan bahwa pengidentifikasi sumber daya, seperti nama akun IDs dan Wilayah, akurat.

Sumber daya terkait

Untuk menerapkan pola ini dengan sukses, tinjau sumber daya berikut. Sumber daya ini memberikan informasi dan panduan tambahan yang dapat sangat berharga dalam menyiapkan dan mengelola AFT dengan menggunakan. AWS CloudFormation

AWSdokumentasi:

Kebijakan dan praktik terbaik IAM:

Terraform pada: AWS

Layanan AWS kuota:

  • Layanan AWS kuota memberikan informasi tentang cara melihat Layanan AWS kuota dan cara meminta kenaikan.