Contoh untuk membuat dan mengelola template peluncuran dengan AWS CLI - EC2 Auto Scaling Amazon

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

Contoh untuk membuat dan mengelola template peluncuran dengan AWS CLI

Anda dapat membuat dan mengelola template peluncuran melalui AWS Management Console, AWS Command Line Interface (AWS CLI), atau SDKs. Bagian ini menunjukkan kepada Anda contoh membuat dan mengelola template peluncuran untuk Amazon EC2 Auto Scaling dari. AWS CLI

Contoh penggunaan

{ "LaunchTemplateName": "my-template-for-auto-scaling", "VersionDescription": "test description", "LaunchTemplateData": { "ImageId": "ami-04d5cc9b88example", "InstanceType": "t2.micro", "SecurityGroupIds": [ "sg-903004f88example" ], "KeyName": "MyKeyPair", "Monitoring": { "Enabled": true }, "Placement": { "Tenancy": "dedicated" }, "CreditSpecification": { "CpuCredits": "unlimited" }, "MetadataOptions": { "HttpTokens": "required", "HttpPutResponseHopLimit": 1, "HttpEndpoint": "enabled" } } }

Buat template peluncuran dasar

Untuk membuat template peluncuran dasar, gunakan create-launch-templateperintah sebagai berikut, dengan modifikasi ini:

  • Ganti ami-04d5cc9b88example dengan ID AMI untuk meluncurkan instance.

  • Ganti t2.micro dengan tipe instans yang kompatibel dengan AMI yang Anda tentukan.

Contoh ini membuat template peluncuran dengan namamy-template-for-auto-scaling. Jika instans yang dibuat oleh templat peluncuran ini diluncurkan dalam VPC default, mereka menerima alamat IP publik secara default. Jika instans diluncurkan dalam VPC nondefault, mereka tidak menerima alamat IP publik secara default.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Untuk informasi selengkapnya tentang mengutip parameter berformat JSON, lihat Menggunakan tanda kutip dengan string di Panduan Pengguna. AWS CLIAWS Command Line Interface

Atau, Anda dapat menentukan parameter berformat JSON dalam file konfigurasi.

Contoh berikut membuat template peluncuran dasar, mereferensikan file konfigurasi untuk nilai-nilai parameter template peluncuran.

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":"ami-04d5cc9b88example", "InstanceType":"t2.micro" }

Tentukan tag yang menandai instance saat diluncurkan

Contoh berikut menambahkan tag (misalnya,purpose=webserver) ke instance saat peluncuran.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"TagSpecifications":[{"ResourceType":"instance","Tags":[{"Key":"purpose","Value":"webserver"}]}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'
catatan

Jika Anda menentukan tag instance di template peluncuran dan kemudian Anda memilih untuk menyebarkan tag grup Auto Scaling Anda ke instance-nya, semua tag digabungkan. Jika kunci tag yang sama ditentukan untuk tag di template peluncuran dan tag di grup Auto Scaling Anda, maka nilai tag dari grup akan diutamakan.

Tentukan peran IAM untuk diteruskan ke instance

Contoh berikut menentukan nama profil instance yang terkait dengan peran IAM untuk diteruskan ke instance saat peluncuran. Untuk informasi selengkapnya, lihat Peran IAM untuk aplikasi yang berjalan di instans Amazon EC2.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"IamInstanceProfile":{"Name":"my-instance-profile"},"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Tetapkan alamat IP publik

create-launch-templateContoh berikut mengonfigurasi template peluncuran untuk menetapkan alamat publik ke instance yang diluncurkan di VPC nondefault.

catatan

Saat Anda menentukan antarmuka jaringan, tentukan nilai Groups yang sesuai dengan grup keamanan untuk VPC tempat grup Auto Scaling Anda akan meluncurkan instance. Tentukan subnet VPC sebagai properti dari grup Auto Scaling.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"AssociatePublicIpAddress":true,"Groups":["sg-903004f88example"],"DeleteOnTermination":true}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Tentukan skrip data pengguna yang mengonfigurasi instance saat peluncuran

Contoh berikut menentukan script data pengguna sebagai string base64 yang dikodekan yang mengkonfigurasi instance saat peluncuran. create-launch-templatePerintah ini membutuhkan data pengguna yang dikodekan base64.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"UserData":"IyEvYmluL2Jhc...","ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Tentukan pemetaan perangkat blok

