Menggunakan ekstensi publik di CloudFormation - AWS CloudFormation

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

Menggunakan ekstensi publik di CloudFormation

Ekstensi publik adalah CloudFormation ekstensi, seperti jenis sumber daya atau modul, yang diterbitkan secara publik di registri untuk digunakan oleh semua CloudFormation pengguna. Ini termasuk semua ekstensi yang diterbitkan oleh AWS. Pihak ketiga juga dapat mempublikasikan ekstensi publik.

Ada dua jenis ekstensi publik:

  • AWS Ekstensi publik — Ekstensi yang diterbitkan oleh selalu AWS bersifat publik, dan diaktifkan secara default, sehingga Anda tidak perlu mengambil tindakan apa pun sebelum menggunakannya di akun Anda. Selain itu, AWS mengontrol versi ekstensi, sehingga Anda selalu menggunakan versi terbaru yang tersedia.

  • Ekstensi publik pihak ketiga — Ini adalah ekstensi yang tersedia untuk penggunaan umum oleh penerbit selain. AWS Untuk menggunakan ekstensi publik, Anda harus mengaktifkannya terlebih dahulu di akun dan wilayah Anda.

    Anda dapat mempublikasikan ekstensi pihak ketiga Anda sendiri untuk membuatnya tersedia bagi CloudFormation pengguna umum. Untuk informasi selengkapnya, lihat Menerbitkan ekstensi di Panduan Pengguna Antarmuka Baris CloudFormation Perintah.

catatan

Seperti halnya ekstensi pribadi, ekstensi publik dari penerbit pihak ketiga dapat mengimplementasikan pengendali peristiwa yang berjalan selama sumber daya membuat, membaca, memperbarui, membuat daftar, dan menghapus operasi tumpukan. Karena itu, menggunakan ekstensi ini di CloudFormation tumpukan Anda dapat dikenakan biaya ke akun Anda. Ini adalah tambahan untuk biaya yang dikeluarkan untuk sumber daya yang dibuat. Untuk informasi selengkapnya, lihat Harga AWS CloudFormation.

Mengaktifkan ekstensi publik untuk digunakan di Akun AWS

Untuk menggunakan ekstensi pihak ketiga publik dalam templat Anda, Anda harus terlebih dahulu mengaktifkan ekstensi untuk akun dan wilayah tempat Anda ingin menggunakannya. Mengaktifkan ekstensi membuatnya dapat digunakan dalam operasi tumpukan di akun dan wilayah tempat ekstensi diaktifkan. Saat Anda mengaktifkan ekstensi pihak ketiga publik, CloudFormation buat entri di registri ekstensi akun Anda untuk ekstensi yang diaktifkan sebagai ekstensi pribadi. Hal ini memungkinkan Anda untuk menyesuaikan ekstensikarena diaktifkan di akun Anda dengan cara berikut:

  • Tentukan alias yang akan digunakan daripada nama ekstensi pihak ketiga publik. Ini dapat membantu menghindari tabrakan penamaan antara ekstensi pihak ketiga.

  • Tentukan apakah ekstensi diperbarui secara otomatis saat versi minor atau patch baru tersedia.

  • Tentukan peran eksekusi yang CloudFormation digunakan untuk mengaktifkan ekstensi, selain mengkonfigurasi logging untuk ekstensi.

Ketika Anda mengaktifkan ekstensi pihak ketiga publik, Anda juga dapat mengatur properti konfigurasi yang disertakan ekstensi. Properti konfigurasi menentukan bagaimana ekstensi dikonfigurasi untuk akun dan wilayah tertentu. Lihat berikut ini untuk informasi selengkapnya tentang konfigurasi:

Pengaturan CloudFormation untuk secara otomatis menggunakan versi ekstensi baru

Saat Anda mengaktifkan ekstensi, Anda juga dapat menentukan jenis ekstensi untuk menggunakan versi minor terbaru. Jenis ekstensi Anda memperbarui versi minor, setiap kali penerbit merilis versi baru pada ekstensi Anda yang diaktifkan.

Misalnya, saat berikutnya Anda melakukan operasi tumpukan, seperti membuat atau memperbarui tumpukan, menggunakan templat yang menyertakan ekstensi itu, CloudFormation menggunakan versi minor yang baru.

Memperbarui ke versi ekstensi baru, baik secara otomatis maupun manual dan tidak memengaruhi instance ekstensi apa pun yang sudah disediakan di tumpukan.

CloudFormation memperlakukan pembaruan versi utama ekstensi sebagai berpotensi mengandung perubahan yang melanggar, sehingga mengharuskan Anda memperbarui secara manual ke versi utama ekstensi yang baru.

Ekstensi AWS yang diterbitkan oleh diaktifkan secara default untuk semua akun dan wilayah di mana mereka tersedia, dan selalu menggunakan versi terbaru yang tersedia di masing-masing Wilayah AWS.

