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

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 SDK. Bagian ini menunjukkan kepada Anda contoh membuat dan mengelola templat peluncuran untuk Auto Scaling Amazon EC2 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 perintah create-launch-template 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 nama my-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 instance 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

Contoh create-launch-template 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 instans. 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 dikodekan yang mengkonfigurasi instance saat peluncuran. Perintah create-launch-template membutuhkan data pengguna yang disandikan 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

Contoh create-launch-template 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 instans EC2 dengan menggunakan perintah create-launch-template berikut.

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

Contoh create-launch-template 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

Contoh create-launch-template 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 instans yang mendukung beberapa kartu jaringan dan Elastic Fabric Adapters (EFA), Anda dapat menambahkan antarmuka sekunder ke kartu jaringan sekunder dan mengaktifkan EFA dengan menggunakan perintah create-launch-template berikut. Untuk informasi selengkapnya, lihat Menambahkan EFA ke template peluncuran di Panduan Pengguna Amazon EC2.

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 P4d Amazon EC2.

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 instance Ubuntu EC2 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-templates dan describe-launch-template-versions.

Perintah describe-launch-templates 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 templat peluncuran Anda, termasuk pengenal templat 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.

Perintah describe-launch-template-versions 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

Perintah create-launch-template-version 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 perintah modify-launch-template.

Hapus versi templat peluncuran

Perintah delete-launch-template-versions 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 perintah delete-launch-template 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 perintah update-auto-scaling-group untuk menambahkan template peluncuran ke grup Auto Scaling yang ada.

Memperbarui grup Auto Scaling untuk menggunakan versi terbaru dari template peluncuran

Perintah update-auto-scaling-group 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

Perintah update-auto-scaling-group 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'