Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial: Konfigurasikan EC2 Armada untuk meluncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan
Tutorial ini memandu Anda melalui semua langkah yang harus Anda lakukan sehingga EC2 Armada Anda meluncurkan Instans Sesuai Permintaan ke targeted
Reservasi Kapasitas.
Anda akan mempelajari cara mengonfigurasi armada untuk menggunakan Reservasi Kapasitas Sesuai Permintaan targeted
terlebih dahulu saat meluncurkan Instans Sesuai Permintaan. Anda juga akan mempelajari cara mengonfigurasi armada sehingga saat total kapasitas target Sesuai Permintaan melebihi jumlah Reservasi Kapasitas yang tidak terpakai yang tersedia, armada tersebut akan menggunakan strategi alokasi yang ditentukan untuk memilih kolam instans untuk meluncurkan kapasitas target yang tersisa.
EC2Konfigurasi armada
Dalam tutorial ini, armada dikonfigurasi sebagai berikut:
-
Kapasitas target: 10 Instans Sesuai Permintaan
-
Total Reservasi Kapasitas
targeted
yang tidak terpakai: 6 (kurang dari kapasitas target Sesuai Permintaan armada sebesar 10 Instans Sesuai Permintaan) -
Jumlah kolam Reservasi Kapasitas: 2 (
us-east-1a
danus-east-1b
) -
Jumlah Reservasi Kapasitas per kolam: 3
-
Strategi alokasi Sesuai Permintaan:
lowest-price
(Jika jumlah Reservasi Kapasitas yang tidak terpakai kurang dari kapasitas target Sesuai Permintaan, armada akan menentukan kolam tempat meluncurkan kapasitas Sesuai Permintaan yang tersisa berdasarkan strategi alokasi Sesuai Permintaan.)Perhatikan bahwa Anda juga dapat menggunakan strategi alokasi
prioritized
alih-alih strategi alokasilowest-price
.
Untuk meluncurkan Instans Sesuai Permintaan ke Reservasi Kapasitas targeted, Anda harus menjalankan sejumlah langkah, sebagai berikut:
- Langkah 1: Membuat Reservasi Kapasitas
- Langkah 2: Membuat grup sumber daya Reservasi Kapasitas
- Langkah 3: Menambahkan Reservasi Kapasitas ke grup sumber daya Reservasi Kapasitas
- (Opsional) Langkah 4: Melihat Reservasi Kapasitas di grup sumber daya
- Langkah 5: Membuat templat peluncuran yang menentukan bahwa Reservasi Kapasitas menargetkan grup sumber daya tertentu
- (Opsional) Langkah 6: Mendeskripsikan templat peluncuran
- Langkah 7: Buat EC2 Armada
- (Opsional) Langkah 8: Melihat jumlah Reservasi Kapasitas yang tidak terpakai yang tersisa
Langkah 1: Membuat Reservasi Kapasitas
Gunakan create-capacity-reservationperintah untuk membuat Reservasi Kapasitas, tiga untuk us-east-1a
dan tiga lainnya untukus-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 memesan kapasitas Sesuai Permintaan 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 merujuk Reservasi Kapasitas Sesuai Permintaan menurut mereka. ARNs
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 resource-groups
layanan dan list-group-resourcesperintah untuk mendeskripsikan grup sumber daya secara opsional untuk melihat Reservasi Kapasitasnya.
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 create-launch-templateperintah untuk membuat template peluncuran untuk 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 describe-launch-template-versionsperintah 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: Buat EC2 Armada
Buat EC2 Armada yang menentukan informasi konfigurasi untuk instance yang akan diluncurkan. Konfigurasi EC2 Armada 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 alokasi Sesuai Permintaan adalah lowest-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 Instans Sesuai Permintaan sebagai berikut:
-
3 Instans Sesuai Permintaan diluncurkan ke dalam 3 Reservasi Kapasitas
c5.xlarge
targeted
dius-east-1a
-
3 Instans Sesuai Permintaan diluncurkan ke dalam 3 Reservasi Kapasitas
c5.xlarge
targeted
dius-east-1b
-
-
Untuk memenuhi kapasitas target, 4 Instans Sesuai Permintaan tambahan diluncurkan ke kapasitas Sesuai Permintaan reguler sesuai dengan strategi alokasi Sesuai Permintaan, yaitu
lowest-price
dalam contoh ini. Namun, karena kolam memiliki harga yang sama (karena harganya adalah per Wilayah dan bukan per Zona Ketersediaan), armada meluncurkan 4 Instans Sesuai Permintaan yang tersisa ke salah satu kolam.
(Opsional) Langkah 8: Melihat jumlah Reservasi Kapasitas yang tidak terpakai yang tersisa
Setelah armada diluncurkan, Anda dapat menjalankan secara opsional describe-capacity-reservationsuntuk melihat berapa banyak 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
}