View a markdown version of this page

Gunakan AWS Systems Manager parameter alih-alih ID AMI di template peluncuran - Amazon EC2 Auto Scaling

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

Gunakan AWS Systems Manager parameter alih-alih ID AMI di template peluncuran

Bagian ini menunjukkan cara membuat template peluncuran yang menentukan AWS Systems Manager parameter yang mereferensikan ID Amazon Machine Image (AMI). Anda dapat menggunakan parameter yang disimpan dalam parameter yang sama Akun AWS, parameter yang dibagikan dari yang lain Akun AWS, atau parameter publik untuk AMI publik yang dikelola oleh AWS.

Dengan parameter Manajer Sistem, Anda dapat memperbarui grup Penskalaan Otomatis untuk menggunakan ID AMI baru tanpa perlu membuat templat peluncuran baru atau versi baru template peluncuran setiap kali ID AMI berubah. ID ini dapat berubah secara teratur, seperti ketika AMI diperbarui dengan sistem operasi terbaru atau pembaruan perangkat lunak.

Anda dapat membuat, memperbarui, atau menghapus parameter Manajer Sistem Anda sendiri menggunakan Penyimpanan Parameter, kemampuan AWS Systems Manager. Anda harus membuat parameter Manajer Sistem sebelum Anda dapat menggunakannya dalam template peluncuran. Untuk memulai, buat parameter dengan tipe dataaws:ec2:image, dan untuk nilainya, masukkan ID AMI. ID AMI memiliki formulirami-<identifier>, misalnya,ami-123example456. ID AMI yang benar tergantung pada jenis instans dan Wilayah AWS tempat Anda meluncurkan grup Penskalaan Otomatis.

Untuk informasi selengkapnya tentang membuat parameter yang valid untuk ID AMI, lihat Membuat parameter Manajer Sistem.

Buat template peluncuran yang menentukan parameter untuk AMI

Untuk membuat template peluncuran yang menentukan parameter untuk AMI, gunakan salah satu metode berikut:

Console
Untuk membuat template peluncuran menggunakan AWS Systems Manager parameter
  1. Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.

  2. Di panel navigasi, pilih Templat Peluncuran, lalu pilih Buat templat peluncuran.

  3. Untuk Nama templat peluncuran, masukkan nama deskriptif untuk templat peluncuran.

  4. Di bawah Gambar Aplikasi dan OS (Amazon Machine Image), pilih Telusuri AMI lainnya.

  5. Pilih tombol panah di sebelah kanan bilah pencarian, lalu pilih T entukan parameter value/Systems Manajer kustom.

  6. Di kotak dialog Tentukan nilai kustom atau parameter Systems Manager, lakukan hal berikut:

    1. Untuk String parameter ID AMI atau Systems Manager, masukkan nama parameter Systems Manager menggunakan salah satu format berikut:

      Untuk mereferensikan parameter publik:

      • resolve:ssm:public-parameter

      Untuk mereferensikan parameter yang disimpan di akun yang sama:

      • resolve:ssm:parameter-name

      • resolve:ssm:parameter-name:version-number

      • resolve:ssm:parameter-name:label

      Untuk mereferensikan parameter yang dibagikan dari yang lain Akun AWS:

      • resolve:ssm:parameter-ARN

      • resolve:ssm:parameter-ARN:version-number

      • resolve:ssm:parameter-ARN:label

    2. Pilih Simpan.

  7. Konfigurasikan pengaturan template peluncuran lainnya sesuai kebutuhan, lalu pilih Buat template peluncuran. Untuk informasi selengkapnya, lihat Buat templat peluncuran untuk grup Auto Scaling.

AWS CLI

Untuk membuat template peluncuran yang menentukan parameter Manajer Sistem, Anda dapat menggunakan salah satu perintah contoh berikut. Ganti masing-masing user input placeholder dengan informasi Anda sendiri.

Contoh: Membuat template peluncuran yang menentukan AWS-parameter publik yang dimiliki

Gunakan sintaks berikut:resolve:ssm:public-parameter, di resolve:ssm mana awalan standar dan merupakan jalur dan nama parameter publik. public-parameter

Dalam contoh ini, template peluncuran menggunakan parameter publik yang AWS disediakan -untuk meluncurkan instans menggunakan AMI Amazon Linux 2 terbaru di Wilayah AWS yang dikonfigurasi untuk profil Anda.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data file://config.json

Isi dari config.json:

{ "ImageId":"resolve:ssm:/aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2", "InstanceType":"t2.micro" }

Berikut ini adalah contoh respons.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-089c023a30example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2022-12-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
Contoh: Buat template peluncuran yang menentukan parameter yang disimpan di akun yang sama

Gunakan sintaks berikut:resolve:ssm:parameter-name, di resolve:ssm mana awalan standar dan parameter-name merupakan nama parameter Manajer Sistem.

Contoh berikut membuat template peluncuran yang mendapatkan ID AMI dari parameter Manajer Sistem yang ada bernamagolden-ami.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling \ --launch-template-data file://config.json

Isi dari config.json:

{ "ImageId":"resolve:ssm:golden-ami", "InstanceType":"t2.micro" }

