Buat AWS CloudFormation StackSets dengan izin yang dikelola layanan - AWS CloudFormation

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

Buat AWS CloudFormation StackSets dengan izin yang dikelola layanan

Dengan izin yang dikelola layanan, Anda dapat menerapkan tumpukan ke akun yang dikelola oleh di Wilayah tertentu. AWS Organizations Dengan model ini, Anda tidak perlu membuat peran IAM yang diperlukan; CloudFormation membuat peran IAM atas nama Anda. Untuk informasi selengkapnya, lihat Aktifkan akses tepercaya.

Pertimbangan

Sebelum Anda membuat izin yang dikelola layanan StackSet dengan layanan, pertimbangkan hal berikut:

  • StackSets dengan izin yang dikelola layanan dibuat di akun manajemen, termasuk yang dibuat oleh administrator StackSets yang didelegasikan.

  • Anda StackSet dapat menargetkan seluruh organisasi Anda (termasuk semua akun) atau unit organisasi tertentu (OUs). Jika Anda StackSet menargetkan OU orang tua, itu juga menargetkan anak mana pun OUs. Ketika StackSet target Anda spesifik OUs, semua akun di dalamnya OUs disertakan secara default. Namun, Anda dapat menargetkan akun tertentu menggunakan opsi filter akun.

  • Beberapa StackSets dapat menargetkan organisasi atau OU yang sama.

  • Anda tidak StackSet dapat menargetkan akun di luar organisasi Anda.

  • Anda tidak StackSet dapat menerapkan tumpukan bersarang.

  • CloudFormation tidak menyebarkan tumpukan ke akun manajemen organisasi, meskipun akun manajemen ada di organisasi Anda atau di OU di organisasi Anda.

  • Penyebaran otomatis diatur pada StackSet level tersebut. Anda tidak dapat menyesuaikan penerapan otomatis secara selektif untuk OUs, akun, atau Wilayah.

  • Izin entitas utama IAM (pengguna, peran, atau grup) yang Anda gunakan untuk masuk ke akun manajemen menentukan apakah Anda berwenang untuk menggunakan. StackSets Untuk contoh kebijakan IAM yang memberikan izin untuk diterapkan ke organisasi, lihat. Batasi operasi set tumpukan berdasarkan Wilayah dan tipe sumber daya

  • Administrator yang didelegasikan memiliki izin penuh untuk men-deploy ke akun di organisasi Anda. Akun manajemen tidak dapat membatasi izin administrator yang didelegasikan untuk diterapkan ke spesifik OUs atau untuk melakukan operasi tertentu. StackSet

Buat StackSet dengan izin yang dikelola layanan (konsol)

