Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Jenis parameter Systems Manager
Jenis parameter Systems Manager sesuai dengan parameter yang ada di Systems Manager Parameter Store. Anda menentukan kunci parameter Systems Manager sebagai nilai tipe parameter Systems Manager, dan CloudFormation mengambil nilai terbaru dari Parameter Store yang akan digunakan untuk tumpukan. Ini dapat berguna, misalnya, ketika Anda perlu sering memperbarui sumber daya aplikasi Anda dengan mengubah nilai, seperti Amazon Machine Image (AMI)IDs.
Anda dapat melihat nilai yang diselesaikan untuk parameter Systems Manager pada tab Parameter tumpukan di konsol, atau dengan menjalankan describe-stacksatau describe-change-set. Ini adalah nilai yang saat ini digunakan dalam definisi tumpukan untuk kunci parameter Systems Manager yang sesuai. Perhatikan bahwa nilai-nilai ini ditetapkan ketika tumpukan dibuat atau diperbarui, sehingga mereka mungkin berbeda dari nilai-nilai terbaru di Penyimpanan Parameter.
Karena nilai tipe parameter Systems Manager adalah kunci parameter, Anda harus mengetahui perilaku berikut:
-
Untuk pembaruan tumpukan, opsi Gunakan nilai yang ada di konsol dan
UsePreviousValue
atribut untuk update-stackmemberitahu CloudFormation untuk menggunakan kunci parameter Systems Manager yang ada—bukan nilainya. CloudFormation selalu mengambil nilai terbaru dari Parameter Store saat memperbarui tumpukan. -
CloudFormation dapat melakukan validasi pada kunci parameter Systems Manager, tetapi tidak pada nilai yang sesuai. Untuk tujuan validasi, Anda dapat memperlakukan kunci parameter sebagai string. Anda harus melakukan validasi untuk nilai parameter Systems Manager di Parameter Store.
Saat Anda membuat atau memperbarui tumpukan dan membuat set perubahan, CloudFormation gunakan nilai apa pun yang ada di Parameter Store pada saat operasi dijalankan. Jika parameter tertentu tidak ada di Parameter Store di bawah pemanggil Akun AWS, CloudFormation mengembalikan kesalahan validasi.
Ketika Anda menjalankan set perubahan, CloudFormation menggunakan nilai-nilai yang ditentukan dalam set perubahan. Anda harus meninjau nilai-nilai ini sebelum mengeksekusi perubahan yang ditetapkan karena mereka mungkin berubah dalam Penyimpanan Parameter antara waktu saat Anda membuat perubahan set dan menjalankannya.
Untuk informasi tentang Parameter Store, lihat Systems Manager Parameter Store.
catatan
Untuk parameter Parameter Store yang disimpan dalam hal yang sama Akun AWS, Anda harus memberikan nama parameter. Untuk parameter Parameter Store yang dibagikan oleh yang lain Akun AWS, Anda harus memberikan parameter lengkapARN.
Topik
Jenis parameter Systems Manager yang Didukung
CloudFormation mendukung jenis parameter Systems Manager berikut:
AWS::SSM::Parameter::Name
-
Nama kunci parameter Systems Manager.
Gunakan parameter ini bila Anda ingin melewati kunci parameter. Misalnya, Anda dapat menggunakan tipe ini untuk memvalidasi bahwa parameter ada.
AWS::SSM::Parameter::Value<String>
-
Parameter Systems Manager yang nilainya adalah string. Hal ini sesuai dengan
String
tipe parameter di Penyimpanan Parameter. AWS::SSM::Parameter::Value<List<String>>
atauAWS::SSM::Parameter::Value<CommaDelimitedList>
-
Parameter Systems Manager yang nilainya adalah daftar string. Hal ini sesuai dengan
StringList
tipe parameter di Penyimpanan Parameter. AWS::SSM::Parameter::Value<
AWS-specific parameter type
>-
Parameter Systems Manager yang nilainya adalah tipe parameter AWS-spesifik. Sebagai contoh, berikut menentukan
AWS::EC2::KeyPair::KeyName
tipe:AWS::SSM::Parameter::Value<AWS::EC2::KeyPair::KeyName>
AWS::SSM::Parameter::Value<List<
AWS-specific parameter type
>>-
Parameter Systems Manager yang nilainya adalah daftar tipe parameter AWS-spesifik. Sebagai contoh, berikut menentukan daftar
AWS::EC2::KeyPair::KeyName
tipe:AWS::SSM::Parameter::Value<List<AWS::EC2::KeyPair::KeyName>>
Tipe parameter Systems Manager yang tidak didukung
CloudFormation tidak mendukung tipe parameter Systems Manager berikut:
-
Daftar tipe parameter Systems Manager — misalnya:
List<AWS::SSM::Parameter::Value<String>>
Selain itu, CloudFormation tidak mendukung mendefinisikan parameter template sebagai tipe parameter SecureString
Systems Manager. Namun, Anda dapat menentukan string aman sebagai nilai parameter untuk sumber daya tertentu. Untuk informasi selengkapnya, lihat Tentukan nilai yang disimpan di layanan lain menggunakan referensi dinamis.
Contoh
Topik
AMIID yang mereferensikan parameter publik Systems Manager sebagai nilai default
<AWS::EC2::Image::Id>
Jenis ini khusus untuk parameter AMI ID dan mendukung parameter publik yang disediakan oleh AWS.
Contoh berikut mendeklarasikan parameter bernama LatestAmiId
tipeAWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
. Secara default, ImageId
properti referensi EC2 instance
. Parameter publik ini adalah alias untuk nilai AMI ID regional untuk Amazon Linux 2 AMI terbaru. Untuk informasi selengkapnya tentang parameter publik, lihat Menemukan parameter publik di Panduan AWS Systems Manager Pengguna./aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
JSON
{ "Parameters": { "LatestAmiId": { "Description": "Region specific image from the Parameter Store", "Type": "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>", "Default": "
/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
" } }, "Resources": { "Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Ref": "LatestAmiId" } } } } }
YAML
Parameters: LatestAmiId: Description: Region specific image from the Parameter Store Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Default: '
/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
' Resources: Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: !Ref LatestAmiId
AMIID yang mereferensikan parameter Systems Manager dan tidak ada nilai default
Contoh berikut mendeklarasikan parameter bernama ImageId
tipe AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
tanpa nilai default. Ini berarti Anda harus memberikan kunci parameter Systems Manager yang mereferensikan AMI ID yang diinginkan saat membuat tumpukan.
JSON
{ "Parameters": { "ImageId": { "Type": "AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>" } }, "Resources": { "Instance": { "Type": "AWS::EC2::Instance", "Properties": { "ImageId": { "Ref": "ImageId" } } } } }
YAML
Parameters: ImageId: Type: 'AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>' Resources: Instance: Type: 'AWS::EC2::Instance' Properties: ImageId: !Ref ImageId
Perintah berikut membuat tumpukan berdasarkan contoh templat. Ini menyediakan kunci parameter Systems Manager (
) sebagai nilai untuk parameter myLatestAMI
ImageId
template. Ini mengasumsikan bahwa
parameter ada di Parameter Store di bawah pemanggil. Akun AWSmyLatestAMI
aws cloudformation create-stack --stack-name S2 --template-body
example template
\ --parameters ParameterKey=ImageId,ParameterValue=myLatestAMI
Mereferensikan parameter string Systems Manager
Contoh berikut mendeklarasikan parameter bernama InstanceType
tipeAWS::SSM::Parameter::Value<String>
. Karena tidak ada nilai default, Anda harus memberikan kunci parameter Systems Manager yang mereferensikan jenis instance yang diinginkan saat membuat tumpukan.
JSON
{ "Parameters": { "InstanceType": { "Type": "AWS::SSM::Parameter::Value<String>" } }, "Resources": { "Instance": { "Type": "AWS::EC2::Instance", "Properties": { "InstanceType": { "Ref": "InstanceType" } } } } }
YAML
Parameters: InstanceType: Type: 'AWS::SSM::Parameter::Value<String>' Resources: Instance: Type: 'AWS::EC2::Instance' Properties: InstanceType: !Ref InstanceType
Perintah berikut membuat tumpukan berdasarkan contoh templat. Ini menyediakan kunci parameter Systems Manager (
) sebagai nilai untuk parameter myInstanceType
InstanceType
template. Ini mengasumsikan bahwa
parameter ada di Parameter Store di bawah pemanggil. Akun AWSmyInstanceType
aws cloudformation create-stack --stack-name S1 --template-body
example template
\ --parameters ParameterKey=InstanceType,ParameterValue=myInstanceType