Contoh untuk membuat dan mengelola template peluncuran dengan AWS CLI - EC2Auto 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), atauSDKs. 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 dari mana untuk meluncurkan instance.

  • Ganti t2.micro dengan jenis instance yang kompatibel dengan AMI yang Anda tentukan.

Contoh ini membuat template peluncuran dengan nama my-template-for-auto-scaling. Jika instance yang dibuat oleh template peluncuran ini diluncurkan secara defaultVPC, mereka menerima alamat IP publik secara default. Jika instance diluncurkan secara nondefaultVPC, 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 JSON yang diformat, lihat Menggunakan tanda kutip dengan string di Panduan Pengguna. AWS CLIAWS Command Line Interface

Atau, Anda dapat menentukan parameter JSON -format 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 IAM peran yang akan diteruskan ke instance

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

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 secara nondefault. VPC

catatan

Saat Anda menentukan antarmuka jaringan, tentukan nilai untuk Groups yang sesuai dengan grup keamanan untuk grup Auto Scaling Anda akan meluncurkan instance. VPC Tentukan VPC subnet 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 22 gigabyte EBS yang dipetakan ke. /dev/xvdcz /dev/xvdczVolume menggunakan tipe volume Tujuan Umum 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 EFAMenambahkan templat peluncuran ke dalam 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 EC2P4d 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 AMI ID 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'