Untuk membuat StackSet
  1. Masuk ke AWS Management Console dan buka AWS CloudFormation konsol di https://console.aws.amazon.com/cloudformation.

  2. Pada bilah navigasi di bagian atas layar, pilih Wilayah AWS yang ingin Anda StackSet kelola.

  3. Dari panel navigasi, pilih StackSets.

  4. Dari bagian atas StackSetshalaman, pilih Buat StackSet.

  5. Dalam Izin, pilih Izin yang dikelola layanan.

    catatan

    Jika akses tepercaya dengan AWS Organizations dinonaktifkan, spanduk akan ditampilkan. Akses tepercaya diperlukan untuk membuat atau memperbarui izin StackSet yang dikelola layanan. Hanya administrator di akun manajemen organisasi yang memiliki izin untukAktifkan akses tepercaya untuk StackSets dengan AWS Organizations.

  6. Di bawah Prasyarat - Siapkan templat, pilih Template sudah siap.

  7. Dalam Tentukan templat, pilih untuk menentukan URL untuk bucket S3 yang berisi templat tumpukan Anda atau unggah file templat tumpukan. Lalu, pilih Selanjutnya.

  8. Pada halaman Tentukan StackSet detail, berikan nama untuk StackSet, tentukan parameter apa pun, lalu pilih Berikutnya.

  9. Pada halaman Konfigurasi StackSet opsi, di bawah Tag, tentukan tag apa pun yang akan diterapkan ke sumber daya di tumpukan Anda. Untuk informasi selengkapnya tentang cara tag digunakan AWS, lihat Mengatur dan melacak AWS biaya menggunakan tag alokasi biaya di Panduan AWS Manajemen Penagihan dan Biaya Pengguna.

  10. Untuk konfigurasi Eksekusi, pilih Aktif untuk mengaktifkan CloudFormation penanganan operasi yang dioptimalkan:

    • Operasi yang tidak bertentangan berjalan secara bersamaan untuk waktu penerapan yang lebih cepat.

    • Operasi yang saling bertentangan secara otomatis diantrian dan diproses sesuai urutan yang diminta.

    Saat operasi berjalan atau mengantri, CloudFormation mengantri semua operasi yang masuk meskipun tidak bertentangan. Anda tidak dapat mengubah pengaturan eksekusi selama waktu ini.

  11. Jika template Anda berisi sumber daya IAM, untuk Kemampuan, pilih Saya mengakui bahwa templat ini dapat membuat sumber daya IAM untuk menentukan bahwa Anda ingin menggunakan sumber daya IAM dalam templat. Untuk informasi selengkapnya, lihat Mengakui sumber daya IAM dalam templat CloudFormation.

  12. Pilih Berikutnya untuk melanjutkan dan mengaktifkan akses tepercaya jika belum diaktifkan.

  13. Pada halaman Setel opsi penerapan, di bawah target Deployment, lakukan salah satu hal berikut:

    • Untuk menyebarkan ke semua akun di organisasi Anda, pilih Terapkan ke organisasi.

    • Untuk menyebarkan ke semua akun secara spesifik OUs, pilih Terapkan ke unit organisasi () OUs. Pilih Tambahkan OU, dan kemudian tempelkan ID OU target dalam kotak teks. Ulangi untuk setiap OU target baru.

    Jika Anda memilih Deploy ke unit organisasi (OUs), untuk jenis filter Akun, Anda dapat mengatur target penerapan Anda menjadi akun individual tertentu dengan memilih salah satu opsi berikut dan memberikan nomor akun.

    • Tidak ada (default) - Menerapkan tumpukan ke semua akun dalam yang ditentukan. OUs

    • Persimpangan — Menyebarkan tumpukan ke akun individu tertentu dalam yang dipilih. OUs

    • Perbedaan — Menyebarkan tumpukan ke semua akun di akun yang dipilih OUs kecuali untuk akun tertentu.

    • Union — Menyebarkan tumpukan ke akun individual tambahan yang ditentukan OUs ditambah.

  14. Di bawah Penerapan otomatis, pilih apakah akan secara otomatis menerapkan ke akun yang ditambahkan ke organisasi target atau OUs di masa mendatang. Untuk informasi selengkapnya, lihat Mengaktifkan atau menonaktifkan penerapan otomatis untuk in StackSets AWS Organizations.

  15. Jika Anda mengaktifkan deployment otomatis, dalam Perilaku penghapusan akun, pilih apakah sumber daya tumpukan dipertahankan atau dihapus ketika akun dihapus dari organisasi atau OU target.

    catatan

    Dengan tumpukan Pertahankan dipilih, tumpukan dihapus dari Anda StackSet, tetapi tumpukan dan sumber daya terkaitnya dipertahankan. Sumber daya tetap dalam keadaan mereka saat ini, tetapi tidak akan lagi menjadi bagian dari StackSet.

  16. Di bawah Tentukan wilayah, pilih Wilayah tempat Anda ingin menerapkan tumpukan.

  17. Untuk opsi Deployment, lakukan hal berikut:

    • Untuk Akun bersamaan maksimum, tentukan berapa banyak akun yang diproses secara bersamaan.

    • Untuk toleransi kegagalan, tentukan jumlah maksimum kegagalan akun yang diizinkan per Wilayah. Operasi akan berhenti dan tidak akan melanjutkan ke Wilayah lain setelah batas ini tercapai.

    • Untuk konkurensi Wilayah, pilih cara memproses Wilayah: Berurutan (satu Wilayah pada satu waktu) atau Paralel (beberapa Wilayah secara bersamaan).

    • Untuk mode Konkurensi, pilih bagaimana konkurensi berperilaku selama eksekusi operasi.

      • Toleransi kegagalan yang ketat — Mengurangi tingkat konkurensi akun saat kegagalan terjadi, tetap berada dalam toleransi Kegagalan +1.

      • Toleransi kegagalan lunak - Mempertahankan tingkat konkurensi yang Anda tentukan (nilai akun bersamaan maksimum) terlepas dari kegagalan.

  18. Pilih Next untuk melanjutkan.

  19. Pada halaman Tinjauan, verifikasi bahwa Anda StackSet akan menyebarkan ke akun yang benar di Wilayah yang benar, lalu pilih Buat StackSet.

    Halaman StackSet detail terbuka. Anda dapat melihat kemajuan dan status pembuatan tumpukan di Anda StackSet.