create-launch-templateContoh berikut membuat template peluncuran dengan pemetaan perangkat blok: volume EBS 22 gigabyte yang dipetakan ke. /dev/xvdcz /dev/xvdczVolume menggunakan tipe volume General Purpose SSD (gp2) dan dihapus saat mengakhiri instance yang dilampirkan.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"BlockDeviceMappings":[{"DeviceName":"/dev/xvdcz","Ebs":{"VolumeSize":22,"VolumeType":"gp2","DeleteOnTermination":true}}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Tentukan Host Khusus untuk membawa lisensi perangkat lunak dari vendor eksternal

Jika Anda menentukan penyewaan host, Anda dapat menentukan grup sumber daya host dan konfigurasi lisensi License Manager untuk membawa lisensi perangkat lunak yang memenuhi syarat dari vendor eksternal. Kemudian, Anda dapat menggunakan lisensi pada EC2 instance dengan menggunakan perintah berikut create-launch-template.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"Placement":{"Tenancy":"host","HostResourceGroupArn":"arn"},"LicenseSpecifications":[{"LicenseConfigurationArn":"arn"}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Tentukan antarmuka jaringan yang ada

create-launch-templateContoh berikut mengkonfigurasi antarmuka jaringan utama untuk menggunakan antarmuka jaringan yang ada.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"NetworkInterfaceId":"eni-b9a5ac93","DeleteOnTermination":false}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Buat beberapa antarmuka jaringan

create-launch-templateContoh berikut menambahkan antarmuka jaringan sekunder. Antarmuka jaringan utama memiliki indeks perangkat 0, dan antarmuka jaringan sekunder memiliki indeks perangkat 1.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"NetworkInterfaces":[{"DeviceIndex":0,"Groups":["sg-903004f88example"],"DeleteOnTermination":true},{"DeviceIndex":1,"Groups":["sg-903004f88example"],"DeleteOnTermination":true}],"ImageId":"ami-04d5cc9b88example","InstanceType":"t2.micro"}'

Jika Anda menggunakan jenis instance yang mendukung beberapa kartu jaringan dan Elastic Fabric Adapters (EFAs), Anda dapat menambahkan antarmuka sekunder ke kartu jaringan sekunder dan mengaktifkan EFA dengan menggunakan create-launch-templateperintah berikut. Untuk informasi selengkapnya, lihat Menambahkan EFA ke template peluncuran di Panduan EC2 Pengguna Amazon.

aws ec2 create-launch-template --launch-template-name my-template-for-auto-scaling --version-description version1 \ --launch-template-data '{"NetworkInterfaces":[{"NetworkCardIndex":0,"DeviceIndex":0,"Groups":["sg-7c2270198example"],"InterfaceType":"efa","DeleteOnTermination":true},{"NetworkCardIndex":1,"DeviceIndex":1,"Groups":["sg-7c2270198example"],"InterfaceType":"efa","DeleteOnTermination":true}],"ImageId":"ami-09d95fab7fexample","InstanceType":"p4d.24xlarge"}'
Awas

Jenis instans p4d.24xlarge menimbulkan biaya lebih tinggi daripada contoh lain di bagian ini. Untuk informasi selengkapnya tentang harga instans P4d, lihat harga Instans EC2 P4d Amazon.

catatan

Melampirkan beberapa antarmuka jaringan dari subnet yang sama ke instance dapat memperkenalkan perutean asimetris, terutama pada instance yang menggunakan varian Linux non-Amazon. Jika Anda memerlukan konfigurasi jenis ini, Anda harus mengkonfigurasi antarmuka jaringan sekunder di dalam OS. Sebagai contoh, lihat Bagaimana cara membuat antarmuka jaringan sekunder saya berfungsi di EC2 instance Ubuntu saya? di pusat AWS pengetahuan.

Kelola templat peluncuran Anda

AWS CLI Termasuk beberapa perintah lain yang membantu Anda mengelola template peluncuran Anda.

Buat daftar dan jelaskan templat peluncuran Anda

Anda dapat menggunakan dua AWS CLI perintah untuk mendapatkan informasi tentang template peluncuran Anda: describe-launch-templatesdan describe-launch-template-versions.

