Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dapatkan nilai plaintext dari Systems Manager Parameter Store
Saat membuat CloudFormation template, Anda mungkin ingin menggunakan nilai plaintext yang disimpan di Parameter Store. Parameter Store adalah kemampuan AWS Systems Manager. Untuk pengantar Parameter Store, lihat AWS Systems Manager Parameter Menyimpan di Panduan AWS Systems Manager Pengguna.
Untuk menggunakan nilai plaintext dari Parameter Store dalam template Anda, Anda menggunakan referensi ssm
dinamis. Referensi ini memungkinkan Anda untuk mengakses nilai dari parameter tipe String
atau StringList
di Parameter Store.
Untuk memverifikasi versi referensi ssm
dinamis mana yang akan digunakan dalam operasi tumpukan, buat set perubahan untuk operasi tumpukan. Kemudian, tinjau template yang diproses pada tab Template. Untuk informasi selengkapnya, silakan lihat Buat set perubahan dan Melihat set perubahan.
Saat menggunakan referensi ssm
dinamis, ada beberapa hal penting yang perlu diingat:
-
CloudFormation tidak mendukung deteksi drift pada referensi dinamis. Untuk referensi
ssm
dinamis di mana Anda belum menentukan versi parameter, sebaiknya, jika Anda memperbarui versi parameter di Systems Manager, Anda juga melakukan operasi pembaruan tumpukan pada tumpukan apa pun yang menyertakan referensissm
dinamis, untuk mengambil versi parameter terbaru. -
Untuk menggunakan referensi
ssm
dinamis diParameters
bagian CloudFormation template Anda, Anda harus menyertakan nomor versi. CloudFormation tidak memungkinkan Anda untuk mereferensikan nilai Parameter Store tanpa nomor versi di bagian ini. Atau, Anda dapat menentukan parameter Anda sebagai tipe parameter Systems Manager di template Anda. Ketika Anda melakukan ini, Anda dapat menentukan kunci parameter Systems Manager sebagai nilai default untuk parameter Anda. CloudFormation kemudian akan mengambil versi terbaru dari nilai parameter dari Parameter Store, tanpa Anda harus menentukan nomor versi. Ini dapat membuat template Anda lebih sederhana dan lebih mudah dirawat. Untuk informasi selengkapnya, lihat Referensikan sumber daya yang ada dan parameter Systems Manager dengan CloudFormation tipe parameter yang disediakan. -
Untuk sumber daya kustom, CloudFormation selesaikan referensi
ssm
dinamis sebelum mengirim permintaan ke sumber daya kustom. -
CloudFormation tidak mendukung penggunaan referensi dinamis untuk mereferensikan parameter yang dibagikan dari yang lain Akun AWS.
-
CloudFormation tidak mendukung penggunaan label parameter Systems Manager dalam referensi dinamis.
Izin
Untuk menentukan parameter yang disimpan di Systems Manager Parameter Store, Anda harus memiliki izin untuk memanggil GetParametersuntuk parameter yang ditentukan. Untuk mempelajari cara membuat IAM kebijakan yang menyediakan akses ke parameter Systems Manager tertentu, lihat Membatasi akses ke parameter Systems Manager menggunakan IAM kebijakan di Panduan AWS Systems Manager Pengguna.
Pola referensi
Untuk mereferensikan nilai plaintext yang disimpan di Systems Manager Parameter Store di CloudFormation template Anda, gunakan pola ssm
referensi berikut.
{{resolve:ssm:
parameter-name
:version
}}
Referensi Anda harus mematuhi pola ekspresi reguler berikut untuk nama parameter dan versi:
{{resolve:ssm:[a-zA-Z0-9_.\-/]+(:\d+)?}}
parameter-name
-
Nama parameter dalam Penyimpanan Parameter. Perhatikan bahwa nama parameter bersifat peka huruf besar-kecil.
Diperlukan.
version
-
Integer yang menentukan versi parameter untuk digunakan. Jika Anda tidak menentukan versi yang tepat, CloudFormation gunakan versi terbaru dari parameter setiap kali Anda membuat atau memperbarui tumpukan. Untuk informasi selengkapnya, lihat Bekerja dengan versi parameter di Panduan AWS Systems Manager Pengguna.
Tidak wajib.
Contoh
Contoh berikut membuat template EC2 peluncuran yang mereferensikan AMI ID kustom yang disimpan di Parameter Store. Referensi dinamis mengambil AMI ID dari versi 2
parameter setiap kali instance diluncurkan dari template peluncuran.golden-ami
JSON
{ "Resources": { "MyLaunchTemplate": { "Type": "AWS::EC2::LaunchTemplate", "Properties": { "LaunchTemplateName": { "Fn::Sub": "${AWS::StackName}-launch-template" }, "LaunchTemplateData": { "ImageId": "{{resolve:ssm:
golden-ami:2
}}", "InstanceType": "t2.micro" } } } } }
YAML
Resources: MyLaunchTemplate: Type: AWS::EC2::LaunchTemplate Properties: LaunchTemplateName: !Sub ${AWS::StackName}-launch-template LaunchTemplateData: ImageId: '{{resolve:ssm:
golden-ami:2
}}' InstanceType: t2.micro