Buat StackSet dengan izin yang dikelola layanan ()AWS CLI

Ikuti langkah-langkah di bagian ini untuk menggunakan AWS CLI to:

  • Buat StackSet wadahnya.

  • Menyebarkan instance tumpukan.

catatan

Saat bertindak sebagai administrator yang didelegasikan, Anda harus memasukkan --call-as DELEGATED_ADMIN dalam perintah.

Deploy to your organization
Untuk membuat StackSet
  1. Gunakan create-stack-setperintah untuk membuat StackSet nama barumy-stackset. Contoh berikut menggunakan template yang disimpan dalam bucket S3, mengaktifkan penerapan otomatis, dan mempertahankan tumpukan saat akun dihapus. Untuk informasi selengkapnya, lihat Mengaktifkan atau menonaktifkan penerapan otomatis untuk in StackSets AWS Organizations.

    aws cloudformation create-stack-set \ --stack-set-name my-stackset \ --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \ --permission-model SERVICE_MANAGED \ --auto-deployment Enabled=true,RetainStacksOnAccountRemoval=true
  2. Gunakan list-stack-setsperintah untuk mengonfirmasi bahwa Anda StackSet telah dibuat. StackSet Yang baru Anda tercantum dalam hasil.

    aws cloudformation list-stack-sets
    • Jika Anda menetapkan --call-as opsi untuk DELEGATED_ADMIN saat masuk ke akun anggota Anda, list-stack-sets mengembalikan semua StackSets dengan izin yang dikelola layanan di akun manajemen organisasi.

    • Jika Anda menyetel --call-as opsi untuk SELF saat masuk Akun AWS, list-stack-sets kembalikan semua yang dikelola sendiri StackSets di Anda Akun AWS.

    • Jika Anda menetapkan --call-as opsi SELF saat masuk ke akun manajemen organisasi, list-stack-sets mengembalikan semua yang ada StackSets di akun manajemen organisasi.

  3. Gunakan create-stack-instancesperintah untuk menambahkan tumpukan ke Anda StackSet. Untuk --deployment-targets opsi, tentukan ID root organisasi yang akan diterapkan ke semua akun di organisasi Anda.

    Tetapkan pemrosesan akun bersamaan dan preferensi penerapan lainnya menggunakan opsi. --operation-preferences Contoh ini menggunakan pengaturan berbasis hitungan. Perhatikan bahwa tidak MaxConcurrentCount boleh melebihi FailureToleranceCount + 1. Untuk pengaturan berbasis persentase, gunakan FailureTolerancePercentage atau MaxConcurrentPercentage sebagai gantinya.

    aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=r-a1b2c3d4e5 \ --regions us-west-2 us-east-1 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    Untuk informasi selengkapnya, lihat CreateStackInstances di dalam Referensi API AWS CloudFormation .

  4. Menggunakan operation-id yang dikembalikan sebagai bagian dari create-stack-instances output, gunakan describe-stack-set-operationperintah berikut untuk memverifikasi bahwa tumpukan Anda berhasil dibuat.

    aws cloudformation describe-stack-set-operation \ --stack-set-name my-stackset \ --operation-id operation_ID