penting

Karena Anda mengontrol jika dan kapan ekstensi diperbarui ke versi terbaru di akun Anda, Anda bisa mendapatkan versi berbeda dari ekstensi yang sama yang digunakan di akun dan wilayah yang berbeda.

Hal ini berpotensi menghasilkan hasil yang tidak diharapkan saat menggunakan templat yang sama, yang berisi ekstensi tersebut, di seluruh akun dan wilayah tersebut.

Menentukan alias untuk mereferensikan ke ekstensi

Anda tidak dapat mengaktifkan lebih dari satu ekstensi dengan nama tertentu di akun dan Wilayah tertentu. Karena penerbit yang berbeda mungkin menawarkan ekstensi publik dengan nama ekstensi yang sama, CloudFormation Anda dapat menentukan alias untuk ekstensi publik pihak ketiga yang Anda aktifkan.

Jika Anda menentukan alias untuk ekstensi, CloudFormation memperlakukan alias sebagai nama jenis ekstensi dalam akun dan wilayah. Anda harus menggunakan alias untuk merujuk ke ekstensi di template, API panggilan, dan CloudFormation konsol Anda.

Alias ekstensi harus unik dalam akun dan Wilayah tertentu. Anda dapat mengaktifkan sumber daya publik yang sama beberapa kali di akun dan Wilayah yang sama, menggunakan alias nama tipe yang berbeda.

penting

Meskipun alias ekstensi hanya diperlukan untuk menjadi unik di akun dan wilayah tertentu, kami sangat menyarankan agar pengguna tidak menetapkan alias yang sama ke ekstensi publik pihak ketiga yang berbeda di seluruh akun dan wilayah. Melakukannya dapat menyebabkan hasil yang tidak diharapkan saat menggunakan templat yang berisi alias ekstensi di beberapa akun atau wilayah.

Menentukan peran eksekusi saat mengaktifkan ekstensi

Saat mengaktifkan sumber daya, Anda dapat menentukan peran IAM eksekusi CloudFormation untuk diasumsikan saat menjalankan ekstensi tersebut di akun dan wilayah Anda.

CloudFormation Agar dapat mengambil peran eksekusi, peran tersebut harus memiliki kebijakan kepercayaan yang ditentukan CloudFormation. Selain itu, izin untuk melakukan operasi diberikan dengan membuat IAM kebijakan dan melampirkan peran eksekusi. Izin yang diperlukan didefinisikan di bagian handler skema ekstensi.

Berikut ini adalah contoh Kebijakan kepercayaan IAM peran untuk ekstensi jenis sumber daya:

{ "Version": "2012-10-17", "Statement":[ { "Effect": "Allow", "Principal":{ "Service": "resources.cloudformation.amazonaws.com" }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "StringLike":{ "aws:SourceArn":"arn:aws:cloudformation:us-east-1:123456789012:type/resource/Organization-Service-Resource/*" } } } ] }

