Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat Armada EC2
Untuk membuat Armada EC2, tentukan konfigurasi armada dalam file JSON dan referensikan file dengan perintah create-fleet. Dalam file JSON, Anda harus menentukan total kapasitas target untuk armada, kapasitas target terpisah untuk Instans Spot dan Instans Sesuai Permintaan, dan templat peluncuran yang menentukan konfigurasi untuk instance dalam armada, seperti AMI, tipe instans, subnet atau Availability Zone, dan satu atau beberapa grup keamanan. Anda dapat menentukan konfigurasi tambahan secara opsional, seperti parameter untuk mengganti konfigurasi template peluncuran, strategi alokasi untuk memilih Instans Spot dan Instans Sesuai Permintaan dari kumpulan kapasitas EC2, dan jumlah maksimum yang bersedia Anda bayarkan untuk armada. Untuk informasi selengkapnya, lihat Opsi konfigurasi untuk Armada EC2 atau Armada Spot.
Armada EC2 meluncurkan Instans Sesuai Permintaan saat kapasitas tersedia, dan meluncurkan Instans Spot ketika harga maksimum Anda melebihi harga Spot dan kapasitas yang tersedia.
Jika armada Anda menyertakan Instans Spot dan jenisnyamaintain, Amazon EC2 akan berusaha mempertahankan kapasitas target armada Anda saat Instans Spot Anda terganggu.
Batasan Armada EC2
Batasan berikut berlaku untuk Armada EC2:
-
Membuat Armada EC2 hanya tersedia melalui Amazon EC2 API AWS CLI,, AWS SDKs, dan. CloudFormation
-
Permintaan Armada EC2 tidak dapat menjangkau AWS Wilayah. Anda perlu membuat Armada EC2 terpisah untuk setiap Wilayah.
-
Permintaan Armada EC2 tidak dapat menjangkau subnet yang berbeda dari Zona Ketersediaan yang sama.
Membuat Armada EC2
Untuk meluncurkan armada instans menggunakan Armada EC2, Anda hanya perlu menentukan parameter berikut dalam permintaan armada Anda, dan armada akan menggunakan nilai default untuk parameter lainnya:
-
LaunchTemplateIdatauLaunchTemplateName— Menentukan template peluncuran yang akan digunakan (yang berisi parameter untuk instance yang akan diluncurkan, seperti jenis instance dan Availability Zone) -
TotalTargetCapacity– Menentukan total kapasitas target untuk armada -
DefaultTargetCapacityType– Menentukan apakah opsi pembelian default adalah Sesuai Permintaan atau Spot
Untuk mengganti parameter yang ditentukan dalam template peluncuran, Anda dapat menentukan satu atau beberapa penggantian. Setiap override dapat bervariasi menurut jenis instans, Availability Zone, subnet, dan harga maksimum, dan dapat mencakup kapasitas tertimbang yang berbeda. Sebagai alternatif untuk menentukan jenis instans, Anda dapat menentukan atribut yang harus dimiliki instance, dan Amazon EC2 akan mengidentifikasi semua jenis instance dengan atribut tersebut. Untuk informasi selengkapnya, lihat Tentukan atribut untuk pemilihan tipe contoh untuk Armada EC2 atau Armada Spot.
Untuk jenis Armada EC2instant, Anda dapat menentukan parameter Systems Manager, bukan ID AMI. Anda dapat menentukan parameter Systems Manager di override atau di template peluncuran. Untuk informasi selengkapnya, lihat Gunakan parameter Systems Manager alih-alih ID AMI.
Anda dapat menentukan parameter armada dalam file JSON. Untuk informasi tentang semua parameter yang mungkin dapat Anda tentukan, lihatLihat semua opsi konfigurasi Armada EC2.
Untuk contoh konfigurasi armada, lihatContoh konfigurasi CLI untuk Armada EC2.
Saat ini tidak ada dukungan konsol untuk membuat Armada EC2.
Untuk membuat Armada EC2
Gunakan perintah create-fleet untuk membuat armada dan tentukan file JSON yang berisi parameter konfigurasi armada.
aws ec2 create-fleet --cli-input-json file://file_name.json
Berikut adalah contoh output untuk armada tipe request atau maintain.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE"
}
Berikut adalah contoh output untuk tipe armada instant yang meluncurkan kapasitas target.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
"Errors": [],
"Instances": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c5.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "on-demand",
"InstanceIds": [
"i-1234567890abcdef0",
"i-9876543210abcdef9"
],
"InstanceType": "c5.large",
"Platform": null
},
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c4.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "on-demand",
"InstanceIds": [
"i-5678901234abcdef0",
"i-5432109876abcdef9"
]
]
}
Berikut adalah contoh output untuk armada tipe instant yang meluncurkan sebagian kapasitas target dengan kesalahan untuk instans yang tidak diluncurkan.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
"Errors": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c4.xlarge",
"AvailabilityZone": "us-east-1a",
}
},
"Lifecycle": "on-demand",
"ErrorCode": "InsufficientInstanceCapacity",
"ErrorMessage": ""
},
],
"Instances": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c5.large",
"AvailabilityZone": "us-east-1a"
}
},
"Lifecycle": "on-demand",
"InstanceIds": [
"i-1234567890abcdef0",
"i-9876543210abcdef9"
]
]
}
Berikut adalah contoh output untuk armada tipe instant yang tidak meluncurkan instans.
{
"FleetId": "fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE",
"Errors": [
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c4.xlarge",
"AvailabilityZone": "us-east-1a",
}
},
"Lifecycle": "on-demand",
"ErrorCode": "InsufficientCapacity",
"ErrorMessage": ""
},
{
"LaunchTemplateAndOverrides": {
"LaunchTemplateSpecification": {
"LaunchTemplateId": "lt-01234a567b8910abcEXAMPLE",
"Version": "1"
},
"Overrides": {
"InstanceType": "c5.large",
"AvailabilityZone": "us-east-1a",
}
},
"Lifecycle": "on-demand",
"ErrorCode": "InsufficientCapacity",
"ErrorMessage": ""
},
],
"Instances": []
}
Buat Armada EC2 yang menggantikan Instans Spot yang tidak sehat
Armada EC2 memeriksa status kondisi instans di armada setiap dua menit. Status kondisi instans adalah healthy atau unhealthy.
Armada EC2 menentukan status kondisi instans dengan menggunakan pemeriksaan status yang disediakan oleh Amazon EC2. Sebuah instans ditentukan sebagai unhealthy jika status pemeriksaan status instans atau pemeriksaan status sistemnya impaired dalam tiga kali pemeriksaan kondisi secara berturut-turut. Untuk informasi selengkapnya, lihat Pemeriksaan status untuk instans Amazon EC2.
Anda dapat mengonfigurasi armada untuk mengganti Instans Spot yang tidak sehat. Setelah mengatur ReplaceUnhealthyInstances ke true, Instans Spot diganti ketika dilaporkan sebagai unhealthy. Armada tersebut dapat berada di bawah kapasitas targetnya selama beberapa menit saat Instans Spot yang tidak sehat sedang diganti.
Persyaratan
-
Penggantian pemeriksaan kondisi hanya didukung untuk Armada EC2 yang mempertahankan kapasitas target (armada tipe
maintain), dan bukan untuk armada tiperequestatauinstant. -
Penggantian pemeriksaan kondisi hanya didukung untuk Instans Spot. Fitur ini tidak didukung untuk Instans Sesuai Permintaan.
-
Anda dapat mengonfigurasi Armada EC2 untuk mengganti instans yang tidak sehat hanya saat Anda membuatnya.
-
Pengguna dapat menggunakan penggantian pemeriksaan kondisi hanya jika memiliki izin untuk memanggil tindakan
ec2:DescribeInstanceStatus.
Untuk mengonfigurasi Armada EC2 guna mengganti Instans Spot yang tidak sehat
-
Gunakan informasi untuk membuat Armada EC2 diMembuat Armada EC2.
-
Untuk mengonfigurasi armada untuk mengganti Instans Spot yang tidak sehat, dalam file JSON, untuk
ReplaceUnhealthyInstances, tentukan.true
Lihat semua opsi konfigurasi Armada EC2
Untuk melihat daftar lengkap parameter konfigurasi Armada EC2, Anda dapat membuat file JSON. Untuk deskripsi setiap parameter, lihat create-fleet.
Untuk menghasilkan file JSON dengan semua kemungkinan parameter Armada EC2
Gunakan perintah create-fleet (AWS CLI) dan parameter --generate-cli-skeleton untuk membuat file JSON Armada EC2, dan arahkan output ke file untuk menyimpannya.
aws ec2 create-fleet \ --generate-cli-skeleton input >ec2createfleet.json
Berikut ini adalah output contoh.
{
"DryRun": true,
"ClientToken": "",
"SpotOptions": {
"AllocationStrategy": "price-capacity-optimized",
"MaintenanceStrategies": {
"CapacityRebalance": {
"ReplacementStrategy": "launch"
}
},
"InstanceInterruptionBehavior": "hibernate",
"InstancePoolsToUseCount": 0,
"SingleInstanceType": true,
"SingleAvailabilityZone": true,
"MinTargetCapacity": 0,
"MaxTotalPrice": ""
},
"OnDemandOptions": {
"AllocationStrategy": "prioritized",
"CapacityReservationOptions": {
"UsageStrategy": "use-capacity-reservations-first"
},
"SingleInstanceType": true,
"SingleAvailabilityZone": true,
"MinTargetCapacity": 0,
"MaxTotalPrice": ""
},
"ExcessCapacityTerminationPolicy": "termination",
"LaunchTemplateConfigs": [
{
"LaunchTemplateSpecification": {
"LaunchTemplateId": "",
"LaunchTemplateName": "",
"Version": ""
},
"Overrides": [
{
"InstanceType": "r5.metal",
"MaxPrice": "",
"SubnetId": "",
"AvailabilityZone": "",
"WeightedCapacity": 0.0,
"Priority": 0.0,
"Placement": {
"AvailabilityZone": "",
"Affinity": "",
"GroupName": "",
"PartitionNumber": 0,
"HostId": "",
"Tenancy": "dedicated",
"SpreadDomain": "",
"HostResourceGroupArn": ""
},
"InstanceRequirements": {
"VCpuCount": {
"Min": 0,
"Max": 0
},
"MemoryMiB": {
"Min": 0,
"Max": 0
},
"CpuManufacturers": [
"amd"
],
"MemoryGiBPerVCpu": {
"Min": 0.0,
"Max": 0.0
},
"ExcludedInstanceTypes": [
""
],
"InstanceGenerations": [
"previous"
],
"SpotMaxPricePercentageOverLowestPrice": 0,
"OnDemandMaxPricePercentageOverLowestPrice": 0,
"BareMetal": "included",
"BurstablePerformance": "required",
"RequireHibernateSupport": true,
"NetworkInterfaceCount": {
"Min": 0,
"Max": 0
},
"LocalStorage": "excluded",
"LocalStorageTypes": [
"ssd"
],
"TotalLocalStorageGB": {
"Min": 0.0,
"Max": 0.0
},
"BaselineEbsBandwidthMbps": {
"Min": 0,
"Max": 0
},
"AcceleratorTypes": [
"inference"
],
"AcceleratorCount": {
"Min": 0,
"Max": 0
},
"AcceleratorManufacturers": [
"amd"
],
"AcceleratorNames": [
"a100"
],
"AcceleratorTotalMemoryMiB": {
"Min": 0,
"Max": 0
}
}
}
]
}
],
"TargetCapacitySpecification": {
"TotalTargetCapacity": 0,
"OnDemandTargetCapacity": 0,
"SpotTargetCapacity": 0,
"DefaultTargetCapacityType": "on-demand",
"TargetCapacityUnitType": "memory-mib"
},
"TerminateInstancesWithExpiration": true,
"Type": "instant",
"ValidFrom": "1970-01-01T00:00:00",
"ValidUntil": "1970-01-01T00:00:00",
"ReplaceUnhealthyInstances": true,
"TagSpecifications": [
{
"ResourceType": "fleet",
"Tags": [
{
"Key": "",
"Value": ""
}
]
}
],
"Context": ""
}