Deploy to organizational units (OUs)
Untuk membuat StackSet
  1. Gunakan create-stack-setperintah untuk membuat StackSet nama barumy-stackset. Contoh berikut menggunakan template yang disimpan dalam bucket S3 dan menyertakan parameter KeyPairName yang menetapkan nilai TestKey

    aws cloudformation create-stack-set \ --stack-set-name my-stackset \ --template-url https://s3.region-code.amazonaws.com/amzn-s3-demo-bucket/MyApp.template \ --permission-model SERVICE_MANAGED \ --parameters ParameterKey=KeyPairName,ParameterValue=TestKey
  2. Gunakan list-stack-setsperintah untuk mengonfirmasi bahwa Anda StackSet telah dibuat. StackSet Yang baru Anda tercantum dalam hasil.

    aws cloudformation list-stack-sets
    • Jika Anda menetapkan --call-as opsi untuk DELEGATED_ADMIN saat masuk ke akun anggota Anda, list-stack-sets mengembalikan semua StackSets dengan izin yang dikelola layanan di akun manajemen organisasi.

    • Jika Anda menyetel --call-as opsi untuk SELF saat masuk Akun AWS, list-stack-sets kembalikan semua yang dikelola sendiri StackSets di Anda Akun AWS.

    • Jika Anda menetapkan --call-as opsi SELF saat masuk ke akun manajemen organisasi, list-stack-sets mengembalikan semua yang ada StackSets di akun manajemen organisasi.

  3. Gunakan create-stack-instancesperintah untuk menambahkan tumpukan ke Anda StackSet. Untuk --deployment-targets opsi, tentukan OU IDs yang akan digunakan.

    Tetapkan pemrosesan akun bersamaan dan preferensi penerapan lainnya menggunakan opsi. --operation-preferences Contoh ini menggunakan pengaturan berbasis hitungan. Perhatikan bahwa tidak MaxConcurrentCount boleh melebihi FailureToleranceCount + 1. Untuk pengaturan berbasis persentase, gunakan FailureTolerancePercentage atau MaxConcurrentPercentage sebagai gantinya.

    aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=ou-rcuk-1x5j1lwo,ou-rcuk-slr5lh0a \ --regions us-west-2 us-east-1 \ --operation-preferences MaxConcurrentCount=1,FailureToleranceCount=0

    Untuk informasi selengkapnya, lihat CreateStackInstances di dalam Referensi API AWS CloudFormation .

  4. Menggunakan operation-id yang dikembalikan sebagai bagian dari create-stack-instances output, gunakan describe-stack-set-operationperintah berikut untuk memverifikasi bahwa tumpukan Anda berhasil dibuat.

    aws cloudformation describe-stack-set-operation \ --stack-set-name my-stackset \ --operation-id operation_ID
Deploy to specific accounts in OUs

Anda dapat menargetkan unit organisasi tertentu (OUs) dan menggunakan pemfilteran akun untuk secara tepat mengontrol akun mana yang menerima penerapan tumpukan. Secara default, tumpukan disebarkan ke semua akun dalam yang ditentukan OUs jika tidak ada pemfilteran akun yang ditentukan.

Di AWS CLI, Anda menentukan pemfilteran akun dengan --deployment-targets opsi. Untuk informasi selengkapnya, lihat DeploymentTargets.

Setelah Anda membuat StackSet wadah dengan create-stack-set perintah, gunakan salah satu contoh berikut untuk menyebarkan tumpukan ke akun tertentu.

Targetkan akun tertentu dalam OU

Contoh berikut menyebarkan tumpukan hanya ke akun A1 dan A2 di. OU1

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=INTERSECTION \ --regions us-west-2 us-east-1
Kecualikan akun dari OU

Contoh berikut menyebarkan tumpukan ke semua akun OU1 kecuali akun A1 dan A2.

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=OU1,Accounts=A1,A2,AccountFilterType=DIFFERENCE \ --regions us-west-2 us-east-1
Sertakan akun tambahan

Contoh berikut menyebarkan tumpukan ke semua akun di OU1 plus akun tambahan A4 dari OU lain.

aws cloudformation create-stack-instances --stack-set-name my-stackset \ --deployment-targets OrganizationalUnitIds=OU1,Accounts=A4,AccountFilterType=UNION \ --regions us-west-2 us-east-1