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
targetedasi Kapasitas yang tidak digunakan: 6 (kurang dari kapasitas On-Demand target armada 10 On-Demand Instans) -
Jumlah kolam Reservasi Kapasitas: 2 (
us-east-1adanus-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
prioritizedalih-alih strategi alokasilowest-price.
Untuk meluncurkan On-Demand Instans ke Reservasi targeted Kapasitas, Anda harus melakukan sejumlah langkah, sebagai berikut:
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 \ --namemy-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 \ --groupmy-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 --groupmy-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-namemy-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-namemy-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.xlargetargetedKapasitas dius-east-1a -
3 On-Demand Instans diluncurkan ke 3 Reservasi
c5.xlargetargetedKapasitas dius-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-pricedalam 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
}