Versi default parameter, jika tidak ditentukan, adalah versi terbaru.

Contoh berikut mereferensikan versi tertentu dari golden-ami parameter. Contoh menggunakan versi 3 golden-ami parameter, tetapi Anda dapat menggunakan nomor versi yang valid.

{ "ImageId":"resolve:ssm:golden-ami:3", "InstanceType":"t2.micro" }

Contoh serupa berikut mereferensikan label parameter prod yang dipetakan ke versi golden-ami parameter tertentu.

{ "ImageId":"resolve:ssm:golden-ami:prod", "InstanceType":"t2.micro" }

Berikut ini adalah output contoh.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-068f72b724example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2022-12-27T17:11:21.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }
Contoh: Membuat template peluncuran yang menentukan parameter yang dibagikan dari yang lain Akun AWS

Gunakan sintaks berikut:resolve:ssm:parameter-ARN, di mana resolve:ssm awalan standar dan parameter-ARN merupakan ARN dari parameter Manajer Sistem.

Contoh berikut membuat template peluncuran yang mendapatkan ID AMI dari parameter Manajer Sistem yang ada dengan ARN ofarn:aws:ssm:us-east-2:123456789012:parameter/MyParameter.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data file://config.json

Isi dari config.json:

{ "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter", "InstanceType":"t2.micro" }

Versi default parameter, jika tidak ditentukan, adalah versi terbaru.

Contoh berikut mereferensikan versi tertentu dari MyParameter parameter. Contoh menggunakan versi 3 MyParameter parameter, tetapi Anda dapat menggunakan nomor versi yang valid.

{ "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter:3", "InstanceType":"t2.micro" }

Contoh serupa berikut mereferensikan label parameter prod yang dipetakan ke versi MyParameter parameter tertentu.

{ "ImageId":"resolve:ssm:arn:aws:ssm:us-east-2:123456789012:parameter/MyParameter:prod", "InstanceType":"t2.micro" }

Berikut ini adalah contoh respons.

{ "LaunchTemplate": { "LaunchTemplateId": "lt-00f93d4588example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2024-01-08T12:43:21.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } }

Untuk menentukan parameter dari Penyimpanan Parameter dalam template peluncuran, Anda harus memiliki ssm:GetParameters izin untuk parameter yang ditentukan. Siapa pun yang menggunakan template peluncuran juga memerlukan ssm:GetParameters izin agar nilai parameter divalidasi. Untuk informasi selengkapnya, lihat Membatasi akses ke parameter Manajer Sistem menggunakan kebijakan IAM di Panduan AWS Systems Manager Pengguna.

Verifikasi template peluncuran mendapatkan ID AMI yang benar

Gunakan perintah describe-launch-template-versions dan sertakan --resolve-alias opsi untuk menyelesaikan parameter ke ID AMI yang sebenarnya.

aws ec2 describe-launch-template-versions --launch-template-name my-template-for-auto-scaling \ --versions 1 --resolve-alias

Contoh mengembalikan ID AMI untukImageId. Saat instans diluncurkan menggunakan templat peluncuran ini, ID AMI akan diselesaikan ke ami-0ac394d6a3example.

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-089c023a30example", "LaunchTemplateName": "my-template-for-auto-scaling", "VersionNumber": 1, "CreateTime": "2022-12-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-0ac394d6a3example", "InstanceType": "t2.micro", } } ] }

Untuk detail selengkapnya tentang menentukan parameter Manajer Sistem di template peluncuran Anda, lihat Menggunakan parameter Manajer Sistem alih-alih ID AMI di Panduan Pengguna Amazon EC2.

Untuk informasi selengkapnya tentang bekerja dengan parameter Manajer Sistem, lihat materi referensi berikut dalam dokumentasi Manajer Sistem.

Batasan

Saat bekerja dengan parameter Manajer Sistem, perhatikan batasan berikut:

  • Amazon EC2 Auto Scaling hanya mendukung penentuan ID AMI sebagai parameter.

  • Membuat atau memperbarui grup instance campuran dengan pemilihan tipe instance berbasis atribut menggunakan template peluncuran yang menentukan parameter Manajer Sistem tidak didukung.

  • Jika grup Auto Scaling menggunakan template peluncuran yang menentukan parameter Manajer Sistem, Anda tidak akan dapat memulai penyegaran instans dengan konfigurasi yang diinginkan atau menggunakan pencocokan lewati.

  • Jika grup Auto Scaling menggunakan template peluncuran yang menentukan parameter Manajer Sistem, kumpulan hangat tidak didukung.

  • Pada setiap panggilan untuk membuat atau memperbarui grup Penskalaan Otomatis, Amazon EC2 Auto Scaling akan menyelesaikan parameter Manajer Sistem di template peluncuran. Jika Anda menggunakan parameter lanjutan atau batas throughput yang lebih tinggi, panggilan yang sering ke Penyimpanan Parameter (yaitu GetParameters operasi) dapat meningkatkan biaya untuk Manajer Sistem karena biaya yang dikeluarkan per interaksi API Penyimpanan Parameter. Untuk informasi lebih lanjut, lihat Harga AWS Systems Manager.