View a markdown version of this page

Kustomisasi akun - Menara Kontrol AWS

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

Kustomisasi akun

AFT dapat menerapkan konfigurasi standar atau disesuaikan di akun yang disediakan. Dalam akun manajemen AFT, AFT menyediakan satu pipeline untuk setiap akun. Dengan pipeline ini, Anda dapat menerapkan penyesuaian Anda di semua akun, dalam satu set akun, atau di akun individu. Anda dapat menjalankan skrip Python, skrip bash, dan konfigurasi Terraform, atau Anda dapat berinteraksi dengan AWS CLI sebagai bagian dari tahap penyesuaian akun Anda.

Gambaran umum

Setelah penyesuaian Anda ditentukan di git repositori yang Anda pilih, baik tempat Anda menyimpan penyesuaian global atau tempat Anda menyimpan penyesuaian akun Anda, tahap penyesuaian akun diselesaikan secara otomatis oleh pipeline AFT. Untuk menyesuaikan akun secara retroaktif, lihatRe-invoke kustomisasi.

Kustomisasi global (opsional)

Anda dapat memilih untuk menerapkan penyesuaian tertentu ke semua akun yang disediakan oleh AFT. Misalnya, jika Anda perlu membuat peran IAM tertentu, atau untuk menerapkan kontrol khusus di setiap akun, tahap penyesuaian global di saluran AFT memungkinkan Anda melakukannya, secara otomatis.

Kustomisasi akun (opsional)

Untuk menyesuaikan akun individual, atau sekumpulan akun, secara berbeda dari akun yang disediakan AFT lainnya, Anda dapat memanfaatkan bagian penyesuaian akun dari saluran AFT untuk mengimplementasikan konfigurasi khusus akun. Misalnya, hanya akun tertentu yang mungkin memerlukan akses ke gateway internet.

Prasyarat kustomisasi

Sebelum Anda mulai menyesuaikan akun, pastikan prasyarat ini sudah ada.

Terapkan penyesuaian global

Untuk menerapkan penyesuaian global, Anda harus mendorong struktur folder tertentu ke repositori yang Anda pilih.

  • Jika konfigurasi kustom Anda dalam bentuk program atau skrip Python, letakkan di bawah api_helpers/python folder di repositori Anda.

  • Jika konfigurasi kustom Anda dalam bentuk skrip Bash, letakkan di bawah folder api_helper di repositori Anda.

  • Jika konfigurasi khusus Anda dalam bentuk Terraform, letakkan di bawah folder terraform di repositori Anda.

  • Lihat file README penyesuaian global untuk detail selengkapnya tentang membuat konfigurasi kustom.

catatan

Kustomisasi global diterapkan secara otomatis, setelah tahap kerangka kerja penyediaan akun AFT dalam pipeline AFT.

Terapkan penyesuaian akun

Anda dapat menerapkan penyesuaian akun dengan mendorong struktur folder tertentu ke repositori pilihan Anda. Kustomisasi akun diterapkan secara otomatis di pipeline AFT dan setelah tahap penyesuaian global. Anda juga dapat membuat beberapa folder yang berisi penyesuaian akun berbeda di repositori penyesuaian akun Anda. Untuk setiap penyesuaian akun yang Anda butuhkan, gunakan langkah-langkah berikut.