Berikut ini adalah contoh Kebijakan kepercayaan IAM peran untuk ekstensi hook:

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal": { "Service": [ "resources.cloudformation.amazonaws.com", "hooks.cloudformation.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition":{ "StringEquals":{ "aws:SourceAccount":"123456789012" }, "StringLike":{ "aws:SourceArn":"arn:aws:cloudformation:us-east-1:123456789012:type/hook/Organization-Service-Hook/*" } } } ] }

Untuk informasi selengkapnya, lihat Mengubah kebijakan kepercayaan peran dalam Panduan Pengguna AWS Identity and Access Management .

Untuk mengaktifkan ekstensi publik di registri

Aktifkan ekstensi Anda di AWS CloudFormation registri sehingga tersedia untuk digunakan.

Untuk mengaktifkan ekstensi publik untuk digunakan di akun Anda menggunakan CloudFormation konsol

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

  2. Dari panel CloudFormationnavigasi, di bawah CloudFormation registri, pilih Ekstensi publik.

  3. Gunakan Filter untuk memilih jenis ekstensi, dan pilih Pihak ketiga. (Ekstensi yang diterbitkan oleh AWS diaktifkan secara default.)

  4. Pilih ekstensi, lalu pilih Aktifkan.

    catatan

    Jika beberapa versi ekstensi tersedia, Anda dapat menggunakan menu Versi memilih versi ekstensi yang ingin Anda aktifkan. Default adalah versi terbaru.

  5. Gunakan opsi pada halaman Mengaktifkan ekstensi untuk menyesuaikan cara ekstensi diaktifkan di akun ini.

    • Untuk mengaktifkan ekstensi menggunakan alias jenis ekstensi:

      1. Pilih Timpa default

      2. Masukkan alias jenis ekstensi yang ingin Anda gunakan dengan ekstensi ini. Alias harus mengikuti format yang disarankan untuk jenis ekstensi.

      Untuk informasi lebih lanjut, lihat Menentukan alias untuk mereferensikan ke ekstensi.

    • Jika Anda mengaktifkan sumber daya pribadi, Anda dapat menentukan IAM peran yang CloudFormation akan diambil saat menjalankan ekstensi. Untuk informasi selengkapnya, lihat Menentukan peran eksekusi saat mengaktifkan ekstensi.

    • Di bawah Konfigurasi pencatatan, tentukan informasi konfigurasi pencatatan untuk ekstensi, jika diinginkan. Sebagai contoh:

      { "logRoleArn": "arn:aws:iam::account:role/rolename", "logGroupName": "log-group-name" }

      Informasi konfigurasi logging tidak diperlukan tetapi disarankan untuk tujuan debugging. Untuk menggunakan konfigurasi logging dengan hook, tambahkan kebijakan kepercayaan yang sama dengan peran eksekusi yang ditentukan, sehingga peran log dapat menulis log ke grup log Anda.

      logRoleArndan nama logGroupNamekunci peka huruf besar/kecil.

    • Di bawah Pembuatan Versi, tentukan cara Anda menerima pembaruan.

      • Aktif - Secara otomatis memperbarui ke versi minor terbaru. Versi utama diperbarui secara manual.

      • Mati - Jangan pernah memperbarui ke versi terbaru secara otomatis. Semua versi diperbarui secara manual.

      Untuk informasi selengkapnya, lihat Pengaturan CloudFormation untuk menggunakan versi ekstensi baru secara otomatis.

  6. Tentukan data konfigurasi.

    catatan

    Langkah ini diperlukan untuk kait. Anda harus menentukan ALL untuk TargetStack properti. Operasi ini memungkinkan properti hook yang didefinisikan di bagian properti skema hook.

    Jika ekstensi memerlukan konfigurasi tambahan di tingkat akun dan Wilayah, CloudFormation sertakan bagian Konfigurasi pada halaman Aktifkan ekstensi. Anda memiliki opsi untuk menentukan data konfigurasi sekarang, atau setelah ekstensi telah diaktifkan. Jika ekstensi tidak memerlukan konfigurasi, Anda tidak akan melihat bagian Konfigurasi.

    • Untuk menentukan data konfigurasi saat mengaktifkan ekstensi:

      1. Pilih Konfigurasi sekarang, lalu pilih Aktifkan ekstensi.

        CloudFormation menampilkan halaman ekstensi Konfigurasi. Untuk melihat skema konfigurasi saat ini untuk ekstensi, pastikan Lihat skema konfigurasi sudah diaktifkan.

      2. Di kotak JSON teks Konfigurasi, masukkan JSON string yang mewakili skema konfigurasi yang ingin Anda tentukan untuk ekstensi ini.

      3. Pilih Konfigurasi ekstensi.

    • Untuk menentukan data konfigurasi nanti:

      • Pilih Konfigurasi nanti, dan kemudian pilih Aktifkan ekstensi.

      Untuk menentukan data konfigurasi untuk ekstensi yang sudah diaktifkan, kunjungi halaman detail ekstensi yang diaktifkan.

    Setelah ekstensi berhasil diaktifkan, CloudFormation menampilkan halaman detail untuk ekstensi itu.

Untuk memperbarui ekstensi publik yang diaktifkan di akun Anda menggunakan CloudFormation konsol

Perbarui ekstensi Anda di AWS CloudFormation registri sehingga tersedia untuk digunakan.

Setelah mengaktifkan ekstensi di akun dan wilayah, Anda dapat memperbarui properti berikut dari ekstensi tersebut saat diaktifkan, termasuk:

  • Skema konfigurasi.

  • Apakah akan mengaktifkan pembaruan versi otomatis.

  • Untuk ekstensi terdaftar pribadi, peran eksekusi yang akan digunakan.

  • Informasi konfigurasi logging.

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

  2. Dari panel CloudFormationnavigasi, di bawah CloudFormation registri, pilih Ekstensi publik.

  3. Dari menu Tindakan, pilih Edit, dan kemudian opsi pengeditan yang sesuai:

    • Untuk memperbarui skema konfigurasi, lihat Untuk menentukan properti konfigurasi untuk ekstensi di konsol CloudFormation

    • Untuk mengaktifkan atau menonaktifkan pembaruan otomatis:

      1. Pilih Edit pembaruan otomatis.

      2. Pilih Aktif atau Nonaktif, lalu pilih Simpan.

    • Untuk memperbarui peran eksekusi:

      1. Pilih Edit peran eksekusi.

      2. Tentukan ARN IAM peran yang CloudFormation ingin Anda gunakan saat menjalankan ekstensi ini, lalu pilih Simpan.

    • Untuk memperbarui konfigurasi pencatatan:

      1. Pilih Edit konfigurasi pencatatan.

      2. Edit konfigurasi loggingJSON, lalu pilih Simpan.

Untuk mengaktifkan ekstensi publik untuk digunakan di akun Anda menggunakan AWS CLI

Aktifkan ekstensi Anda di AWS CloudFormation registri melalui file AWS CLI.

Untuk mengaktifkan kait

Setelah Anda mengembangkan dan mendaftarkan hook Anda, Anda dapat mengaktifkan hook Anda Akun AWS dengan menerbitkannya ke registri.

  • Untuk mengaktifkan hook di akun Anda, gunakan SetTypeConfigurationoperasi. Operasi ini memungkinkan properti hook yang didefinisikan di properties bagian skema hook.

    catatan

    Dengan mengaktifkan hook di akun Anda, Anda mengotorisasi hook untuk menggunakan izin yang ditentukan dari akun Anda. Akun AWS CloudFormation menghapus izin yang tidak diperlukan sebelum meneruskan izin Anda ke hook. CloudFormation merekomendasikan pelanggan atau pengguna hook untuk meninjau izin hook dan mengetahui izin apa yang diizinkan oleh hook sebelum mengaktifkan hook di akun Anda.

    Tentukan data konfigurasi untuk ekstensi hook terdaftar Anda di akun yang sama dan Wilayah AWS.

    aws cloudformation --region us-west-2 set-type-configuration \ --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"TargetStacks": "ALL", "FailureMode": "FAIL", "Properties":{}}}}" \ --type-arn $HOOK_TYPE_ARN
    penting

    Untuk mengaktifkan hook Anda untuk secara proaktif memeriksa konfigurasi tumpukan Anda, Anda harus mengatur TargetStacks to ALL di bagianHookConfiguration.

Untuk mengaktifkan jenis dan modul sumber daya
Untuk mengaktifkan ekstensi publik untuk digunakan di akun Anda menggunakan AWS CLI
  • Gunakan activate-type untuk mengaktifkan ekstensi, dan tentukan apakah akan memperbarui ekstensi secara otomatis setiap kali versi minor ekstensi baru diterbitkan.

    Contoh di bawah ini menentukan Nama Sumber Daya Amazon publik (ARN) dari ekstensi publik untuk mengaktifkan akun ini. Selain itu, ini menentukan bahwa CloudFormation memperbarui ekstensi setiap kali versi minor baru diterbitkan.

    aws cloudformation activate-type \ --public-type-arn public_extension_ARN \ --auto-update true

    Perintah ini mengembalikan ekstensi ARN yang diaktifkan, khusus untuk akun ini dan Wilayah.

    { "Arn": "624af370-311a-11e8-b6b7-500cexample" }
Untuk memperbarui versi ekstensi publik menggunakan AWS CLI

Gunakan activate-type untuk mengaktifkan ekstensi lagi.

Gunakan --version-bump parameter untuk menentukan apakah akan memperbarui ekstensi ke MAJOR versi terbaru, MINOR versi terbaru.

aws cloudformation activate-type \ --region us-west-2 \ --type RESOURCE \ --type-name Example::Test::1234567890abcdef0 \ --type-name-alias Example::Test::Alias \ --version-bump MAJOR

Untuk menonaktifkan ekstensi publik di akun Anda

Bagian berikut menunjukkan cara menonaktifkan ekstensi publik di akun Anda.

Untuk menonaktifkan ekstensi publik di akun Anda menggunakan konsol CloudFormation

  1. Gunakan CloudFormation registri untuk menemukan ekstensi.

  2. Dari menu Tindakan, pilih Nonaktifkan.

  3. Pilih Nonaktifkan.

Untuk menonaktifkan ekstensi publik di akun Anda menggunakan AWS CLI

Untuk menonaktifkan ekstensi publik di akun Anda, tentukan tipe nonaktif. Berikut ini adalah contoh perintah AWS CLI nonaktifkan.

aws cloudformation deactivate-type \ --region us-west-2 \ --type MODULE \ --type-name Example::Test::Type::MODULE

Untuk menonaktifkan hook di akun Anda menggunakan AWS CLI

Menonaktifkan kait mencegah kait menjalankan kait Anda. Akun AWS

TargetStacksatur untuk NONE mematikan hook di akun Anda, jadi itu tidak berlaku untuk operasi tumpukan.

Gunakan set-type-configurationoperasi dan tentukan TargetStacks NONE untuk menonaktifkan hook.

Contoh berikut menentukan Wilayah AWS dan Amazon Resource Name (ARN) dari hook yang sedang dinonaktifkan.

aws cloudformation set-type-configuration \ --region us-west-2 \ --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"TargetStacks": "NONE", "FailureMode": "FAIL", "Properties":{}}}}" \ --type-arn HOOK_TYPE_ARN