

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
<a name="dynamic-references-ssm"></a>

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](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-parameter-store.html) 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, lihat [Buat set perubahan untuk CloudFormation tumpukan](using-cfn-updating-stacks-changesets-create.md).

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 referensi `ssm` dinamis, untuk mengambil versi parameter terbaru.
+ Untuk menggunakan referensi `ssm` dinamis di `Parameters` 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 [Tentukan sumber daya yang ada saat runtime dengan CloudFormation tipe parameter yang disediakan](cloudformation-supplied-parameter-types.md).
+ 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
<a name="dynamic-references-ssm-permissions"></a>

Untuk menentukan parameter yang disimpan di Systems Manager Parameter Store, Anda harus memiliki izin [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html)untuk memanggil parameter yang ditentukan. *Untuk mempelajari cara membuat kebijakan IAM yang menyediakan akses ke parameter Systems Manager tertentu, lihat [Membatasi akses ke parameter Systems Manager menggunakan kebijakan IAM di Panduan](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-access.html) Pengguna.AWS Systems Manager *

## Pola referensi
<a name="dynamic-references-ssm-pattern"></a>

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.  
Wajib.

`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](https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-paramstore-versions.html) di *Panduan AWS Systems Manager Pengguna*.  
Tidak wajib.

## Contoh
<a name="dynamic-references-ssm-examples"></a>

**Topics**
+ [Parameter ID AMI Publik](#dynamic-references-ssm-public-ami-example)
+ [Parameter ID AMI kustom](#dynamic-references-ssm-custom-ami-example)

### Parameter ID AMI Publik
<a name="dynamic-references-ssm-public-ami-example"></a>

Contoh berikut membuat instance EC2 yang mereferensikan parameter AMI publik. Referensi dinamis mengambil ID AMI Amazon Linux 2023 terbaru dari parameter publik. Untuk informasi selengkapnya tentang parameter publik, lihat [Menemukan parameter publik di Penyimpanan Parameter](https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-finding-public-parameters.html) di *Panduan AWS Systems Manager Pengguna*.

#### JSON
<a name="dynamic-references-ssm-public-ami-example.json"></a>

```
{
    "Resources": {
        "MyInstance": {
            "Type": "AWS::EC2::Instance",
            "Properties": {
                "ImageId": "{{resolve:ssm:{{/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}}}",
                "InstanceType": "t2.micro"
            }
        }
    }
}
```

#### YAML
<a name="dynamic-references-ssm-public-ami-example.yaml"></a>

```
Resources:
  MyInstance:
    Type: AWS::EC2::Instance
    Properties:
      ImageId: '{{resolve:ssm:{{/aws/service/ami-amazon-linux-latest/al2023-ami-kernel-6.1-x86_64}}}}'
      InstanceType: t2.micro
```

### Parameter ID AMI kustom
<a name="dynamic-references-ssm-custom-ami-example"></a>

Contoh berikut membuat template peluncuran EC2 yang mereferensikan ID AMI kustom yang disimpan di Parameter Store. Referensi dinamis mengambil ID AMI {{`2`}} dari versi `{{golden-ami}}` parameter setiap kali instance diluncurkan dari template peluncuran.

#### JSON
<a name="dynamic-references-ssm-custom-ami-example.json"></a>

```
{
    "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
<a name="dynamic-references-ssm-custom-ami-example.yaml"></a>

```
Resources:
  MyLaunchTemplate:
    Type: AWS::EC2::LaunchTemplate
    Properties: 
      LaunchTemplateName: !Sub ${AWS::StackName}-launch-template
      LaunchTemplateData:
        ImageId: '{{resolve:ssm:{{golden-ami:2}}}}'
        InstanceType: t2.micro
```