Untuk menerapkan penyesuaian akun
  1. Langkah 1: Buat folder untuk kustomisasi akun

    Di repositori pilihan Anda, salin ACCOUNT_TEMPLATE folder yang disediakan AFT ke folder baru. Nama folder baru Anda harus sesuai dengan account_customizations_name yang Anda berikan dalam permintaan akun Anda.

  2. Tambahkan konfigurasi ke folder penyesuaian akun spesifik Anda

    Anda dapat menambahkan konfigurasi ke folder penyesuaian akun berdasarkan format konfigurasi Anda.

    • Jika konfigurasi kustom Anda dalam bentuk program atau skrip Python, letakkan di bawah api_helpers/python folder [account_customizations_name]/yang ada di repositori Anda.

    • Jika konfigurasi kustom Anda dalam bentuk skrip Bash, letakkan di bawah folder [account_customizations_name] /api_helper yang ada di repositori Anda.

    • Jika konfigurasi kustom Anda dalam bentuk Terraform, letakkan di bawah folder [account_customizations_name] /terraform yang ada di repositori Anda.

    Untuk informasi selengkapnya tentang membuat konfigurasi khusus, lihat file README penyesuaian akun.

  3. Lihat account_customizations_name parameter spesifik dalam file permintaan akun

    File permintaan akun AFT menyertakan parameter inputaccount_customizations_name. Masukkan nama penyesuaian akun Anda sebagai nilai untuk parameter ini.

catatan

Anda dapat mengirimkan beberapa permintaan akun untuk akun di lingkungan Anda. Bila Anda ingin menerapkan penyesuaian akun yang berbeda atau serupa, tentukan penyesuaian akun menggunakan parameter account_customizations_name input dalam permintaan akun Anda. Untuk informasi selengkapnya, lihat Mengirimkan beberapa permintaan akun.

Re-invoke kustomisasi

AFT menyediakan cara untuk memanggil kembali penyesuaian di pipa AFT. Metode ini berguna ketika Anda telah menambahkan langkah penyesuaian baru, atau saat Anda membuat perubahan pada penyesuaian yang ada. Saat Anda memanggil kembali, AFT memulai pipeline penyesuaian untuk membuat perubahan pada akun yang disediakan AFT. Pemanggilan ulang berbasis sumber peristiwa memungkinkan Anda menerapkan penyesuaian ke akun individual, ke semua akun, ke akun sesuai dengan OU mereka, atau ke akun yang dipilih sesuai dengan tag.

Ikuti tiga langkah ini untuk menjalankan kembali penyesuaian untuk akun. AFT-provisioned

Langkah 1: Dorong perubahan ke repositori penyesuaian git global atau akun

Anda dapat memperbarui penyesuaian global dan akun sesuai kebutuhan dan mendorong perubahan kembali ke git repositori Anda. Pada titik ini, tidak ada yang terjadi, Pipa penyesuaian harus dipanggil oleh sumber peristiwa, seperti yang dijelaskan dalam dua langkah berikutnya.

Langkah 2: Mulai menjalankan AWS Step Function untuk menjalankan kembali penyesuaian

AFT menyediakan AWS Step Function yang di aft-invoke-customizations panggil di akun manajemen AFT. Tujuan dari fungsi itu adalah untuk memanggil kembali pipeline penyesuaian untuk AFT-provisioned akun.

Berikut adalah contoh skema acara (format JSON) yang dapat Anda buat untuk meneruskan input ke aft-invoke-customizations AWS Step Function.

{ "include": [ { "type": "all" }, { "type": "ous", "target_value": [ "ou1","ou2"] }, { "type": "tags", "target_value": [ {"key1": "value1"}, {"key2": "value2"}] }, { "type": "accounts", "target_value": [ "acc1_ID","acc2_ID"] } ], "exclude": [ { "type": "ous", "target_value": [ "ou1","ou2"] }, { "type": "tags", "target_value": [ {"key1": "value1"}, {"key2": "value2"}] }, { "type": "accounts", "target_value": [ "acc1_ID","acc2_ID"] } ] }

Contoh skema peristiwa menunjukkan bahwa Anda dapat memilih akun untuk disertakan atau dikecualikan dari proses re-invoke. Anda dapat memfilter berdasarkan unit organisasi (OU), tag akun, dan ID akun. Jika Anda tidak menerapkan filter apa pun dan menyertakan pernyataan"type":"all", penyesuaian untuk semua AFT-provisioned akun akan dipanggil kembali.

Anda dapat menyertakan bypass_steps parameter dalam input Fungsi Langkah untuk melewati fase penyediaan tertentu selama pemanggilan ulang.

