Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kapasitas cadangan di Availability Zone tertentu dengan Reservasi Kapasitas
Reservasi Kapasitas Sesuai Permintaan Amazon EC2 membantu Anda memesan kapasitas komputasi di Availability Zone tertentu. Untuk mulai menggunakan Reservasi Kapasitas, Anda membuat Reservasi Kapasitas di Availability Zone tertentu. Kemudian, Anda dapat meluncurkan instans ke dalam kapasitas terpesan, melihat pemanfaatan kapasitasnya dalam waktu nyata, dan menambah atau mengurangi kapasitasnya sesuai kebutuhan.
Reservasi Kapasitas dikonfigurasi sebagai open
atau targeted
. Jika Reservasi Kapasitas adalahopen
, semua instans baru dan yang sudah ada yang memiliki atribut yang cocok secara otomatis berjalan dalam kapasitas Reservasi Kapasitas. Jika Reservasi Kapasitas targeted
, instans harus secara khusus menargetkannya untuk dijalankan dalam kapasitas terpesan.
Topik ini menunjukkan cara membuat grup Auto Scaling yang meluncurkan Instans Sesuai Permintaan ke Reservasi Kapasitas. targeted
Ini memberi Anda kontrol lebih besar atas kapan harus menggunakan Reservasi Kapasitas tertentu.
Langkah dasarnya adalah:
-
Buat Reservasi Kapasitas di beberapa Availability Zone yang memiliki jenis instans, platform, dan jumlah instans yang sama.
-
Reservasi Kapasitas Grup menggunakan AWS Resource Groups.
-
Buat grup Auto Scaling dengan templat peluncuran yang menargetkan grup sumber daya, menggunakan Availability Zone yang sama dengan Reservasi Kapasitas.
Langkah 1: Buat Reservasi Kapasitas
Langkah pertama adalah membuat Reservasi Kapasitas di setiap Availability Zone tempat grup Auto Scaling Anda akan digunakan.
Anda hanya dapat membuat targeted
reservasi saat pertama kali membuat Reservasi Kapasitas.
- Console
-
Untuk membuat Reservasi Kapasitas Anda
Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
-
Pilih Reservasi Kapasitas, lalu pilih Buat Reservasi Kapasitas.
-
Pada halaman Buat Reservasi Kapasitas, perhatikan pengaturan berikut di bagian Detail instans. Tipe instans, platform, dan Zona Ketersediaan dari instans yang Anda luncurkan harus cocok dengan tipe instans, platform, dan Zona Ketersediaan yang Anda tentukan di sini atau Reservasi Kapasitas tidak akan diterapkan.
-
Untuk tipe Instance, pilih jenis instance yang akan diluncurkan ke kapasitas cadangan.
-
Untuk Platform, pilih sistem operasi untuk instans Anda.
-
Untuk Availability Zone, pilih Availability Zone pertama yang ingin Anda pesan kapasitasnya.
-
Untuk Kapasitas total, pilih jumlah instans yang Anda butuhkan. Hitung jumlah total instans yang Anda perlukan untuk grup Auto Scaling dibagi dengan jumlah Availability Zone yang akan digunakan.
-
Di bawah rincian Reservasi Kapasitas, untuk Reservasi Kapasitas berakhir, pilih salah satu opsi berikut:
-
Untuk kelayakan Instans, pilih Targeted: Hanya instance yang menargetkan Reservasi Kapasitas.
-
(Opsional) Untuk Tag, tentukan tag apa pun yang akan dikaitkan dengan Reservasi Kapasitas.
-
Pilih Buat.
-
Catat ID Reservasi Kapasitas yang baru dibuat. Anda memerlukannya untuk mengatur grup Reservasi Kapasitas.
Ulangi prosedur ini untuk setiap Availability Zone yang ingin Anda aktifkan untuk grup Auto Scaling Anda, hanya mengubah nilai opsi Availability Zone.
- AWS CLI
-
Untuk membuat Reservasi Kapasitas Anda
Gunakan create-capacity-reservationperintah berikut untuk membuat Reservasi Kapasitas. Ganti nilai sampel untuk--availability-zone
,--instance-type
,--instance-platform
, dan--instance-count
.
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
{
"CapacityReservation": {
"CapacityReservationId": "cr-1234567890abcdef1",
"OwnerId": "123456789012",
"CapacityReservationArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1",
"InstanceType": "c5.xlarge",
"InstancePlatform": "Linux/UNIX",
"AvailabilityZone": "us-east-1a",
"Tenancy": "default",
"TotalInstanceCount": 3,
"AvailableInstanceCount": 3,
"EbsOptimized": false,
"EphemeralStorage": false,
"State": "active",
"StartDate": "2023-07-26T21:36:14+00:00",
"EndDateType": "unlimited",
"InstanceMatchCriteria": "targeted",
"CreateDate": "2023-07-26T21:36:14+00:00"
}
}
Catat ID Reservasi Kapasitas yang baru dibuat. Anda memerlukannya untuk mengatur grup Reservasi Kapasitas.
Ulangi perintah ini untuk setiap Availability Zone yang ingin Anda aktifkan untuk grup Auto Scaling Anda, hanya mengubah nilai opsi. --availability-zone
Langkah 2: Buat grup Reservasi Kapasitas
Setelah selesai membuat Reservasi Kapasitas, Anda dapat mengelompokkannya bersama-sama menggunakan layanan AWS Resource Groups. AWS Resource Groups mendukung beberapa jenis grup yang berbeda untuk penggunaan yang berbeda. Amazon EC2 menggunakan grup tujuan khusus, yang dikenal sebagai grup sumber daya terkait layanan, untuk menargetkan grup Reservasi Kapasitas. Untuk berinteraksi dengan grup sumber daya terkait layanan ini, Anda dapat menggunakan AWS CLI atau SDK tetapi bukan konsol. Untuk informasi selengkapnya tentang grup sumber daya terkait layanan, lihat Konfigurasi layanan untuk grup sumber daya di Panduan Pengguna AWS Resource Groups.
Untuk membuat grup Reservasi Kapasitas menggunakan AWS CLI
Gunakan perintah create-group untuk membuat grup sumber daya yang hanya dapat berisi Reservasi Kapasitas. Dalam contoh ini, grup sumber daya diberi nama my-cr-group
.
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"]}]}'
Berikut ini adalah contoh respons.
{
"Group": {
"GroupArn": "arn:aws:resource-groups:us-east-1:123456789012:group/my-cr-group",
"Name": "my-cr-group"
},
"GroupConfiguration": {
"Configuration": [
{
"Type": "AWS::EC2::CapacityReservationPool"
},
{
"Type": "AWS::ResourceGroups::Generic",
"Parameters": [
{
"Name": "allowed-resource-types",
"Values": [
"AWS::EC2::CapacityReservation"
]
}
]
}
],
"Status": "UPDATE_COMPLETE"
}
}
Perhatikan ARN dari grup sumber daya. Anda memerlukannya untuk mengatur template peluncuran untuk grup Auto Scaling Anda.
Untuk mengaitkan Reservasi Kapasitas Anda ke grup yang baru dibuat menggunakan AWS CLI
Gunakan perintah group-resources berikut untuk mengaitkan Reservasi Kapasitas ke grup Reservasi Kapasitas yang baru dibuat. Untuk --resource-arns
opsi, tentukan Reservasi Kapasitas menggunakan ARN mereka. Buat ARN menggunakan Wilayah yang relevan, ID akun Anda, dan ID reservasi yang Anda catat sebelumnya. Dalam contoh ini, reservasi dengan ID cr-1234567890abcdef1
dan cr-54321abcdef567890
akan dikelompokkan bersama dalam grup bernama. my-cr-group
aws resource-groups group-resources \
--group my-cr-group
\
--resource-arns \
arn:aws:ec2:region
:account-id
:capacity-reservation/cr-1234567890abcdef1
\
arn:aws:ec2:region
:account-id
:capacity-reservation/cr-54321abcdef567890
Berikut ini adalah contoh respons.
{
"Succeeded": [
"arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-1234567890abcdef1",
"arn:aws:ec2:us-east-1:123456789012:capacity-reservation/cr-54321abcdef567890"
],
"Failed": [],
"Pending": []
}
Untuk informasi tentang memodifikasi atau menghapus grup sumber daya, lihat Referensi API AWS Resource Groups.
Langkah 3: Buat template peluncuran
- Console
-
Untuk membuat templat peluncuran
Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/.
-
Pada panel navigasi, di bawah Instans, pilih Luncurkan Template.
-
Pilih Buat templat peluncuran. Masukkan nama dan berikan deskripsi untuk versi awal templat peluncuran.
-
Di bawah panduan Auto Scaling, pilih kotak centang.
-
Buat templat peluncuran . Pilih AMI dan jenis instans yang sesuai dengan Reservasi Kapasitas yang akan Anda gunakan, dan secara opsional, key pair, satu atau beberapa grup keamanan, dan volume EBS tambahan atau volume penyimpanan instans untuk instans Anda.
-
Perluas Detail lanjutan, dan lakukan hal berikut:
-
Untuk Reservasi Kapasitas, pilih Target berdasarkan grup.
-
Untuk reservasi Kapasitas - Targetkan berdasarkan grup, pilih grup Reservasi Kapasitas yang Anda buat di bagian sebelumnya, lalu pilih Simpan.
-
Pilih Buat templat peluncuran.
-
Pada halaman konfirmasi, pilih Buat grup Auto Scaling.
- AWS CLI
-
Untuk membuat templat peluncuran
Gunakan create-launch-templateperintah berikut untuk membuat template peluncuran yang menentukan bahwa Reservasi Kapasitas menargetkan grup sumber daya tertentu. Ganti nilai sampel untuk--launch-template-name
. Ganti c5.xlarge
dengan jenis instans yang Anda gunakan dalam Reservasi Kapasitas dan ami-0123456789EXAMPLE
dengan ID AMI yang ingin Anda gunakan. Ganti arn:aws:resource-groups:region:account-id:group/my-cr-group
dengan ARN dari grup sumber daya yang Anda buat di awal bagian sebelumnya.
aws ec2 create-launch-template \
--launch-template-name my-launch-template
\
--launch-template-data \
'{"InstanceType": "c5.xlarge
",
"ImageId": "ami-0123456789EXAMPLE
",
"CapacityReservationSpecification":
{"CapacityReservationTarget":
{ "CapacityReservationResourceGroupArn": "arn:aws:resource-groups:region
:account-id
:group/my-cr-group
" }
}
}'
Berikut ini adalah contoh respons.
{
"LaunchTemplate": {
"LaunchTemplateId": "lt-0dd77bd41dEXAMPLE",
"LaunchTemplateName": "my-launch-template",
"CreateTime": "2023-07-26T21:42:48+00:00",
"CreatedBy": "arn:aws:iam::123456789012:user/Bob",
"DefaultVersionNumber": 1,
"LatestVersionNumber": 1
}
}
Langkah 4: Buat grup Auto Scaling
- Console
-
Buat grup Auto Scaling Anda seperti biasanya, tetapi ketika Anda memilih subnet VPC, pilih subnet dari setiap Availability Zone yang cocok dengan Reservasi Kapasitas yang Anda buat. targeted
Kemudian, saat grup Auto Scaling Anda meluncurkan Instans Sesuai Permintaan di salah satu Availability Zone ini, instance akan dijalankan dalam kapasitas cadangan untuk Availability Zone tersebut. Jika grup sumber daya kehabisan Reservasi Kapasitas sebelum kapasitas yang Anda inginkan terpenuhi, kami meluncurkan apa pun di luar kapasitas cadangan sebagai kapasitas On-Demand reguler.
Untuk membuat grup Auto Scaling sederhana
Buka konsol Amazon EC2 di https://console.aws.amazon.com/ec2/, dan pilih Grup Auto Scaling dari panel navigasi.
-
Pada bilah navigasi di bagian atas layar, pilih yang sama dengan Wilayah AWS yang Anda gunakan saat membuat templat peluncuran.
-
Pilih Buat grup Auto Scaling.
-
Pada halaman Pilih templat peluncuran atau konfigurasi, untuk Nama grup Auto Scaling, masukkan nama untuk grup Auto Scaling Anda.
-
Untuk Templat peluncuran, pilih templat peluncuran yang ada.
-
Untuk Versi templat peluncuran, pilih apakah grup Auto Scaling menggunakan default, terbaru, atau versi spesifik templat peluncuran saat menskalakan.
-
Pada halaman Opsi peluncuran instance Choose, lewati bagian Persyaratan tipe instans untuk menggunakan tipe instans EC2 yang ditentukan dalam template peluncuran.
-
Di bawah Jaringan, untuk VPC, pilih VPC. Grup Auto Scaling harus dibuat dalam VPC yang sama dengan grup keamanan yang Anda tentukan dalam template peluncuran Anda. Jika tidak menentukan grup keamanan di templat peluncuran, Anda dapat memilih VPC mana pun yang memiliki subnet di Availability Zone yang sama dengan Reservasi Kapasitas.
-
Untuk Zona Ketersediaan dan subnet, pilih subnet dari setiap Availability Zone yang ingin Anda sertakan, berdasarkan Availability Zone tempat Reservasi Kapasitas Anda berada.
-
Pilih Selanjutnya dua kali.
-
Pada halaman Konfigurasi ukuran grup dan kebijakan penskalaan, untuk kapasitas yang diinginkan, masukkan jumlah awal instance yang akan diluncurkan. Ketika Anda mengubah angka ini ke nilai di luar batas kapasitas minimum atau maksimum, Anda harus memperbarui nilai Kapasitas minimum atau Kapasitas maksimum. Untuk informasi selengkapnya, lihat Tetapkan batas penskalaan untuk grup Auto Scaling.
-
Pilih Lewati untuk meninjau.
-
Pada halaman Peninjauan, pilih Buat grup Auto Scaling.
- AWS CLI
-
Untuk membuat grup Auto Scaling sederhana
Gunakan create-auto-scaling-groupperintah berikut dan tentukan nama dan versi template peluncuran Anda sebagai nilai untuk --launch-template
opsi. Ganti nilai sampel untuk--auto-scaling-group-name
,--min-size
,--max-size
, dan--vpc-zone-identifier
.
Untuk --availability-zones
opsi, tentukan Availability Zone yang Anda buat untuk Reservasi Kapasitas. Misalnya, jika Reservasi Kapasitas menentukan us-east-1a
dan us-east-1b
Availability Zone, maka Anda harus membuat grup Auto Scaling di zona yang sama. Kemudian, saat grup Auto Scaling Anda meluncurkan Instans Sesuai Permintaan di salah satu Availability Zone ini, instance akan dijalankan dalam kapasitas cadangan untuk Availability Zone tersebut. Jika grup sumber daya kehabisan Reservasi Kapasitas sebelum kapasitas yang Anda inginkan terpenuhi, kami meluncurkan apa pun di luar kapasitas cadangan sebagai kapasitas On-Demand reguler.
aws autoscaling create-auto-scaling-group \
--auto-scaling-group-name my-asg
\
--launch-template LaunchTemplateName=my-launch-template
,Version='1
' \
--min-size 6
\
--max-size 6
\
--vpc-zone-identifier "subnet-5f46ec3b
,subnet-0ecac448
" \
--availability-zones us-east-1a
us-east-1b
Untuk implementasi contoh, lihat AWS CloudFormation template di GitHub repositori AWS
sampel berikut: https://github.com/aws-samples/ aws-auto-scaling-backed - -reservations/ by-on-demand-capacity.
Topik terkait berikut dapat membantu saat Anda mempelajari tentang Reservasi Kapasitas.