View a markdown version of this page

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 Konsol Manajemen AWS, AWS Command Line Interface (AWS CLI), atau SDK. Bagian ini menunjukkan kepada Anda contoh membuat dan mengelola templat 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 perintah create-launch-template 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 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 JSON-formatted parameter kutipan, lihat Menggunakan tanda kutip dengan string di AWS CLI dalam Panduan AWS Command Line Interface Pengguna.

Atau, Anda dapat menentukan JSON-formatted parameter dalam file konfigurasi.

Contoh berikut membuat template peluncuran dasar, mereferensikan file konfigurasi untuk 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 memilih untuk menyebarkan tag grup Penskalaan Otomatis ke instansnya, semua tag digabungkan. Jika kunci tag yang sama ditentukan untuk tag di template peluncuran Anda dan tag di grup Penskalaan Otomatis 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

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

catatan

Saat Anda menentukan antarmuka jaringan, tentukan nilai Groups yang sesuai dengan grup keamanan untuk VPC tempat grup Penskalaan Otomatis 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 skrip data pengguna sebagai string yang dikodekan base64 yang mengonfigurasi instance saat peluncuran. Perintah create-launch-template membutuhkan data pengguna yang dikode kan 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 Vol /dev/xvdcz ume 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 sewa host, Anda dapat menentukan grup sumber daya host dan konfigurasi lisensi Manajer Lisensi 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 mengonfigur asi 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 instance yang mendukung beberapa kartu jaringan dan Adaptor Fabric Elastic (EFA), Anda dapat menambahkan antarmuka sekunder ke kartu jaringan sekunder dan mengaktifkan EFA dengan menggunakan perintah cre ate-launch-template berikut. Untuk informasi selengkapnya, lihat Men ambahkan 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 yang 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 instans yang menggunakan varian non-Amazon Linux. Jika Anda memerlukan jenis konfigurasi ini, Anda harus mengkonfigurasi antarmuka jaringan sekunder dalam OS. Sebagai contoh, lihat Bagaimana cara membuat antarmuka jaringan sekunder saya berfungsi di instans Ubuntu EC2 saya? di Pusat Peng AWS etahuan.

Kelola templat peluncuran Anda

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

Buat daftar dan jelaskan template peluncuran Anda

Anda dapat menggunakan dua AWS CLI perintah untuk mendapatkan informasi tentang template peluncuran Anda: describe-launch-templates dan describe-launch- template-versions. https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/describe-launch-template-versions.html

Per intah describe-launch-templates memungkinkan Anda untuk mendapatkan daftar salah satu template peluncuran yang telah Anda buat. Anda dapat menggunakan opsi untuk memfilter hasil pada nama template peluncuran, membuat waktu, kunci tag, atau kombinasi nilai kunci tag. Perintah ini mengembalikan informasi ringkasan tentang salah satu templat peluncuran Anda, termasuk pengidentifikasi 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 templat peluncuran Anda 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-laun ch-template berikut. Menghapus templat peluncuran akan menghapus semua versinya.

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

Memperbarui grup Penskalaan Otomatis untuk menggunakan template peluncuran

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

Memperbarui grup Penskalaan Otomatis 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 Penskalaan Otomatis 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'