View a markdown version of this page

Tutorial: Mengkonfigurasi Armada EC2 untuk meluncurkan On-Demand Instans menggunakan Reservasi Kapasitas yang ditargetkan - Amazon Elastic Compute Cloud

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

Tutorial: Mengkonfigurasi Armada EC2 untuk meluncurkan On-Demand Instans menggunakan Reservasi Kapasitas yang ditargetkan

Tutorial ini memandu Anda melalui semua langkah yang harus Anda lakukan agar Armada EC2 Anda meluncurkan On-Demand Instans ke Reservasi targeted Kapasitas.

Anda akan mempelajari cara mengonfigurasi armada untuk menggunakan Reservasi targeted On-Demand Kapasitas terlebih dahulu saat meluncurkan On-Demand Instans. Anda juga akan mempelajari cara mengonfigurasi armada sehingga, ketika total kapasitas On-Demand target melebihi jumlah Reservasi Kapasitas yang tidak terpakai yang tersedia, armada menggunakan strategi alokasi yang ditentukan untuk memilih kumpulan instans untuk meluncurkan kapasitas target yang tersisa.

Konfigurasi Armada EC2

Dalam tutorial ini, armada dikonfigurasi sebagai berikut:

  • Kapasitas target: 10 On-Demand Instans

  • Total Reserv targeted asi Kapasitas yang tidak digunakan: 6 (kurang dari kapasitas On-Demand target armada 10 On-Demand Instans)

  • Jumlah kolam Reservasi Kapasitas: 2 (us-east-1a dan us-east-1b)

  • Jumlah Reservasi Kapasitas per kolam: 3

  • On-Demand strategi alokasi: lowest-price (Jika jumlah Reservasi Kapasitas yang tidak digunakan kurang dari kapasitas On-Demand target, armada menentukan kumpulan tempat untuk meluncurkan On-Demand kapasitas yang tersisa berdasarkan strategi al On-Demand okasi.)

    Perhatikan bahwa Anda juga dapat menggunakan strategi alokasi prioritized alih-alih strategi alokasi lowest-price.

Langkah 1: Membuat Reservasi Kapasitas

Gunakan perintah create-capacity-reservation untuk membuat Reservasi Kapasitas, tiga untuk us-east-1a dan tiga lainnya untuk us-east-1b. Kecuali untuk Zona Ketersediaan, atribut lain dari Reservasi Kapasitas bersifat identik.

3 Reservasi Kapasitas di us-east-1a

aws ec2 create-capacity-reservation \ --availability-zone us-east-1a \ --instance-type c5.xlarge \ --instance-platform Linux/UNIX \ --instance-count 3 \ --instance-match-criteria targeted

Contoh ID Reservasi Kapasitas yang dihasilkan

cr-1234567890abcdef1

3 Reservasi Kapasitas di us-east-1b

aws ec2 create-capacity-reservation \ --availability-zone us-east-1b \ --instance-type c5.xlarge \ --instance-platform Linux/UNIX \ --instance-count 3 \ --instance-match-criteria targeted

Contoh ID Reservasi Kapasitas yang dihasilkan

cr-54321abcdef567890

Langkah 2: Membuat grup sumber daya Reservasi Kapasitas

Gunakan layanan resource-groups dan perintah create-group untuk membuat grup sumber daya Reservasi Kapasitas. Dalam contoh ini, grup sumber daya diberi nama my-cr-group. Untuk informasi tentang alasan Anda harus membuat grup sumber daya, lihat Gunakan Reservasi Kapasitas untuk cadangan On-Demand kapasitas di Armada EC2.

aws resource-groups create-group \ --name my-cr-group \ --configuration '{"Type":"AWS::EC2::CapacityReservationPool"}' '{"Type":"AWS::ResourceGroups::Generic", "Parameters": [{"Name": "allowed-resource-types", "Values": ["AWS::EC2::CapacityReservation"]}]}'

Langkah 3: Menambahkan Reservasi Kapasitas ke grup sumber daya Reservasi Kapasitas

Gunakan layanan resource-groups dan perintah group-resources untuk menambahkan Reservasi Kapasitas yang Anda buat di Langkah 1 ke grup sumber daya Reservasi Kapasitas. Perhatikan bahwa Anda harus mereferensikan On-Demand Reservasi Kapasitas dengan ARN-nya.

aws resource-groups group-resources \ --group my-cr-group \ --resource-arns \ arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1 \ arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890

Contoh Output

{ "Failed": [], "Succeeded": [ "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1", "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" ] }

(Opsional) Langkah 4: Melihat Reservasi Kapasitas di grup sumber daya

Gunakan layananresource-groups dan perintah list-group-resources untuk mendeskripsikan grup sumber daya secara opsional guna melihat Reservasi Kapasitas.

aws resource-groups list-group-resources --group my-cr-group