Nilai bypass_steps Perilaku
["provisioning_bootstrap"] Melewati fase penyediaan akun dan bootstrap; hanya menjalankan saluran penyesuaian akun dan global.
[](kosong) Menjalankan alur penuh termasuk penyediaan (default).

Contoh berikut menunjukkan input Fungsi Langkah yang memanggil kembali penyesuaian untuk akun tertentu sambil melewati langkah-langkah penyediaan dan bootstrap.

{ "include": [ { "type": "accounts", "target_value": ["123456789012"] } ], "bypass_steps": ["provisioning_bootstrap"] }
catatan

Jika versi AWS Control Tower Account Factory untuk Terraform (AFT) adalah 1.6.5 atau yang lebih baru, Anda dapat menargetkan OU bersarang dengan sintaks). OU Name (ou-id-1234 Untuk informasi lebih lanjut, lihat topik berikut di GitHub.

Setelah Anda mengisi parameter acara, Step Functions berjalan dan memanggil penyesuaian yang sesuai. AFT dapat memanggil maksimal 5 penyesuaian sekaligus. Step Functions menunggu dan mengulang sampai semua akun yang cocok dengan kriteria acara selesai.

Langkah 3: Pantau output AWS Step Function dan saksikan AWS CodePipeline berjalan

  • Output Fungsi Langkah yang dihasilkan berisi ID akun yang cocok dengan sumber peristiwa input Fungsi Langkah.

  • Arahkan ke AWS CodePipeline di bawah Alat Pengembang dan lihat pipeline penyesuaian yang sesuai untuk ID akun.

Pemecahan masalah dengan pelacakan permintaan kustomisasi akun AFT

Alur kerja kustomisasi akun yang didasarkan pada log em AWS Lambda isi yang berisi akun target dan ID permintaan kustomisasi. AFT memungkinkan Anda melacak dan memecahkan masalah permintaan penyesuaian dengan Amazon CloudWatch Logs dengan menyediakan kueri CloudWatch Logs Insights yang dapat Anda gunakan untuk memfilter CloudWatch Log yang terkait dengan permintaan kustomisasi berdasarkan akun target atau ID permintaan kustomisasi. Untuk informasi selengkapnya, lihat Meng analisis data log dengan Amazon CloudWatch Log di Panduan CloudWatch Pengguna Amazon Logs.

Untuk menggunakan CloudWatch Logs Insights untuk AFT
  1. Buka CloudWatch konsol di https://console.aws.amazon.com/cloudwatch/.

  2. Dari panel navigasi, pilih Log, lalu pilih Logs wawasan.

  3. Pilih Kueri.

  4. Di bawah Kueri sampel, pilih Ac count Factory untuk Terraform, lalu pilih salah satu kueri berikut:

    • Log Kustomisasi berdasarkan ID Akun

      catatan

      Pastikan untuk mengganti "YOUR-ACCOUNT-ID" dengan ID akun target Anda.

      fields @timestamp, log_message.account_id as target_account_id, log_message.customization_request_id as customization_request_id, log_message.detail as detail, @logStream | sort @timestamp desc | filter log_message.account_id == "YOUR-ACCOUNT-ID" and @message like /customization_request_id/
    • Log Kustomisasi dengan ID Permintaan Kustomisasi

      catatan

      Pastikan untuk mengganti "YOUR-CUSTOMIZATION-REQUEST-ID" dengan ID permintaan kustomisasi Anda. Anda dapat menemukan ID permintaan kustomisasi Anda di output dari mesin AWS Step Functions status kerangka kerja penyediaan akun AFT. Untuk informasi selengkapnya tentang kerangka penyediaan akun AFT, lihat saluran penyedi aan akun AFT

      fields @timestamp, log_message.account_id as target_account_id, log_message.customization_request_id as customization_request_id, log_message.detail as detail, @logStream | sort @timestamp desc | filter log_message.customization_request_id == "YOUR-CUSTOMIZATION-REQUEST-ID"
  5. Setelah Anda memilih kueri, pastikan untuk memilih interval waktu, lalu pilih J alankan kueri.