describe-launch-templatesPerintah ini memungkinkan Anda untuk mendapatkan daftar dari salah satu template peluncuran yang telah Anda buat. Anda dapat menggunakan opsi untuk memfilter hasil pada nama template peluncuran, waktu buat, kunci tag, atau kombinasi nilai kunci tag. Perintah ini mengembalikan informasi ringkasan tentang template peluncuran Anda, termasuk pengenal template peluncuran, versi terbaru, dan versi default.

Contoh berikut memberikan ringkasan template peluncuran yang ditentukan.

aws ec2 describe-launch-templates --launch-template-names my-template-for-auto-scaling

Berikut ini adalah contoh respons.

{ "LaunchTemplates": [ { "LaunchTemplateId": "lt-068f72b729example", "LaunchTemplateName": "my-template-for-auto-scaling", "CreateTime": "2020-02-28T19:52:27.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "DefaultVersionNumber": 1, "LatestVersionNumber": 1 } ] }

Jika Anda tidak menggunakan --launch-template-names opsi untuk membatasi output ke satu template peluncuran, informasi tentang semua template peluncuran Anda akan dikembalikan.

describe-launch-template-versionsPerintah berikut memberikan informasi yang menjelaskan versi template peluncuran yang ditentukan.

aws ec2 describe-launch-template-versions --launch-template-id lt-068f72b729example

Berikut ini adalah contoh respons.

{ "LaunchTemplateVersions": [ { "VersionDescription": "version1", "LaunchTemplateId": "lt-068f72b729example", "LaunchTemplateName": "my-template-for-auto-scaling", "VersionNumber": 1, "CreatedBy": "arn:aws:iam::123456789012:user/Bob", "LaunchTemplateData": { "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "purpose", "Value": "webserver" } ] } ], "ImageId": "ami-04d5cc9b88example", "InstanceType": "t2.micro", "NetworkInterfaces": [ { "DeviceIndex": 0, "DeleteOnTermination": true, "Groups": [ "sg-903004f88example" ], "AssociatePublicIpAddress": true } ] }, "DefaultVersion": true, "CreateTime": "2020-02-28T19:52:27.000Z" } ] }

Buat versi templat peluncuran

create-launch-template-versionPerintah berikut membuat versi template peluncuran baru berdasarkan versi 1 dari template peluncuran dan menentukan ID AMI yang berbeda.

aws ec2 create-launch-template-version --launch-template-id lt-068f72b729example --version-description version2 \ --source-version 1 --launch-template-data "ImageId=ami-c998b6b2example"

Untuk mengatur versi default template peluncuran, gunakan modify-launch-templateperintah.

Hapus versi templat peluncuran

delete-launch-template-versionsPerintah berikut menghapus versi template peluncuran yang ditentukan.

aws ec2 delete-launch-template-versions --launch-template-id lt-068f72b729example --versions 1

Hapus templat peluncuran

Jika Anda tidak lagi memerlukan template peluncuran, Anda dapat menghapusnya menggunakan delete-launch-templateperintah berikut. Menghapus templat peluncuran akan menghapus semua versinya.

aws ec2 delete-launch-template --launch-template-id lt-068f72b729example

Memperbarui grup Auto Scaling untuk menggunakan template peluncuran

Anda dapat menggunakan update-auto-scaling-groupperintah untuk menambahkan template peluncuran ke grup Auto Scaling yang ada.

Memperbarui grup Auto Scaling untuk menggunakan versi terbaru dari template peluncuran

update-auto-scaling-groupPerintah berikut memperbarui grup Auto Scaling yang ditentukan untuk menggunakan versi terbaru dari template peluncuran yang ditentukan.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateId=lt-068f72b729example,Version='$Latest'

Memperbarui grup Auto Scaling untuk menggunakan versi tertentu dari template peluncuran

update-auto-scaling-groupPerintah berikut memperbarui grup Auto Scaling yang ditentukan untuk menggunakan versi tertentu dari template peluncuran yang ditentukan.

aws autoscaling update-auto-scaling-group --auto-scaling-group-name my-asg \ --launch-template LaunchTemplateName=my-template-for-auto-scaling,Version='2'