Contoh output

{ "ResourceIdentifiers": [ { "ResourceType": "AWS::EC2::CapacityReservation", "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1" }, { "ResourceType": "AWS::EC2::CapacityReservation", "ResourceArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890" } ] }

Langkah 5: Membuat templat peluncuran yang menentukan bahwa Reservasi Kapasitas menargetkan grup sumber daya tertentu

Gunakan perintah create-launch-template untuk membuat templat peluncuran guna menentukan Reservasi Kapasitas yang akan digunakan. Dalam contoh ini, armada akan menggunakan Reservasi Kapasitas targeted, yang telah ditambahkan ke grup sumber daya. Oleh karena itu, data templat peluncuran menentukan bahwa Reservasi Kapasitas menargetkan grup sumber daya tertentu. Dalam contoh ini, templat peluncuran diberi nama my-launch-template.

aws ec2 create-launch-template \ --launch-template-name my-launch-template \ --launch-template-data \ '{"ImageId": "ami-0123456789example", "CapacityReservationSpecification": {"CapacityReservationTarget": { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group" } } }'

(Opsional) Langkah 6: Mendeskripsikan templat peluncuran

Gunakan perintah describe-launch-template-versions untuk mendeskripsikan template peluncuran secara opsional untuk melihat konfigurasinya.

aws ec2 describe-launch-template-versions --launch-template-name my-launch-template

Contoh Output

{ "LaunchTemplateVersions": [ { "LaunchTemplateId": "lt-01234567890example", "LaunchTemplateName": "my-launch-template", "VersionNumber": 1, "CreateTime": "2021-01-19T20:50:19.000Z", "CreatedBy": "arn:aws:iam::123456789012:user/Admin", "DefaultVersion": true, "LaunchTemplateData": { "ImageId": "ami-0947d2ba12ee1ff75", "CapacityReservationSpecification": { "CapacityReservationTarget": { "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group" } } } } ] }

Langkah 7: Membuat Armada EC2

Buat Armada EC2 yang menentukan informasi konfigurasi untuk instans yang akan diluncurkan. Konfigurasi Armada EC2 berikut hanya menampilkan konfigurasi terkait untuk contoh ini. Templat peluncuran my-launch-template adalah templat peluncuran yang Anda buat di Langkah 5. Terdapat dua kolam instans, masing-masing dengan tipe instans yang sama (c5.xlarge), tetapi dengan Zona Ketersediaan (us-east-1a dan us-east-1b) yang berbeda. Harga kolam instans sama karena harga ditentukan untuk Wilayah, bukan per Zona Ketersediaan. Total kapasitas target adalah 10, dan tipe kapasitas target default adalah on-demand. Strategi On-Demand alokasi adalahlowest-price. Strategi penggunaan untuk Reservasi Kapasitas adalah use-capacity-reservations-first.

catatan

Tipe armada harus instant. Tipe armada lainnya tidak mendukung use-capacity-reservations-first.

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateName": "my-launch-template", "Version": "1" }, "Overrides": [ { "InstanceType": "c5.xlarge", "AvailabilityZone": "us-east-1a" }, { "InstanceType": "c5.xlarge", "AvailabilityZone": "us-east-1b" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 10, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price", "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant" }

Setelah Anda membuat armada instant menggunakan konfigurasi sebelumnya, 10 instans berikut diluncurkan untuk memenuhi kapasitas target:

  • Reservasi Kapasitas digunakan terlebih dahulu untuk meluncurkan 6 On-Demand Instans sebagai berikut:

    • 3 On-Demand Instans diluncurkan ke 3 Reservasi c5.xlarge targeted Kapasitas di us-east-1a

    • 3 On-Demand Instans diluncurkan ke 3 Reservasi c5.xlarge targeted Kapasitas di us-east-1b

  • Untuk memenuhi kapasitas target, 4 On-Demand Instans tambahan diluncurkan ke On-Demand kapasitas reguler sesuai dengan strategi On-Demand alokasi, yang ada lowest-price dalam contoh ini. Namun, karena kumpulan memiliki harga yang sama (karena harga per Wilayah dan bukan per Zona Ketersediaan), armada meluncurkan 4 On-Demand Instans yang tersisa ke salah satu kumpulan.

(Opsional) Langkah 8: Melihat jumlah Reservasi Kapasitas yang tidak terpakai yang tersisa

Setelah armada diluncurkan, Anda dapat menjalankan describe-capacity-reservations untuk melihat banyaknya Reservasi Kapasitas yang tidak terpakai yang tersisa. Dalam contoh ini, Anda akan melihat respons berikut, yang menunjukkan bahwa semua Reservasi Kapasitas di semua kolam telah digunakan.

{ "CapacityReservationId": "cr-111", "InstanceType": "c5.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c5.xlarge", "AvailableInstanceCount": 0 }