

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

# Armada EC2 dan Armada Spot
<a name="Fleets"></a>

Armada EC2 dan Armada Spot dirancang untuk menjadi cara yang berguna untuk meluncurkan armada puluhan, ratusan, atau ribuan instans Amazon EC2 dalam satu operasi. Setiap instance dalam armada dikonfigurasi oleh [template peluncuran](ec2-launch-templates.md) atau serangkaian parameter peluncuran yang Anda konfigurasikan secara manual saat peluncuran.

**Topics**
+ [Fitur dan manfaat](#ec2-fleet-features-and-benefits)
+ [yang merupakan metode armada terbaik untuk digunakan?](which-fleet-method-to-use.md)
+ [Opsi konfigurasi untuk Armada EC2 atau Armada Spot](ec2-fleet-configuration-strategies.md)
+ [Bekerja dengan Armada EC2](manage-ec2-fleet.md)
+ [Bekerja dengan Armada Spot](work-with-spot-fleets.md)
+ [Pantau Armada EC2 atau Armada Spot](fleet-monitor.md)
+ [Tutorial untuk Armada EC2](fleet-tutorials.md)
+ [Contoh konfigurasi CLI untuk Armada EC2](ec2-fleet-examples.md)
+ [Contoh konfigurasi CLI Spot Fleet](spot-fleet-examples.md)
+ [Kuota untuk Armada EC2 dan Armada Spot](fleet-quotas.md)

## Fitur dan manfaat
<a name="ec2-fleet-features-and-benefits"></a>

Armada menyediakan fitur dan manfaat berikut, memungkinkan Anda memaksimalkan penghematan biaya dan mengoptimalkan ketersediaan dan kinerja saat menjalankan aplikasi pada beberapa instans EC2.

**Beberapa jenis instance**  
Armada dapat meluncurkan beberapa jenis instans, memastikannya tidak bergantung pada ketersediaan jenis instans tunggal apa pun. Ini meningkatkan ketersediaan instance secara keseluruhan di armada Anda.

**Mendistribusikan instans di seluruh Zona Ketersediaan**  
Armada dapat diluncurkan ke beberapa Availability Zone, memungkinkan Anda mengurangi biaya dan meningkatkan ketersediaan. Jika armada Anda menyertakan Instans Spot, armada secara otomatis memilih Availability Zone berdasarkan preferensi Anda terkait harga dan interupsi.

**Beberapa opsi pembelian**  
Armada dapat meluncurkan beberapa opsi pembelian (Instans Spot dan Sesuai Permintaan), memungkinkan Anda mengoptimalkan biaya melalui penggunaan Instans Spot. Anda juga dapat memanfaatkan diskon Instans Cadangan dan Savings Plans dengan menggunakannya bersama dengan Instans Sesuai Permintaan di armada. 

**Penggantian otomatis Instans Spot**  
Jika armada Anda menyertakan Instans Spot, maka secara otomatis dapat meminta penggantian kapasitas Spot jika Instans Spot Anda terganggu. Melalui [Penyeimbangan Kembali Kapasitas](ec2-fleet-capacity-rebalance.md), armada juga dapat memantau dan secara proaktif mengganti Instans Spot Anda yang berisiko tinggi mengalami gangguan.

**Kapasitas Cadangan Sesuai Permintaan**  
Armada dapat menggunakan Reservasi Kapasitas [Sesuai Permintaan untuk memesan kapasitas](ec2-fleet-on-demand-capacity-reservations.md) Sesuai Permintaan. Armada juga dapat menyertakan [Blok Kapasitas untuk ML](ec2-capacity-blocks.md), memungkinkan Anda untuk memesan instans GPU di masa mendatang untuk mendukung beban kerja machine learning (ML) berdurasi pendek.

# yang merupakan metode armada terbaik untuk digunakan?
<a name="which-fleet-method-to-use"></a>

Sebagai praktik terbaik secara umum, kami merekomendasikan peluncuran armada Instans Spot dan Sesuai Permintaan dengan Amazon EC2 Auto Scaling yang menyediakan fitur tambahan yang dapat digunakan untuk mengelola armada Anda. Daftar fitur tambahan mencakup penggantian pemeriksaan kondisi otomatis untuk Instans Spot dan Sesuai Permintaan, pemeriksaan kondisi berbasis aplikasi, dan integrasi dengan Elastic Load Balancing untuk memastikan distribusi lalu lintas aplikasi yang merata ke instans berkondisi baik milik Anda. Anda juga dapat menggunakan grup Auto Scaling saat menggunakan AWS layanan seperti Amazon ECS, Amazon EKS (grup node yang dikelola sendiri), dan Amazon VPC Lattice. Untuk informasi selengkapnya, lihat [Panduan Pengguna Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/).

Jika Anda tidak dapat menggunakan Amazon EC2 Auto Scaling, Anda dapat mempertimbangkan untuk menggunakan Armada EC2 atau Armada Spot. Armada EC2 dan Armada Spot menawarkan fungsionalitas inti yang sama. Namun, Armada EC2 hanya tersedia menggunakan baris perintah dan tidak menyediakan dukungan konsol. Spot Fleet menyediakan dukungan konsol, tetapi didasarkan pada API lama tanpa investasi yang direncanakan.

Gunakan tabel berikut untuk menentukan metode armada mana yang akan digunakan.


****  

| Metode armada | Kapan harus menggunakan? | Kasus penggunaan | 
| --- | --- | --- | 
|  [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Buat grup Auto Scaling yang mengelola siklus hidup instans Anda sambil mempertahankan jumlah instans yang diinginkan. Mendukung penskalaan horizontal (menambahkan lebih banyak instans) antara batas minimum dan maksimum yang ditentukan.  | 
|  [Armada EC2](manage-ec2-fleet.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Buat `instant` armada Instans Sesuai Permintaan dan Instans Spot dalam satu operasi, dengan beberapa spesifikasi peluncuran yang bervariasi menurut jenis instans, AMI, Availability Zone, atau subnet. Strategi alokasi Instans Spot default `lowest-price` per unit, tetapi kami sarankan untuk mengubahnya menjadi. `price-capacity-optimized`  | 
|  [Armada Spot](work-with-spot-fleets.md)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/AWSEC2/latest/UserGuide/which-fleet-method-to-use.html)  |  Gunakan Armada Spot hanya jika Anda memerlukan dukungan konsol untuk kasus penggunaan kapan Anda akan menggunakan Armada EC2.  | 

# Opsi konfigurasi untuk Armada EC2 atau Armada Spot
<a name="ec2-fleet-configuration-strategies"></a>

Saat merencanakan Armada EC2 atau Armada Spot, sebaiknya Anda mempertimbangkan opsi berikut saat memutuskan cara mengonfigurasi armada Anda.


****  

| Opsi Konfigurasi | Pertanyaan | Dokumentasi | 
| --- | --- | --- | 
| Jenis permintaan armada |  Apakah Anda menginginkan armada yang mengajukan permintaan satu kali untuk kapasitas target yang diinginkan, atau armada yang mempertahankan kapasitas target dari waktu ke waktu?  | [Jenis permintaan Armada EC2 dan Armada Spot](ec2-fleet-request-type.md) | 
| Instans Spot | Apakah Anda berencana untuk memasukkan Instans Spot dalam armada Anda? Tinjau praktik terbaik Spot dan gunakan saat merencanakan armada sehingga Anda dapat menyediakan instans dengan harga serendah mungkin. | [Praktik terbaik untuk Amazon EC2 Spot](spot-best-practices.md) | 
| Batas pengeluaran untuk armada Anda | Apakah Anda ingin membatasi berapa banyak yang akan Anda bayar untuk armada Anda per jam? | [Tetapkan batas pengeluaran untuk Armada EC2 atau Armada Spot](ec2-fleet-control-spending.md) | 
| Jenis instans dan pemilihan tipe instans berbasis atribut |  Apakah Anda ingin menentukan jenis instans di armada Anda, atau membiarkan Amazon EC2 memilih jenis instans yang memenuhi persyaratan aplikasi Anda?  | [Tentukan atribut untuk pemilihan tipe contoh untuk Armada EC2 atau Armada Spot](ec2-fleet-attribute-based-instance-type-selection.md) | 
| Pembobotan instans | Apakah Anda ingin menetapkan bobot ke setiap jenis instans untuk mewakili kapasitas komputasi dan kinerjanya, sehingga Amazon EC2 dapat memilih kombinasi jenis instans yang tersedia untuk memenuhi kapasitas target yang Anda inginkan? | [Gunakan pembobotan instans untuk mengelola biaya dan kinerja Armada EC2 atau Armada Spot Anda](ec2-fleet-instance-weighting.md) | 
| Strategi alokasi | Apakah Anda ingin memutuskan apakah akan mengoptimalkan kapasitas, harga, atau jenis instans yang tersedia untuk digunakan untuk Instans Spot dan Instans Sesuai Permintaan di armada Anda? | [Gunakan strategi alokasi untuk menentukan bagaimana Armada EC2 atau Armada Spot memenuhi kapasitas Spot dan Sesuai Permintaan](ec2-fleet-allocation-strategy.md) | 
| Penyeimbangan Ulang Kapasitas | Apakah Anda ingin armada Anda mengganti Instans Spot yang berisiko secara otomatis? | [Gunakan Rebalancing Kapasitas di Armada EC2 dan Armada Spot untuk mengganti Instans Spot yang berisiko](ec2-fleet-capacity-rebalance.md) | 
| Reservasi Kapasitas Sesuai Permintaan | Apakah Anda ingin memesan kapasitas untuk Instans Sesuai Permintaan di armada Anda? | [Gunakan Reservasi Kapasitas untuk memesan kapasitas Sesuai Permintaan di Armada EC2](ec2-fleet-on-demand-capacity-reservations.md) | 

# Jenis permintaan Armada EC2 dan Armada Spot
<a name="ec2-fleet-request-type"></a>

Jenis permintaan untuk Armada EC2 atau Armada Spot menentukan apakah permintaan tersebut sinkron atau asinkron, dan apakah itu permintaan satu kali untuk kapasitas target yang diinginkan atau upaya berkelanjutan untuk mempertahankan kapasitas dari waktu ke waktu. Saat mengonfigurasi armada Anda, Anda harus menentukan jenis permintaan.

Armada EC2 dan Armada Spot menawarkan dua jenis permintaan: `request` dan`maintain`. Selain itu, Armada EC2 menawarkan jenis permintaan ketiga yang disebut`instant`.Jenis permintaan armada

`instant`(Hanya Armada EC2)  
Jika Anda mengonfigurasi tipe permintaan sebagai `instant`, Armada EC2 akan mengajukan permintaan satu kali sinkron untuk kapasitas yang Anda inginkan. Dalam respons API, ia mengembalikan instance yang diluncurkan dan memberikan kesalahan untuk instance yang tidak dapat diluncurkan. Untuk informasi selengkapnya, lihat [Konfigurasikan jenis Armada EC2 instant](instant-fleet.md).

`request`  
Jika Anda mengonfigurasi jenis permintaan sebagai`request`, armada menempatkan permintaan satu kali asinkron untuk kapasitas yang Anda inginkan. Jika kapasitas berkurang karena gangguan Spot, armada tidak berupaya mengisi Instans Spot, juga tidak mengirimkan permintaan di kumpulan kapasitas Spot alternatif jika kapasitas tidak tersedia. Saat membuat Armada Spot tipe `request` menggunakan konsol, kosongkan kotak centang **Pertahankan kapasitas target**.

`maintain` (default)  
Jika Anda mengonfigurasi jenis permintaan sebagai`maintain`, armada akan menempatkan permintaan asinkron untuk kapasitas yang Anda inginkan, dan mempertahankannya dengan mengisi ulang Instans Spot yang terputus secara otomatis. Saat membuat Armada Spot tipe `maintain` menggunakan konsol, pilih kotak centang **Pertahankan kapasitas target**

# Konfigurasikan jenis Armada EC2 instant
<a name="instant-fleet"></a>

Armada EC2 tipe *instan* adalah permintaan satu kali sinkron yang hanya membuat satu upaya untuk meluncurkan kapasitas yang Anda inginkan. Respons API mencantumkan instans yang diluncurkan, bersama dengan kesalahan untuk instans yang tidak dapat diluncurkan. Terdapat beberapa keuntungan dari penggunaan Armada EC2 tipe *instan*, yang dijelaskan dalam artikel ini. Contoh konfigurasi disediakan di akhir artikel.

Untuk beban kerja yang memerlukan API khusus peluncuran untuk meluncurkan instans EC2, Anda dapat menggunakan API. RunInstances Namun, dengan RunInstances, Anda hanya dapat meluncurkan Instans Sesuai Permintaan atau Instans Spot, tetapi tidak keduanya dalam permintaan yang sama. Selanjutnya, ketika Anda menggunakan RunInstances untuk meluncurkan Instans Spot, permintaan Instans Spot Anda terbatas pada satu jenis instans dan satu Availability Zone. API ini menargetkan kolam kapasitas Spot (set instans yang tidak digunakan dengan tipe instans dan Zona ketersediaan yang sama). Jika kumpulan kapasitas Spot tidak memiliki kapasitas Instans Spot yang memadai untuk permintaan Anda, RunInstances panggilan gagal.

Alih-alih menggunakan RunInstances untuk meluncurkan Instans Spot, sebaiknya gunakan CreateFleet API dengan `type` parameter yang disetel `instant` untuk manfaat berikut: 
+ **Luncurkan Instans Sesuai Permintaan dan Instans Spot dalam satu permintaan.** Armada EC2 dapat meluncurkan Instans Sesuai Permintaan, Instans Spot, atau keduanya. Permintaan Instans Spot terpenuhi jika terdapat kapasitas yang tersedia dan harga maksimum per jam untuk permintaan Anda melebihi harga Spot.
+ **Menambah ketersediaan Instans Spot.** Dengan menggunakan Armada EC2 tipe `instant`, Anda dapat meluncurkan Instans Spot mengikuti [praktik terbaik Spot](spot-best-practices.md) dengan keuntungan yang dihasilkan:
  + **Praktik terbaik Spot: Bersikaplah fleksibel terkait tipe instans dan Zona Ketersediaan.**

    Keuntungan: Dengan menentukan beberapa tipe instans dan Zona Ketersediaan, Anda menambah jumlah kolam kapasitas Spot. Hal ini memberi layanan Spot kesempatan yang lebih baik untuk menemukan dan mengalokasikan kapasitas komputasi Spot yang Anda inginkan. Praktik terbaiknya adalah fleksibel pada setidaknya 10 tipe instans untuk setiap beban kerja dan memastikan semua Zona Ketersediaan dikonfigurasi untuk digunakan di VPC Anda.
  + **Spot best practice: Gunakan strategi price-capacity-optimized alokasi.**

    Manfaat: Strategi `price-capacity-optimized` alokasi mengidentifikasi instance dari kumpulan kapasitas Spot yang paling tersedia, dan kemudian secara otomatis menyediakan instance dari harga terendah dari kumpulan ini. Karena kapasitas Instans Spot Anda bersumber dari kolam dengan kapasitas optimal, hal ini mengurangi kemungkinan bahwa Instans Spot Anda akan terinterupsi saat Amazon EC2 membutuhkan kapasitas kembali.
+ **Dapatkan akses ke set kemampuan yang lebih luas.** Untuk beban kerja yang memerlukan API khusus peluncuran, dan di mana Anda lebih suka mengelola siklus hidup instans Anda daripada membiarkan Armada EC2 mengelolanya untuk Anda, gunakan jenis Armada EC2 alih-alih API. `instant` [RunInstances](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RunInstances.html) Armada EC2 menyediakan serangkaian kemampuan yang lebih luas daripada RunInstances, seperti yang ditunjukkan dalam contoh berikut. Untuk semua beban kerja lainnya, Anda harus menggunakan Amazon EC2 Auto Scaling karena menyediakan set fitur yang lebih komprehensif untuk berbagai macam beban kerja, seperti aplikasi yang didukung ELB, beban kerja terkontainerisasi, dan tugas pemrosesan antrean.

Anda dapat menggunakan Armada EC2 tipe *instan* untuk meluncurkan instans ke Blok Kapasitas. Untuk informasi selengkapnya, lihat [Tutorial: Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Blok Kapasitas](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md).

AWS layanan seperti Amazon EC2 Auto Scaling dan Amazon EMR menggunakan EC2 *Fleet* tipe instan untuk meluncurkan instans EC2.

## Prasyarat untuk Armada EC2 tipe instan
<a name="instant-fleet-prerequisites"></a>

Untuk prasyarat guna membuat Armada EC2, lihat [Prasyarat Armada EC2](ec2-fleet-prerequisites.md).

## Cara kerja Armada EC2
<a name="how-instant-fleet-works"></a>

Saat bekerja dengan Armada EC2 tipe `instant`, urutan peristiwanya adalah sebagai berikut:

1. **Konfigurasi:** Konfigurasikan jenis [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)permintaan sebagai`instant`. Untuk informasi selengkapnya, lihat [Membuat Armada EC2](create-ec2-fleet.md). Perhatikan bahwa setelah melakukan panggilan API, Anda tidak dapat memodifikasinya.

1. **Permintaan:** Saat Anda melakukan panggilan API, Amazon EC2 menempatkan permintaan satu kali sinkron untuk kapasitas yang Anda inginkan.

1. **Respons:** Respons API mencantumkan instance yang diluncurkan, bersama dengan kesalahan untuk instance yang tidak dapat diluncurkan.

1. **Jelaskan:** Anda dapat mendeskripsikan Armada EC2 Anda, daftar instans yang terkait dengan Armada EC2 Anda, dan melihat riwayat Armada EC2 Anda.

1. **Mengakhiri instance:** Anda dapat menghentikan instance kapan saja.

1. **Hapus permintaan armada:** Permintaan armada dapat dihapus secara manual atau otomatis:
   + Petunjuk: Anda dapat [menghapus permintaan armada](delete-fleet.md) setelah instans diluncurkan.

     Perhatikan bahwa `instant` armada yang dihapus dengan instance yang sedang berjalan tidak didukung. Saat Anda menghapus `instant` armada, Amazon EC2 secara otomatis menghentikan semua instance-nya. Untuk armada dengan lebih dari 1000 instance, permintaan penghapusan mungkin gagal. Jika armada Anda memiliki lebih dari 1000 instans, pertama-tama hentikan sebagian besar instans secara manual, sisakan 1000 atau kurang. Kemudian hapus armada, dan instance yang tersisa akan dihentikan secara otomatis.
   + Otomatis: Amazon EC2 menghapus permintaan armada beberapa saat setelah: 
     + Semua instance dihentikan.
     + Armada gagal meluncurkan instance apa pun.

## Contoh
<a name="instant-fleet-examples"></a>

Contoh berikut menunjukkan cara menggunakan Armada EC2 tipe `instant` pada berbagai kasus penggunaan. Untuk informasi selengkapnya tentang penggunaan parameter CreateFleet API EC2, lihat [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html)di Referensi API *Amazon EC2*.

**Topics**
+ [Contoh 1: Meluncurkan Instans Spot dengan strategi alokasi yang dioptimalkan kapasitas](#instant-fleet-example-1)
+ [Contoh 2: Meluncurkan satu Instans Spot dengan strategi alokasi yang dioptimalkan kapasitas](#instant-fleet-example-2)
+ [Contoh 3: Meluncurkan Instans Spot menggunakan pembobotan instans](#instant-fleet-example-3)
+ [Contoh 4: Luncurkan Instans Spot dalam Zona Ketersediaan tunggal](#instant-fleet-example-4)
+ [Contoh 5: Meluncurkan Instans Spot satu tipe instans dalam satu Zona Ketersediaan](#instant-fleet-example-5)
+ [Contoh 6: Meluncurkan Instans Spot hanya jika kapasitas target minimum dapat diluncurkan](#instant-fleet-example-6)
+ [Contoh 7: Meluncurkan Instans Spot hanya jika kapasitas target minimum dapat diluncurkan dari Tipe Instans yang sama dalam satu Zona Ketersediaan](#instant-fleet-example-7)
+ [Contoh 8: Meluncurkan instans dengan banyak Templat Peluncuran](#instant-fleet-example-8)
+ [Contoh 9: Meluncurkan Instans Spot dengan basis Instans Sesuai Permintaan](#instant-fleet-example-9)
+ [Contoh 10: Meluncurkan Instans Spot menggunakan strategi alokasi yang dioptimalkan kapasitas dengan basis Instans Sesuai Permintaan menggunakan Reservasi Kapasitas dan strategi alokasi yang diprioritaskan](#instant-fleet-example-10)
+ [Contoh 11: Luncurkan Instans Spot menggunakan strategi capacity-optimized-prioritized alokasi](#instant-fleet-example-11)
+ [Contoh 12: Menentukan parameter Systems Manager, bukan ID AMI](#instant-fleet-example-12)

### Contoh 1: Meluncurkan Instans Spot dengan strategi alokasi yang dioptimalkan kapasitas
<a name="instant-fleet-example-1"></a>

Contoh berikut menentukan parameter yang diperlukan dalam Armada EC2 tipe `instant`: templat peluncuran, kapasitas target, opsi pembelian default, dan penimpaan templat peluncuran.
+ Templat peluncuran diidentifikasi dengan nama templat dan nomor versi peluncurannya.
+ 12 penggantian templat peluncuran menentukan 4 tipe instans yang berbeda dan 3 subnet berbeda, masing-masing di Zona Ketersediaan terpisah. Setiap tipe instans dan kombinasi subnet menentukan kolam kapasitas Spot, sehingga menghasilkan 12 kolam kapasitas Spot.
+ Kapasitas target untuk armada adalah 20 instans.
+ Opsi pembelian default adalah `spot`, yang menghasilkan armada yang berupaya meluncurkan 20 Instans Spot ke kolam kapasitas Spot dengan kapasitas optimal untuk jumlah instans yang diluncurkan.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 2: Meluncurkan satu Instans Spot dengan strategi alokasi yang dioptimalkan kapasitas
<a name="instant-fleet-example-2"></a>

Anda dapat meluncurkan satu Instans Spot secara optimal pada satu waktu dengan melakukan beberapa jenis panggilan API Armada EC2`instant`, dengan menyetel TotalTargetCapacity ke 1.

Contoh berikut menentukan parameter yang diperlukan dalam Armada EC2 tipe instan: templat peluncuran, kapasitas target, opsi pembelian default, dan penimpaan templat peluncuran. Templat peluncuran diidentifikasi dengan nama templat dan nomor versi peluncurannya. 12 penimpaan templat peluncuran memiliki 4 tipe instans yang berbeda dan 3 subnet yang berbeda, masing-masing di Zona Ketersediaan yang terpisah. Kapasitas target untuk armada adalah 1 instans, dan opsi pembelian default adalah spot, yang mengakibatkan armada berupaya meluncurkan Instans Spot dari salah satu dari 12 kolam kapasitas Spot berdasarkan strategi alokasi yang dioptimalkan kapasitas, untuk meluncurkan Instans Spot dari kolam kapasitas dengan ketersediaan paling tinggi.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 1,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 3: Meluncurkan Instans Spot menggunakan pembobotan instans
<a name="instant-fleet-example-3"></a>

Contoh berikut menggunakan pembobotan instans, yang berarti harga adalah per unit jam, bukan per jam instans. Setiap konfigurasi peluncuran mencantumkan jenis instans yang berbeda dan bobot yang berbeda berdasarkan berapa banyak unit beban kerja yang dapat dijalankan pada instance dengan asumsi unit beban kerja memerlukan memori 15 GB dan 4 v. CPUs Misalnya m5.xlarge (memori 4 v CPUs dan 16 GB) dapat menjalankan satu unit dan berbobot 1, m5.2xlarge (8 v CPUs dan 32 GB memori) dapat menjalankan 2 unit dan berbobot 2, dan seterusnya. Total kapasitas target diatur ke 40 unit. Opsi pembelian default adalah spot, dan strategi alokasi dioptimalkan kapasitas, yang menghasilkan 40 m5.xlarge (40 dibagi 1), 20 m5.2xlarge (40 dibagi 2), 10 m5.4xlarge (40 dibagi 4), 5 m5.8xlarge (40 dibagi 8), atau campuran tipe instans dengan bobot yang ditambahkan ke kapasitas yang diinginkan berdasarkan kapasitas strategi alokasi yang dioptimalkan kapasitas.

Untuk informasi selengkapnya, lihat [Gunakan pembobotan instans untuk mengelola biaya dan kinerja Armada EC2 atau Armada Spot Anda](ec2-fleet-instance-weighting.md).

```
{
   "SpotOptions":{
      "AllocationStrategy":"capacity-optimized"
   },
   "LaunchTemplateConfigs":[
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"m5.xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":1
            },
            {
               "InstanceType":"m5.xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":1
            },
            {
               "InstanceType":"m5.xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":1
            },
            {
               "InstanceType":"m5.2xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":2
            },
            {
               "InstanceType":"m5.2xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":2
            },
            {
               "InstanceType":"m5.2xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":2
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":4
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":4
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":4
            },
            {
               "InstanceType":"m5.8xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":8
            },
            {
               "InstanceType":"m5.8xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":8
            },
            {
               "InstanceType":"m5.8xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":8
            }
         ]
      }
   ],
   "TargetCapacitySpecification":{
      "TotalTargetCapacity":40,
      "DefaultTargetCapacityType":"spot"
   },
   "Type":"instant"
}
```

### Contoh 4: Luncurkan Instans Spot dalam Zona Ketersediaan tunggal
<a name="instant-fleet-example-4"></a>

Anda dapat mengonfigurasi armada untuk meluncurkan semua instance dalam satu Availability Zone dengan menyetel opsi Spot SingleAvailabilityZone ke true.

12 penimpaan templat peluncuran memiliki tipe dan subnet instans yang berbeda (masing–masing di Zona Ketersediaan terpisah), tetapi kapasitas tertimbangnya sama. Total kapasitas target adalah 20 instans, opsi pembelian default adalah spot, dan strategi alokasi Spot dioptimalkan kapasitas. Armada EC2 meluncurkan 20 Instans Spot semuanya dalam satu AZ, dari kolam kapasitas Spot dengan kapasitas optimal menggunakan spesifikasi peluncuran.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleAvailabilityZone": true
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 5: Meluncurkan Instans Spot satu tipe instans dalam satu Zona Ketersediaan
<a name="instant-fleet-example-5"></a>

Anda dapat mengonfigurasi armada untuk meluncurkan semua instance dari jenis instans yang sama dan dalam Availability Zone tunggal dengan menyetel SpotOptions SingleInstanceType ke true dan SingleAvailabilityZone true.

12 penimpaan templat peluncuran memiliki tipe dan subnet instans yang berbeda (masing–masing di Zona Ketersediaan terpisah), tetapi kapasitas tertimbangnya sama. Total kapasitas target adalah 20 instans, opsi pembelian default adalah spot, strategi alokasi Spot dioptimalkan kapasitas. Armada EC2 meluncurkan 20 Instans Spot dengan tipe instans yang sama, semuanya dalam satu AZ dari kolam Instans Spot dengan kapasitas optimal menggunakan spesifikasi peluncuran.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 6: Meluncurkan Instans Spot hanya jika kapasitas target minimum dapat diluncurkan
<a name="instant-fleet-example-6"></a>

Anda dapat mengonfigurasi armada untuk meluncurkan instance hanya jika kapasitas target minimum dapat diluncurkan dengan menyetel opsi Spot MinTargetCapacity ke kapasitas target minimum yang ingin Anda luncurkan bersama.

Saat menentukan MinTargetCapacity, Anda harus menentukan setidaknya satu dari parameter ini: SingleInstanceType atau SingleAvailabilityZone. Dalam contoh ini, SingleInstanceType ditentukan, sehingga semua 20 instance harus menggunakan jenis instance yang sama.

12 penimpaan templat peluncuran memiliki tipe dan subnet instans yang berbeda (masing–masing di Zona Ketersediaan terpisah), tetapi kapasitas tertimbangnya sama. Total kapasitas target dan kapasitas target minimum keduanya disetel ke 20 instance, opsi pembelian default adalah spot, dan strategi alokasi Spot dioptimalkan kapasitas. Armada EC2 meluncurkan 20 Instans Spot dari kolam kapasitas Spot dengan kapasitas optimal menggunakan penimpaan templat peluncuran, hanya jika dapat meluncurkan semua 20 instans pada saat yang bersamaan.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": true,
        "MinTargetCapacity": 20
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 7: Meluncurkan Instans Spot hanya jika kapasitas target minimum dapat diluncurkan dari Tipe Instans yang sama dalam satu Zona Ketersediaan
<a name="instant-fleet-example-7"></a>

Anda dapat mengonfigurasi armada untuk meluncurkan instance hanya jika kapasitas target minimum dapat diluncurkan dengan satu jenis instans dalam satu Availability Zone dengan menyetel opsi Spot MinTargetCapacity ke kapasitas target minimum yang ingin Anda luncurkan bersama SingleInstanceType dan SingleAvailabilityZone opsi.

12 spesifikasi peluncuran yang menimpa templat peluncuran, memiliki tipe instans dan subnet yang berbeda (masing-masing di Zona Ketersediaan yang terpisah), tetapi kapasitas tertimbangnya sama. Total kapasitas target dan kapasitas target minimum keduanya disetel ke 20 instance, opsi pembelian default adalah spot, strategi alokasi Spot dioptimalkan kapasitas, benar dan benar SingleInstanceType . SingleAvailabilityZone Armada EC2 meluncurkan 20 Instans Spot dengan tipe instans yang sama, semuanya dalam satu AZ dari kolam kapasitas Spot dengan kapasitas optimal menggunakan spesifikasi peluncuran, hanya jika dapat meluncurkan semua 20 instans pada saat yang bersamaan.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "SingleInstanceType": true,
        "SingleAvailabilityZone": true,
        "MinTargetCapacity": 20
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.4xlarge",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.4xlarge",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 8: Meluncurkan instans dengan banyak Templat Peluncuran
<a name="instant-fleet-example-8"></a>

Anda dapat mengonfigurasi armada untuk meluncurkan instans dengan spesifikasi peluncuran yang berbeda untuk berbagai tipe instans atau grup tipe instans, dengan menentukan banyak templat peluncuran. Dalam contoh ini kita ingin agar memiliki ukuran volume EBS yang berbeda untuk tipe instans yang berbeda dan dikonfigurasi dalam templat peluncuran ec2-fleet-lt-4xl, ec2-fleet-lt-9xl, dan ec2-fleet-lt-18xl.

Dalam contoh ini, kita menggunakan 3 templat peluncuran yang berbeda untuk 3 tipe instans berdasarkan ukurannya. Spesifikasi peluncuran yang ditimpa pada semua templat peluncuran menggunakan bobot instans berdasarkan vCPU pada tipe instans. Total kapasitas target adalah 144 instans, opsi pembelian default adalah spot, dan strategi alokasi Spot dioptimalkan kapasitas. Armada EC2 dapat meluncurkan 9 c5n.4xlarge (144 dibagi 16) menggunakan templat peluncuran ec2-fleet-4xl atau 4 c5n.9xlarge (144 dibagi 36) menggunakan template peluncuran ec2-fleet-9xl, atau 2 c5n.18xlarge (144 dibagi 72) menggunakan templat peluncuran ec2-fleet-18xl, atau campuran tipe instans dengan bobot yang ditambahkan ke kapasitas yang diinginkan berdasarkan strategi alokasi yang dioptimalkan kapasitas.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt-18xl",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5n.18xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":72
            },
            {
               "InstanceType":"c5n.18xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":72
            },
            {
               "InstanceType":"c5n.18xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":72
            }
         ]
      },
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt-9xl",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5n.9xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":36
            },
            {
               "InstanceType":"c5n.9xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":36
            },
            {
               "InstanceType":"c5n.9xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":36
            }
         ]
      },
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt-4xl",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5n.4xlarge",
               "SubnetId":"subnet-fae8c380",
               "WeightedCapacity":16
            },
            {
               "InstanceType":"c5n.4xlarge",
               "SubnetId":"subnet-e7188bab",
               "WeightedCapacity":16
            },
            {
               "InstanceType":"c5n.4xlarge",
               "SubnetId":"subnet-49e41922",
               "WeightedCapacity":16
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 144,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 9: Meluncurkan Instans Spot dengan basis Instans Sesuai Permintaan
<a name="instant-fleet-example-9"></a>

Contoh berikut menentukan total kapasitas target dari 20 instans untuk armada tersebut dan kapasitas target dari 5 Instans Sesuai Permintaan. Opsi pembelian default adalah spot. Armada meluncurkan 5 Instans Sesuai Permintaan sebagaimana ditentukan, tetapi perlu meluncurkan 15 instans lagi untuk memenuhi total kapasitas target. Opsi pembelian untuk selisih dihitung sebagai TotalTargetCapacity — OnDemandTargetCapacity = DefaultTargetCapacityType, yang menghasilkan peluncuran armada 15 Instans Spot membentuk salah satu dari 12 kumpulan kapasitas Spot berdasarkan strategi alokasi yang dioptimalkan kapasitas.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab"
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922"
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity": 5,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 10: Meluncurkan Instans Spot menggunakan strategi alokasi yang dioptimalkan kapasitas dengan basis Instans Sesuai Permintaan menggunakan Reservasi Kapasitas dan strategi alokasi yang diprioritaskan
<a name="instant-fleet-example-10"></a>

Anda dapat mengonfigurasi armada untuk menggunakan Reservasi Kapasitas Sesuai Permintaan terlebih dahulu saat meluncurkan basis Instans Sesuai Permintaan dengan tipe kapasitas target default sebagai spot dengan menyetel strategi penggunaan untuk Reservasi Kapasitas. use-capacity-reservations-first Jika lebih dari satu kolam instans memiliki Reservasi Kapasitas yang tidak terpakai, strategi alokasi Sesuai Permintaan akan diterapkan. Dalam contoh ini, strategi alokasi Sesuai Permintaan diprioritaskan.

Dalam contoh ini, terdapat 6 Reservasi Kapasitas yang tidak terpakai yang tersedia. Jumlah tersebut kurang dari kapasitas Sesuai Permintaan target armada 10 instans Sesuai Permintaan.

Akun tersebut memiliki 6 Reservasi Kapasitas yang tidak terpakai dalam 2 kolam. Jumlah Cadangan Kapasitas di setiap kumpulan ditunjukkan dengan AvailableInstanceCount.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
 
{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "c5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

Konfigurasi armada berikut hanya menampilkan konfigurasi terkait untuk contoh ini. Strategi alokasi On-Demand diprioritaskan, dan strategi penggunaan untuk Reservasi Kapasitas adalah. use-capacity-reservations-first Strategi alokasi Spot dioptimalkan kapasitas. Total kapasitas target adalah 20, kapasitas target Sesuai Permintaan adalah 10, dan tipe kapasitas target default adalah spot.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized"
    },
    "OnDemandOptions":{
       "CapacityReservationOptions": {
         "UsageStrategy": "use-capacity-reservations-first"
       },
       "AllocationStrategy":"prioritized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 2.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 3.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 4.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 5.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 6.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 7.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 8.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 9.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 10.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 11.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 12.0
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity": 10,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

Setelah Anda membuat armada instan menggunakan konfigurasi sebelumnya, 20 instans berikut ini diluncurkan untuk memenuhi kapasitas target:
+ 7 Instans Sesuai Permintaan c5.large di us-east-1a – c5.large di us-east-1a diprioritaskan terlebih dahulu, dan terdapat 3 Reservasi Kapasitas c5.large yang tidak terpakai. Reservasi Kapasitas digunakan terlebih dahulu untuk meluncurkan 3 Instans Sesuai Permintaan dan 4 Instans Sesuai Permintaan tambahan diluncurkan sesuai dengan strategi alokasi Sesuai Permintaan, yang diprioritaskan dalam contoh ini.
+ 3 m5.large Instans Sesuai Permintaan di us-east-1a — m5.large di us-east-1a diprioritaskan kedua, dan ada 3 Reservasi Kapasitas m5.large yang tidak terpakai yang tersedia.
+ 10 Instans Spot dari salah satu dari 12 kolam kapasitas Spot yang memiliki kapasitas optimal sesuai dengan strategi alokasi yang dioptimalkan kapasitas.

Setelah armada diluncurkan, Anda dapat berlari [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)untuk melihat berapa banyak Reservasi Kapasitas yang tidak terpakai yang tersisa. Dalam contoh ini, Anda akan melihat respons berikut, yang menunjukkan bahwa semua Reservasi Kapasitas c5.large dan m5.large telah digunakan.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}
 
{
    "CapacityReservationId": "cr-222",
    "InstanceType": "c5.large", 
    "AvailableInstanceCount": 0
}
```

### Contoh 11: Luncurkan Instans Spot menggunakan strategi capacity-optimized-prioritized alokasi
<a name="instant-fleet-example-11"></a>

Contoh berikut menentukan parameter yang diperlukan dalam Armada EC2 tipe instan: templat peluncuran, kapasitas target, opsi pembelian default, dan penimpaan templat peluncuran. Templat peluncuran diidentifikasi dengan nama templat dan nomor versi peluncurannya. 12 spesifikasi peluncuran yang menimpa templat peluncuran memiliki 4 tipe instans berbeda dengan prioritas yang ditetapkan, dan 3 subnet berbeda, masing–masing di Zona Ketersediaan yang terpisah. Kapasitas target untuk armada adalah 20 instance, dan opsi pembelian default adalah spot, yang mengakibatkan armada mencoba meluncurkan 20 Instans Spot dari salah satu dari 12 kumpulan kapasitas Spot berdasarkan strategi capacity-optimized-prioritized alokasi, yang menerapkan prioritas berdasarkan upaya terbaik, tetapi mengoptimalkan kapasitas terlebih dahulu.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized-prioritized"
    },
    "LaunchTemplateConfigs": [
      {
         "LaunchTemplateSpecification":{
            "LaunchTemplateName":"ec2-fleet-lt1",
            "Version":"$Latest"
         },
         "Overrides":[
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 1.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 2.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 2.0
            },
            {
               "InstanceType":"c5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 2.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 3.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 3.0
            },
            {
               "InstanceType":"m5.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 3.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-fae8c380",
               "Priority": 4.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-e7188bab",
               "Priority": 4.0
            },
            {
               "InstanceType":"m5d.large",
               "SubnetId":"subnet-49e41922",
               "Priority": 4.0
            }
         ]
      }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

### Contoh 12: Menentukan parameter Systems Manager, bukan ID AMI
<a name="instant-fleet-example-12"></a>

Contoh berikut menggunakan template peluncuran untuk menentukan konfigurasi untuk instance di armada. Dalam contoh ini, untuk`ImageId`, alih-alih menentukan ID AMI, AMI direferensikan dengan parameter Manajer Sistem. Pada peluncuran instance, parameter Systems Manager akan diselesaikan ke ID AMI.

Dalam contoh ini, parameter Systems Manager ditentukan dalam format yang valid:`resolve:ssm:golden-ami`. Ada format lain yang valid untuk parameter Systems Manager. Untuk informasi selengkapnya, lihat [Gunakan parameter Systems Manager alih-alih ID AMI](create-launch-template.md#use-an-ssm-parameter-instead-of-an-ami-id).

**catatan**  
Tipe armada harus bertipe `instant`. Jenis armada lainnya tidak mendukung penetapan parameter Manajer Sistem, bukan ID AMI.

```
{
    "LaunchTemplateData": {
        "ImageId": "resolve:ssm:golden-ami",
        "InstanceType": "m5.4xlarge",
        "TagSpecifications": [{
            "ResourceType": "instance",
            "Tags": [{
                "Key": "Name",
                "Value": "webserver"
            }]
        }]
    }
}
```

# Tetapkan batas pengeluaran untuk Armada EC2 atau Armada Spot
<a name="ec2-fleet-control-spending"></a>

Anda dapat menetapkan batas berapa banyak yang bersedia Anda belanjakan per jam untuk Armada EC2 atau Armada Spot Anda. Ketika batas pengeluaran Anda tercapai, armada berhenti meluncurkan instance, bahkan jika kapasitas target belum tercapai.

Ada batasan pengeluaran terpisah untuk Instans On-Demand dan Instans Spot.

**Untuk mengonfigurasi batas pengeluaran untuk Instans Sesuai Permintaan dan Instans Spot di Armada EC2 Anda**  
Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) dan parameter berikut:
+ Untuk Instans Sesuai Permintaan: Dalam `OnDemandOptions` struktur, tentukan batas pengeluaran Anda di lapangan. `MaxTotalPrice`
+ Untuk Instans Spot: Dalam `SpotOptions` struktur, tentukan batas pengeluaran Anda di `MaxTotalPrice` bidang.

**Untuk mengonfigurasi batas pengeluaran untuk Instans Sesuai Permintaan dan Instans Spot di Armada Spot Anda**  
Anda dapat menggunakan konsol Amazon EC2 atau AWS CLI untuk mengonfigurasi batas pengeluaran Anda.

(Konsol) Saat membuat Armada Spot, pilih kotak centang **Setel biaya maksimum untuk Instans Spot**, lalu masukkan nilai untuk **Tetapkan biaya maksimal Anda (per jam**). Untuk informasi lebih lanjut, lihat langkah 6.e. di[Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](create-spot-fleet.md#create-spot-fleet-advanced).

(AWS CLI) Gunakan [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)perintah dan parameter berikut:
+ Untuk Instans Sesuai Permintaan: Tentukan batas pengeluaran Anda di bidang. `OnDemandMaxTotalPrice`
+ Untuk Instans Spot: Tentukan batas pengeluaran Anda di `SpotMaxTotalPrice` bidang.

## Contoh
<a name="ec2-fleet-spending-limit-examples"></a>

Contoh berikut menunjukkan dua skenario berbeda. Pada contoh pertama, armada berhenti meluncurkan Instans Sesuai Permintaan ketika telah memenuhi kapasitas target yang ditetapkan untuk Instans On-Demand (). `OnDemandTargetCapacity` Pada contoh kedua, armada berhenti meluncurkan Instans Sesuai Permintaan ketika telah mencapai jumlah maksimum yang bersedia Anda bayarkan per jam untuk Instans Sesuai Permintaan (). `MaxTotalPrice`

**Contoh: Berhenti meluncurkan Instans Sesuai Permintaan saat kapasitas target tercapai**

Dengan pertimbangan permintaan untuk Instans Sesuai Permintaan `m4.large`, jika:
+ Harga Sesuai Permintaan: 0,10 USD per jam
+ `OnDemandTargetCapacity`: 10
+ `MaxTotalPrice`: 1,50 USD

Armada meluncurkan 10 Instans Sesuai Permintaan karena total \$11,00 (10 instans x \$10,10) tidak melebihi \$11,50 untuk Instans Sesuai Permintaan. `MaxTotalPrice`

**Contoh: Berhenti meluncurkan Instans Sesuai Permintaan ketika total harga maksimum tercapai**

Dengan pertimbangan permintaan untuk Instans Sesuai Permintaan `m4.large`, jika:
+ Harga Sesuai Permintaan: 0,10 USD per jam
+ `OnDemandTargetCapacity`: 10
+ `MaxTotalPrice`: 0,80 USD

Jika armada meluncurkan kapasitas target On-Demand (10 Instans On-Demand), total biaya per jam akan menjadi \$11,00. Ini lebih dari jumlah (0,80 USD) yang ditentukan untuk `MaxTotalPrice` untuk Instans Sesuai Permintaan. Untuk mencegah pengeluaran lebih dari yang Anda bayarkan, armada hanya meluncurkan 8 Instans Sesuai Permintaan (di bawah kapasitas target On-Demand) karena peluncuran lebih banyak akan melebihi untuk Instans Sesuai `MaxTotalPrice` Permintaan.

## Instance kinerja yang dapat melonjak
<a name="ec2-fleet-burstable-spot-instances"></a>

Jika Anda meluncurkan Instans Spot menggunakan [tipe instans performa yang dapat melonjak](burstable-performance-instances.md), serta jika Anda berencana untuk segera menggunakan Instans Spot performa yang dapat melonjak dan untuk durasi yang singkat, tanpa waktu idle untuk memperoleh kredit CPU, kami menyarankan Anda untuk meluncurkannya dalam [mode Standar](burstable-performance-instances-standard-mode.md) guna menghindari pembayaran biaya yang lebih tinggi. Jika Anda meluncurkan Instans Spot performa yang dapat melonjak dalam [Mode tak terbatas](burstable-performance-instances-unlimited-mode.md) dan langsung melonjakkan CPU, Anda akan menghabiskan kredit surplus untuk lonjakan. Jika Anda menggunakan instans untuk durasi yang singkat, instans tersebut tidak memiliki waktu untuk mengkumulasi kredit CPU untuk membayar kredit surplus, dan Anda akan dikenai biaya untuk kredit surplus saat Anda mengakhiri instans.

Mode tidak terbatas cocok untuk Instans Spot dengan performa yang dapat melonjak hanya jika instans tersebut berjalan cukup lama untuk mengakumlasi kredit CPU untuk lonjakan. Jika tidak, pembayaran kredit surplus membuat Instans Spot performa yang dapat melonjak lebih mahal daripada menggunakan instans lain. Untuk informasi selengkapnya, lihat [Kapan menggunakan mode tak terbatas versus CPU tetap](burstable-performance-instances-unlimited-mode-concepts.md#when-to-use-unlimited-mode).

Kredit peluncuran dimaksudkan untuk memberikan pengalaman peluncuran awal yang produktif bagi instans T2 dengan menyediakan sumber daya komputasi yang memadai untuk mengonfigurasi instans. Peluncuran berulang dari instans T2 untuk mengakses kredit peluncuran baru tidak diizinkan. Jika Anda memerlukan CPU berkelanjutan, Anda dapat memperoleh kredit (dengan berhenti selama beberapa periode), menggunakan [mode Tak Terbatas](burstable-performance-instances-unlimited-mode.md) untuk Instans Spot T2, atau menggunakan tipe instans dengan CPU khusus.

# Tentukan atribut untuk pemilihan tipe contoh untuk Armada EC2 atau Armada Spot
<a name="ec2-fleet-attribute-based-instance-type-selection"></a>

Saat membuat Armada EC2 atau Armada Spot, Anda harus menentukan satu atau beberapa jenis instans untuk mengonfigurasi Instans Sesuai Permintaan dan Instans Spot di armada. Sebagai alternatif untuk menentukan tipe instans secara manual, Anda dapat menentukan atribut yang harus dimiliki instans, dan Amazon EC2 akan mengidentifikasi semua tipe instans dengan atribut tersebut. Hal ini dikenal sebagai *pemilihan tipe instans berbasis atribut*. Misalnya, Anda dapat menentukan jumlah minimum dan maksimum v yang CPUs diperlukan untuk instans Anda, dan armada akan meluncurkan instans menggunakan jenis instans yang tersedia yang memenuhi persyaratan vCPU tersebut. 

Pemilihan tipe instans berbasis atribut sangat ideal untuk beban kerja dan kerangka kerja yang fleksibel dalam menentukan tipe instans yang digunakan, seperti ketika menjalankan kontainer atau armada web, memproses big data, dan mengimplementasikan alat integrasi dan deployment berkelanjutan (CI/CD).

**Keuntungan**

Pemilihan tipe instans berbasis atribut memiliki keuntungan berikut:
+ **Mudah menggunakan jenis instans yang tepat** — Dengan begitu banyak jenis instans yang tersedia, menemukan jenis instans yang tepat untuk beban kerja Anda dapat memakan waktu. Saat Anda menentukan atribut instans, tipe instans akan secara otomatis memiliki atribut yang diperlukan untuk beban kerja Anda.
+ **Konfigurasi yang disederhanakan** — Untuk menentukan beberapa tipe instance secara manual untuk armada, Anda harus membuat penggantian template peluncuran terpisah untuk setiap jenis instans. Namun, dengan pemilihan tipe instans berbasis atribut, untuk menyediakan banyak tipe instans, Anda hanya perlu menentukan atribut instans dalam templat peluncuran atau dalam penimpaan templat peluncuran.
+ **Penggunaan otomatis tipe instans baru** — Saat Anda menentukan atribut instance daripada tipe instans, armada Anda dapat menggunakan tipe instance generasi yang lebih baru saat dirilis, “pemeriksaan masa depan” konfigurasi armada. 
+ **Fleksibilitas tipe** instans — Saat Anda menentukan atribut instance daripada tipe instans, armada dapat memilih dari berbagai jenis instans untuk meluncurkan Instans Spot, yang mengikuti [praktik terbaik Spot dari fleksibilitas tipe instans](spot-best-practices.md#be-instance-type-flexible).

**Topics**
+ [Cara kerja pemilihan tipe instans berbasis atribut](#ec2fleet-abs-how-it-works)
+ [Perlindungan harga](#ec2fleet-abs-price-protection)
+ [Perlindungan kinerja](#ec2fleet-abis-performance-protection)
+ [Pertimbangan-pertimbangan](#ec2fleet-abs-considerations)
+ [Membuat Armada EC2 dengan pemilihan tipe instans berbasis atribut](#abs-create-ec2-fleet)
+ [Buat Armada Spot dengan pemilihan tipe instans berbasis atribut](#abs-create-spot-fleet)
+ [Contoh konfigurasi Armada EC2 yang valid dan tidak valid](#ec2fleet-abs-example-configs)
+ [Contoh konfigurasi Armada Spot yang valid dan tidak valid](#spotfleet-abs-example-configs)
+ [Melihat pratinjau tipe instans dengan atribut tertentu](#ec2fleet-get-instance-types-from-instance-requirements)

## Cara kerja pemilihan tipe instans berbasis atribut
<a name="ec2fleet-abs-how-it-works"></a>

Untuk menggunakan pemilihan tipe instans berbasis atribut dalam konfigurasi armada, Anda mengganti daftar tipe instans dengan daftar atribut instans yang dibutuhkan oleh instans Anda. Armada EC2 atau Armada Spot akan meluncurkan instans pada setiap jenis instans yang tersedia yang memiliki atribut instans tertentu.

**Topics**
+ [Tipe atribut instans](#ef-abs-instance-attribute-types)
+ [Tempat mengonfigurasi pemilihan tipe instans berbasis atribut](#ef-abs-where-to-configure)
+ [Bagaimana Armada EC2 atau Armada Spot menggunakan pemilihan tipe instans berbasis atribut saat menyediakan armada](#how-ef-uses-abs)

### Tipe atribut instans
<a name="ef-abs-instance-attribute-types"></a>

Ada beberapa atribut instance yang dapat Anda tentukan untuk mengekspresikan persyaratan komputasi Anda, seperti:
+ Jumlah **vCPU — Jumlah** minimum dan maksimum v CPUs per instance.
+ **Memori** — Minimum dan GiBs maksimum memori per instance.
+ **Penyimpanan lokal** — Apakah akan menggunakan EBS atau volume penyimpanan instans untuk penyimpanan lokal.
+ **Kinerja burstable** — Apakah akan menggunakan keluarga instans T, termasuk tipe T4G, T3a, T3, dan T2.

Untuk deskripsi setiap atribut dan nilai default, lihat [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)di Referensi *API Amazon EC2*.

### Tempat mengonfigurasi pemilihan tipe instans berbasis atribut
<a name="ef-abs-where-to-configure"></a>

Bergantung pada apakah Anda menggunakan konsol atau konsol AWS CLI, Anda dapat menentukan atribut instance untuk pemilihan jenis instans berbasis atribut sebagai berikut:

Di konsol, Anda dapat menentukan atribut instance dalam komponen konfigurasi armada berikut:
+ Dalam templat peluncuran, lalu referensikan templat peluncuran dalam permintaan armada
+ (Hanya Armada Spot) Dalam permintaan armada

Dalam AWS CLI, Anda dapat menentukan atribut instance dalam satu atau semua komponen konfigurasi armada berikut:
+ Dalam templat peluncuran, lalu referensikan templat peluncuran dalam permintaan armada
+ Dalam penimpaan templat peluncuran

  Jika Anda menginginkan campuran instance yang menggunakan berbeda AMIs, Anda dapat menentukan atribut instance dalam beberapa penggantian template peluncuran. Misalnya, tipe instans yang berbeda dapat menggunakan prosesor berbasis x86 dan Arm.
+ (Hanya Armada Spot) Dalam spesifikasi peluncuran

### Bagaimana Armada EC2 atau Armada Spot menggunakan pemilihan tipe instans berbasis atribut saat menyediakan armada
<a name="how-ef-uses-abs"></a>

Armada EC2 atau Armada Spot menyediakan armada dengan cara berikut:
+ Ini mengidentifikasi jenis instance yang memiliki atribut tertentu.
+ Ini menggunakan perlindungan harga untuk menentukan jenis instance mana yang akan dikecualikan.
+ Ini menentukan kumpulan kapasitas dari mana ia akan mempertimbangkan untuk meluncurkan instance berdasarkan AWS Wilayah atau Zona Ketersediaan yang memiliki jenis instans yang cocok.
+ Ini menerapkan strategi alokasi yang ditentukan untuk menentukan dari kumpulan kapasitas mana untuk meluncurkan instance.

  Perhatikan bahwa pemilihan jenis instans berbasis atribut tidak memilih kumpulan kapasitas untuk menyediakan armada; itulah tugas strategi [alokasi](ec2-fleet-allocation-strategy.md).

  Jika Anda menentukan strategi alokasi, armada akan meluncurkan instance sesuai dengan strategi alokasi yang ditentukan.
  + Untuk Instans Spot, pemilihan jenis instans berbasis atribut mendukung **kapasitas harga yang dioptimalkan, dioptimalkan** **kapasitas, dan strategi** alokasi **harga terendah**. Perhatikan bahwa kami tidak merekomendasikan strategi alokasi Spot **harga terendah** karena memiliki risiko interupsi tertinggi untuk Instans Spot Anda.
  + Untuk Instans Sesuai Permintaan, pemilihan jenis instans berbasis atribut mendukung strategi alokasi **harga terendah**.
+ Jika tidak ada kapasitas untuk tipe instans dengan atribut instans yang ditentukan, tidak ada instans yang dapat diluncurkan, dan armada akan mengembalikan kesalahan.

## Perlindungan harga
<a name="ec2fleet-abs-price-protection"></a>

Perlindungan harga adalah fitur yang mencegah Armada EC2 atau Armada Spot Anda menggunakan jenis instans yang Anda anggap terlalu mahal meskipun sesuai dengan atribut yang Anda tentukan. Untuk menggunakan perlindungan harga, Anda menetapkan ambang harga. Kemudian, ketika Amazon EC2 memilih jenis instans dengan atribut Anda, itu mengecualikan jenis instans dengan harga di atas ambang batas Anda.

Cara Amazon EC2 menghitung ambang harga adalah sebagai berikut:
+ Amazon EC2 pertama-tama mengidentifikasi jenis instans dengan harga terendah dari yang cocok dengan atribut Anda.
+ Amazon EC2 kemudian mengambil nilai (dinyatakan sebagai persentase) yang Anda tentukan untuk parameter perlindungan harga dan mengalikannya dengan harga jenis instans yang diidentifikasi. Hasilnya adalah harga yang digunakan sebagai ambang harga.

Ada ambang harga terpisah untuk Instans On-Demand dan Instans Spot.

Saat Anda membuat armada dengan pemilihan jenis instans berbasis atribut, perlindungan harga diaktifkan secara default. Anda dapat menyimpan nilai default, atau Anda dapat menentukan sendiri.

Anda juga dapat mematikan perlindungan harga. Untuk menunjukkan tidak ada ambang perlindungan harga, tentukan nilai persentase tinggi, seperti`999999`.

**Topics**
+ [Bagaimana jenis instans dengan harga terendah diidentifikasi](#ec2fleet-abs-price-protection-lowest-priced)
+ [Perlindungan harga Instans Sesuai Permintaan](#ec2fleet-abs-on-demand-price-protection)
+ [Perlindungan harga Spot Instance](#ec2fleet-abs-spot-price-protection)
+ [Tentukan ambang batas perlindungan harga](#ec2fleet-abs-specify-price-protection)

### Bagaimana jenis instans dengan harga terendah diidentifikasi
<a name="ec2fleet-abs-price-protection-lowest-priced"></a>

Amazon EC2 menentukan harga untuk mendasarkan ambang harga dengan mengidentifikasi jenis instans dengan harga terendah dari yang cocok dengan atribut yang Anda tentukan. Ia melakukan ini dengan cara berikut:
+ Ini pertama kali melihat jenis instance C, M, atau R generasi saat ini yang cocok dengan atribut Anda. Jika menemukan kecocokan, itu mengidentifikasi jenis instance dengan harga terendah.
+ Jika tidak ada kecocokan, maka akan terlihat jenis instance generasi saat ini yang cocok dengan atribut Anda. Jika menemukan kecocokan, itu mengidentifikasi jenis instance dengan harga terendah.
+ Jika tidak ada kecocokan, maka akan melihat jenis instance generasi sebelumnya yang cocok dengan atribut Anda, dan mengidentifikasi jenis instance dengan harga terendah.

### Perlindungan harga Instans Sesuai Permintaan
<a name="ec2fleet-abs-on-demand-price-protection"></a>

Ambang batas perlindungan harga untuk jenis instans On-Demand dihitung *sebagai persentase yang lebih tinggi* daripada jenis instans On-Demand dengan harga terendah yang diidentifikasi (). `OnDemandMaxPricePercentageOverLowestPrice` Anda menentukan persentase yang lebih tinggi yang bersedia Anda bayar. Jika Anda tidak menentukan parameter ini, maka nilai default `20` digunakan untuk menghitung ambang perlindungan harga 20% lebih tinggi dari harga yang diidentifikasi.

Misalnya, jika harga instans On-Demand yang teridentifikasi adalah`0.4271`, dan Anda tentukan`25`, maka ambang harga 25% lebih tinggi dari`0.4271`. Itu dihitung sebagai berikut:`0.4271 * 1.25 = 0.533875`. Harga yang dihitung adalah maksimum yang bersedia Anda bayarkan untuk Instans Sesuai Permintaan, dan, dalam contoh ini, Amazon EC2 akan mengecualikan jenis instans On-Demand yang harganya lebih dari. `0.533875`

### Perlindungan harga Spot Instance
<a name="ec2fleet-abs-spot-price-protection"></a>

Secara default, Amazon EC2 akan secara otomatis menerapkan perlindungan harga Instans Spot yang optimal untuk secara konsisten memilih dari berbagai jenis instans. Anda juga dapat mengatur sendiri perlindungan harga secara manual. Namun, membiarkan Amazon EC2 melakukannya untuk Anda dapat meningkatkan kemungkinan kapasitas Spot Anda terpenuhi.

Anda dapat menentukan perlindungan harga secara manual menggunakan salah satu opsi berikut. Jika Anda secara manual mengatur perlindungan harga, kami sarankan menggunakan opsi pertama.
+ ***Persentase dari jenis* instans *On-Demand* dengan harga terendah yang diidentifikasi** [] `MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`

  Misalnya, jika harga jenis instans On-Demand yang diidentifikasi adalah`0.4271`, dan Anda tentukan`60`, maka ambang harga adalah 60% dari. `0.4271` Itu dihitung sebagai berikut:`0.4271 * 0.60 = 0.25626`. Harga yang dihitung adalah maksimum yang bersedia Anda bayarkan untuk Instans Spot, dan, dalam contoh ini, Amazon EC2 akan mengecualikan jenis instans Spot apa pun yang harganya lebih dari. `0.25626`
+ ***Persentase lebih tinggi dari* jenis instans *Spot* dengan harga terendah yang diidentifikasi** [] `SpotMaxPricePercentageOverLowestPrice`

  Misalnya, jika harga jenis instans Spot yang diidentifikasi adalah`0.1808`, dan Anda tentukan`25`, maka ambang harga 25% lebih tinggi dari harga`0.1808`. Itu dihitung sebagai berikut:`0.1808 * 1.25 = 0.226`. Harga yang dihitung adalah maksimum yang bersedia Anda bayarkan untuk Instans Spot, dan, dalam contoh ini, Amazon EC2 akan mengecualikan jenis instans Spot apa pun yang harganya lebih dari. `0.266` Kami tidak menyarankan menggunakan parameter ini karena harga Spot dapat berfluktuasi, dan oleh karena itu ambang batas perlindungan harga Anda mungkin juga berfluktuasi.

### Tentukan ambang batas perlindungan harga
<a name="ec2fleet-abs-specify-price-protection"></a>

**Untuk menentukan ambang perlindungan harga menggunakan AWS CLI**

Saat membuat Armada EC2 atau Armada Spot menggunakan AWS CLI, konfigurasikan armada untuk pemilihan jenis instans berbasis atribut, lalu lakukan hal berikut:
+ Untuk menentukan ambang batas perlindungan harga Instans Sesuai Permintaan, dalam file konfigurasi JSON, dalam struktur `InstanceRequirements`, untuk `OnDemandMaxPricePercentageOverLowestPrice`, masukkan ambang batas perlindungan harga sebagai persentase.
+ Untuk menentukan ambang perlindungan harga Instans Spot, dalam file konfigurasi JSON, dalam `InstanceRequirements` struktur, tentukan *salah satu* parameter berikut:
  + Untuk`MaxSpotPriceAsPercentageOfOptimalOnDemandPrice`, masukkan ambang perlindungan harga sebagai persentase.
  + Untuk`SpotMaxPricePercentageOverLowestPrice`, masukkan ambang perlindungan harga sebagai persentase.

Untuk informasi selengkapnya, lihat [Membuat Armada EC2 dengan pemilihan tipe instans berbasis atribut](#abs-create-ec2-fleet) atau [Buat Armada Spot dengan pemilihan tipe instans berbasis atribut](#abs-create-spot-fleet).

**(Hanya Armada Spot) Untuk menentukan ambang perlindungan harga menggunakan konsol**

Saat membuat Armada Spot di konsol, konfigurasikan armada untuk pemilihan jenis instans berbasis atribut, lalu lakukan hal berikut:
+ Untuk menentukan ambang perlindungan harga Instans Sesuai Permintaan, di bawah **atribut Instans tambahan**, pilih **Perlindungan harga sesuai permintaan**, pilih **Tambah atribut**, lalu masukkan ambang perlindungan harga sebagai persentase.
+ Untuk menentukan ambang perlindungan harga Instans **Spot, **atribut instance tambahan**, pilih Perlindungan harga Spot**, pilih **Tambah atribut**, pilih nilai dasar yang menjadi dasar harga Anda, lalu masukkan ambang perlindungan harga sebagai persentase.

**catatan**  
Saat membuat armada, jika Anda menyetel `TargetCapacityUnitType` ke `vcpu` atau`memory-mib`, ambang perlindungan harga diterapkan berdasarkan harga per vCPU atau per-memori, bukan harga per instans.

## Perlindungan kinerja
<a name="ec2fleet-abis-performance-protection"></a>

*Perlindungan kinerja* adalah fitur yang memastikan Armada EC2 atau Armada Spot Anda menggunakan tipe instans yang mirip atau melebihi garis dasar kinerja yang ditentukan. Untuk menggunakan perlindungan kinerja, Anda menentukan keluarga instance sebagai referensi dasar. Kemampuan keluarga instance yang ditentukan menetapkan tingkat kinerja terendah yang dapat diterima. Saat Amazon EC2 memilih jenis instans untuk armada Anda, Amazon EC2 mempertimbangkan atribut yang Anda tentukan dan garis dasar performa. Jenis instans yang berada di bawah garis dasar kinerja secara otomatis dikecualikan dari seleksi, meskipun cocok dengan atribut tertentu Anda yang lain. Ini memastikan bahwa semua jenis instans yang dipilih menawarkan kinerja yang mirip atau lebih baik daripada baseline yang ditetapkan oleh keluarga instance yang ditentukan. Amazon EC2 menggunakan baseline ini untuk memandu pemilihan jenis instans, tetapi tidak ada jaminan bahwa jenis instans yang dipilih akan selalu melebihi baseline untuk setiap aplikasi.

Saat ini, fitur ini hanya mendukung kinerja CPU sebagai faktor kinerja dasar. Kinerja CPU dari prosesor CPU keluarga instance yang ditentukan berfungsi sebagai baseline kinerja, memastikan bahwa jenis instans yang dipilih mirip dengan atau melebihi baseline ini. Keluarga instance dengan prosesor CPU yang sama menghasilkan hasil penyaringan yang sama, bahkan jika kinerja jaringan atau disk mereka berbeda. Misalnya, menentukan salah satu `c6in` atau `c6i` sebagai referensi dasar akan menghasilkan hasil penyaringan berbasis kinerja yang identik karena kedua keluarga instance menggunakan prosesor CPU yang sama.

**Keluarga instans yang tidak didukung**  
Contoh keluarga berikut **tidak** didukung untuk perlindungan kinerja:
+ **Tujuan umum:** Mac1 \$1 Mac2 \$1 Mac2-M1Ultra \$1 Mac2-m2 \$1 Mac2-M2Pro \$1 M1 \$1 M2 \$1 T1
+ **Komputasi dioptimalkan: C1**
+ **Memori dioptimalkan:** U-3TB1 \$1 U-6TB1 \$1 U-9tb1 \$1 U-12tb1 \$1 U-18tb1 \$1 u-24tb1 \$1 U7i-12tb \$1 U7in-16tb \$1 U7in-24tb \$1 U7in-32tb
+ **Komputasi dipercepat:** G3 \$1 G3s \$1 P3dn \$1 P4d \$1 P5
+ **Komputasi kinerja tinggi:** hPC7g

Jika Anda mengaktifkan perlindungan performa dengan menentukan keluarga instans yang didukung, tipe instans yang dikembalikan akan mengecualikan keluarga instance yang tidak didukung di atas.

Jika Anda menetapkan keluarga instans yang tidak didukung sebagai nilai untuk kinerja dasar, API akan menampilkan respons kosong untuk [GetInstanceTypesFromInstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_GetInstanceTypesFromInstanceRequirements.html)dan pengecualian untuk [CreateFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html),, [RequestSpotFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_RequestSpotFleet.html), [ModifyFleet](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyFleet.html)dan. [ModifySpotFleetRequest](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifySpotFleetRequest.html)

**Contoh: Tetapkan baseline kinerja CPU**  
Dalam contoh berikut, persyaratan instance adalah meluncurkan dengan tipe instance yang memiliki core CPU yang berkinerja sama seperti keluarga `c6i` instance. Ini akan menyaring jenis instans dengan prosesor CPU yang kurang berkinerja, bahkan jika mereka memenuhi persyaratan instans tertentu lainnya seperti jumlah vCPUs. Misalnya, jika atribut instance yang Anda tentukan menyertakan memori 4 v CPUs dan 16 GB, tipe instans dengan atribut ini tetapi dengan kinerja CPU yang lebih rendah `c6i` akan dikecualikan dari seleksi.

```
"BaselinePerformanceFactors": {
        "Cpu": {
            "References": [
                {
                    "InstanceFamily": "c6i"
                }
            ]
        }
```

## Pertimbangan-pertimbangan
<a name="ec2fleet-abs-considerations"></a>
+ Anda dapat menentukan jenis instans atau atribut instans dalam Armada EC2 atau Armada Spot, tetapi tidak keduanya pada saat yang bersamaan.

  Saat menggunakan CLI, penimpaan templat peluncuran akan menimpa templat peluncuran. Misalnya, jika templat peluncuran berisi tipe instans dan penimpaan templat peluncuran berisi atribut instans, instans yang diidentifikasi oleh atribut instans akan menimpa tipe instans dalam templat peluncuran.
+ Saat menggunakan CLI, saat Anda menentukan atribut instans sebagai penimpaan, Anda juga tidak dapat menentukan bobot atau prioritas.
+ Anda dapat menentukan maksimum empat struktur `InstanceRequirements` dalam konfigurasi permintaan.

## Membuat Armada EC2 dengan pemilihan tipe instans berbasis atribut
<a name="abs-create-ec2-fleet"></a>

Anda dapat mengonfigurasi Armada EC2 untuk menggunakan pemilihan jenis instans berbasis atribut. Tidak mungkin membuat Armada EC2 menggunakan konsol Amazon EC2.

Atribut untuk pemilihan tipe instans berbasis atribut ditentukan dalam struktur `InstanceRequirements`. `InstanceRequirements`Kapan disertakan dalam konfigurasi armada, `InstanceType` dan `WeightedCapacity` harus dikecualikan; mereka tidak dapat menentukan konfigurasi armada pada saat yang sama dengan atribut instance.

Dalam AWS CLI dan PowerShell contoh, atribut berikut ditentukan:
+ `VCpuCount`— Minimal 2 v CPUs dan maksimal 4 vCPUs. Jika Anda tidak membutuhkan batas maksimum, Anda dapat menghilangkan nilai maksimum.
+ `MemoryMiB`— Minimal 8 GiB memori dan maksimal 16 GiB. Jika Anda tidak membutuhkan batas maksimum, Anda dapat menghilangkan nilai maksimum.

Konfigurasi ini mengidentifikasi setiap jenis instance dengan memori 2 hingga 4 v CPUs dan 8 hingga 16 GiB. Namun, perlindungan harga dan strategi alokasi mungkin akan mengecualikan beberapa tipe instans jika [Armada EC2 menyediakan armada](#how-ef-uses-abs).

------
#### [ AWS CLI ]

**Untuk membuat Armada EC2 dengan pemilihan tipe instans berbasis atribut**  
Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) untuk membuat Armada EC2. Tentukan konfigurasi armada dalam file JSON.

```
aws ec2 create-fleet \
    --region us-east-1 \
    --cli-input-json file://file_name.json
```

`file_name.json`File contoh berikut berisi parameter yang mengonfigurasi Armada EC2 untuk menggunakan pemilihan tipe instans berbasis atribut.

```
{
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized"
    },
    "LaunchTemplateConfigs": [{
        "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template",
            "Version": "1"
        },
        "Overrides": [{
            "InstanceRequirements": {
                "VCpuCount": {
                    "Min": 2,
                    "Max": 4
                },
                "MemoryMiB": {
                    "Min": 8192,
                    "Max": 16384
                }
            }
        }]
    }],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

------
#### [ PowerShell ]

**Untuk membuat Armada EC2 dengan pemilihan tipe instans berbasis atribut**  
Gunakan [New-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Fleet.html)cmdlet.

```
$vcpuCount = New-Object Amazon.EC2.Model.VCpuCountRangeRequest
$vcpuCount.Min = 2 
$vcpuCount.Max = 4  
$memoryMiB = New-Object Amazon.EC2.Model.MemoryMiBRequest
$memoryMiB.Min = 8192  
$memoryMiB.Max = 16384  
$instanceRequirements = New-Object Amazon.EC2.Model.InstanceRequirementsRequest
$instanceRequirements.VCpuCount = $vcpuCount
$instanceRequirements.MemoryMiB = $memoryMiB

$launchTemplateSpec = New-Object Amazon.EC2.Model.FleetLaunchTemplateSpecificationRequest
$launchTemplateSpec.LaunchTemplateName = "my-launch-template" 
$launchTemplateSpec.Version = "1"
$override = New-Object Amazon.EC2.Model.FleetLaunchTemplateOverridesRequest
$override.InstanceRequirements = $instanceRequirements
$launchTemplateConfig = New-Object Amazon.EC2.Model.FleetLaunchTemplateConfigRequest
$launchTemplateConfig.LaunchTemplateSpecification = $launchTemplateSpec
$launchTemplateConfig.Overrides = @($override)

New-EC2Fleet `
    -SpotOptions_AllocationStrategy "price-capacity-optimized" `
    -LaunchTemplateConfig @($launchTemplateConfig) `
    -TargetCapacitySpecification_DefaultTargetCapacityType "spot" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -Type "instant"
```

------

## Buat Armada Spot dengan pemilihan tipe instans berbasis atribut
<a name="abs-create-spot-fleet"></a>

Anda dapat mengonfigurasi armada untuk menggunakan pemilihan jenis instans berbasis atribut.

Atribut untuk pemilihan tipe instans berbasis atribut ditentukan dalam struktur `InstanceRequirements`. `InstanceRequirements`Kapan disertakan dalam konfigurasi armada, `InstanceType` dan `WeightedCapacity` harus dikecualikan; mereka tidak dapat menentukan konfigurasi armada pada saat yang sama dengan atribut instance.

Dalam AWS CLI dan PowerShell contoh, atribut berikut ditentukan:
+ `VCpuCount`— Minimal 2 v CPUs dan maksimal 4 vCPUs. Jika Anda tidak membutuhkan batas maksimum, Anda dapat menghilangkan nilai maksimum.
+ `MemoryMiB`— Minimal 8 GiB memori dan maksimal 16 GiB. Jika Anda tidak membutuhkan batas maksimum, Anda dapat menghilangkan nilai maksimum.

Konfigurasi ini mengidentifikasi setiap jenis instance yang memiliki 2 hingga 4 v CPUs dan 8 hingga 16 GiB memori. Namun, perlindungan harga dan strategi alokasi mungkin akan mengecualikan beberapa tipe instans jika [Armada Spot menyediakan armada](#how-ef-uses-abs).

------
#### [ Console ]

**Untuk mengonfigurasi Armada Spot untuk pemilihan tipe instans berbasis atribut**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**, lalu pilih **Minta Instans Spot**.

1. Ikuti langkah-langkah ini untuk membuat Armada Spot. Untuk informasi selengkapnya, lihat [Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](create-spot-fleet.md#create-spot-fleet-advanced).

   Saat membuat Armada Spot, konfigurasikan armada untuk pemilihan tipe instans berbasis atribut sebagai berikut:

   1. Untuk **Persyaratan tipe instans**, pilih **Tentukan atribut instans yang sesuai dengan persyaratan komputasi Anda**.

   1. Untuk **v CPUs**, masukkan jumlah minimum dan maksimum yang diinginkan vCPUs. Untuk menentukan tidak ada batas, pilih **No minimum**, **No maximum**, atau keduanya.

   1. Untuk **Memori (GiB)**, masukkan jumlah memori minimum dan maksimum yang diinginkan. Untuk menentukan tanpa batasan, pilih **Tanpa minimum**, **Tanpa maksimum**, atau keduanya.

   1. (Opsional) Untuk **atribut instans Tambahan**, Anda dapat secara opsional menentukan satu atau lebih atribut untuk mengekspresikan kebutuhan komputasi Anda secara lebih mendetail. Setiap atribut tambahan menambahkan batasan lebih lanjut untuk permintaan Anda.

   1. (Opsional) Perluas **Pratinjau tipe instans yang cocok** untuk melihat tipe instans yang memiliki atribut yang Anda tentukan.

------
#### [ AWS CLI ]

**Untuk mengonfigurasi Armada Spot untuk pemilihan tipe instans berbasis atribut**  
Gunakan [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)perintah untuk membuat Armada Spot. Tentukan konfigurasi armada dalam file JSON.

```
aws ec2 request-spot-fleet \
    --region us-east-1 \
    --spot-fleet-request-config file://file_name.json
```

`file_name.json`File contoh berikut berisi parameter yang mengonfigurasi Armada Spot untuk menggunakan pemilihan tipe instans berbasis atribut.

```
{
    "AllocationStrategy": "priceCapacityOptimized",
    "TargetCapacity": 20,
    "Type": "request",
    "LaunchTemplateConfigs": [{
        "LaunchTemplateSpecification": {
            "LaunchTemplateName": "my-launch-template",
            "Version": "1"
        },
        "Overrides": [{
            "InstanceRequirements": {
                "VCpuCount": {
                    "Min": 2,
                    "Max": 4
                },
                "MemoryMiB": {
                    "Min": 8192,
                    "Max": 16384
                }
            }
        }]
    }]
}
```

------
#### [ PowerShell ]

**Untuk mengonfigurasi Armada Spot untuk pemilihan tipe instans berbasis atribut**  
Gunakan [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html)cmdlet.

```
$vcpuCount = New-Object Amazon.EC2.Model.VCpuCountRange
$vcpuCount.Min = 2 
$vcpuCount.Max = 4  
$memoryMiB = New-Object Amazon.EC2.Model.MemoryMiB
$memoryMiB.Min = 8192  
$memoryMiB.Max = 16384  
$instanceRequirements = New-Object Amazon.EC2.Model.InstanceRequirements
$instanceRequirements.VCpuCount = $vcpuCount
$instanceRequirements.MemoryMiB = $memoryMiB

$launchTemplateSpec = New-Object Amazon.EC2.Model.FleetLaunchTemplateSpecification
$launchTemplateSpec.LaunchTemplateName = "my-launch-template" 
$launchTemplateSpec.Version = "1"
$override = New-Object Amazon.EC2.Model.LaunchTemplateOverrides
$override.InstanceRequirements = $instanceRequirements
$launchTemplateConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig
$launchTemplateConfig.LaunchTemplateSpecification = $launchTemplateSpec
$launchTemplateConfig.Overrides = @($override)

Request-EC2SpotFleet `
    -SpotFleetRequestConfig_AllocationStrategy "PriceCapacityOptimized" `
    -SpotFleetRequestConfig_TargetCapacity 20 `
    -SpotFleetRequestConfig_Type "Request" `
    -SpotFleetRequestConfig_LaunchTemplateConfig $launchTemplateConfig
```

------

## Contoh konfigurasi Armada EC2 yang valid dan tidak valid
<a name="ec2fleet-abs-example-configs"></a>

Jika Anda menggunakan AWS CLI untuk membuat Armada EC2, Anda harus memastikan bahwa konfigurasi armada Anda valid. Contoh berikut menunjukkan konfigurasi yang valid dan tidak valid.

Konfigurasi dianggap tidak valid jika berisi hal berikut:
+ Struktur `Overrides` tunggal dengan `InstanceRequirements` maupun `InstanceType`
+ Dua struktur `Overrides`, satu dengan `InstanceRequirements` dan yang lainnya dengan `InstanceType`
+ Dua struktur `InstanceRequirements` dengan nilai atribut yang tumpang tindih dalam `LaunchTemplateSpecification` yang sama

**Topics**
+ [Konfigurasi yang valid: Templat peluncuran tunggal dengan penimpaan](#ef-abs-example-config1)
+ [Konfigurasi yang valid: Template peluncuran tunggal dengan banyak InstanceRequirements](#ef-abs-example-config2)
+ [Konfigurasi yang valid: Dua templat peluncuran, masing-masing dengan penimpaan](#ef-abs-example-config3)
+ [Konfigurasi yang valid: Hanya `InstanceRequirements` yang ditentukan, tidak ada nilai atribut yang tumpang tindih](#ef-abs-example-config4)
+ [Konfigurasi tidak valid: `Overrides` berisi `InstanceRequirements` dan `InstanceType`](#ef-abs-example-config5)
+ [Konfigurasi tidak valid: Dua `Overrides` berisi `InstanceRequirements` dan `InstanceType`](#ef-abs-example-config6)
+ [Konfigurasi tidak valid: Nilai atribut tumpang tindih](#ef-abs-example-config7)

### Konfigurasi yang valid: Templat peluncuran tunggal dengan penimpaan
<a name="ef-abs-example-config1"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi satu templat peluncuran dan satu struktur `Overrides` yang berisi satu struktur `InstanceRequirements`. Berikut ini adalah penjelasan teks mengenai contoh konfigurasi.

```
{
        "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "My-launch-template",
                "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 2,
                            "Max": 8
                        },
                        "MemoryMib": {
                            "Min": 0,
                            "Max": 10240
                        },
                        "MemoryGiBPerVCpu": {
                            "Max": 10000
                        },
                        "RequireHibernateSupport": true
                    }
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 5000,
        "DefaultTargetCapacityType": "spot",
        "TargetCapacityUnitType": "vcpu"
        }
    }
}
```

****`InstanceRequirements`****  
Untuk menggunakan pemilihan instans berbasis atribut, Anda harus menyertakan struktur `InstanceRequirements` dalam konfigurasi armada, dan menentukan atribut yang diinginkan untuk instans tersebut di armada.

Pada contoh sebelumnya, atribut instans berikut ini ditentukan:
+ `VCpuCount`— Jenis instance harus memiliki minimal 2 dan maksimal 8 vCPUs.
+ `MemoryMiB` – Tipe instans harus memiliki memori maksimum 10240 MiB. Minimum 0 menunjukkan bahwa tidak ada batas minimum.
+ `MemoryGiBPerVCpu` – Tipe instans harus memiliki memori maksimum 10.000 GiB per vCPU. Parameter `Min` bersifat opsional. Dengan menghilangkannya, Anda mengindikasikan tidak ada batas minimum.

**`TargetCapacityUnitType`**  
Parameter `TargetCapacityUnitType` menentukan unit untuk kapasitas target. Dalam contoh, kapasitas targetnya adalah `5000` dan tipe unit kapasitas targetnya adalah `vcpu`, yang bersama-sama menentukan kapasitas target yang diinginkan sebesar 5.000 vCPU. Armada EC2 akan meluncurkan instans yang cukup sehingga jumlah total v CPUs dalam armada adalah 5.000 v. CPUs

### Konfigurasi yang valid: Template peluncuran tunggal dengan banyak InstanceRequirements
<a name="ef-abs-example-config2"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi satu templat peluncuran dan satu struktur `Overrides` yang berisi dua struktur `InstanceRequirements`. Atribut yang `InstanceRequirements` ditentukan dalam valid karena nilainya tidak tumpang tindih — `InstanceRequirements` struktur pertama menentukan 0-2 vCPUs, sedangkan struktur kedua `InstanceRequirements` menentukan 4-8 v. `VCpuCount` CPUs

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfigurasi yang valid: Dua templat peluncuran, masing-masing dengan penimpaan
<a name="ef-abs-example-config3"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi dua templat peluncuran, masing-masing dengan satu struktur `Overrides` yang berisi satu struktur `InstanceRequirements`. Konfigurasi ini berguna untuk dukungan arsitektur `arm` dan `x86` dalam armada yang sama.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "armLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "x86LaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfigurasi yang valid: Hanya `InstanceRequirements` yang ditentukan, tidak ada nilai atribut yang tumpang tindih
<a name="ef-abs-example-config4"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi dua struktur `LaunchTemplateSpecification`, masing-masing dengan templat peluncuran dan struktur `Overrides` yang berisi struktur `InstanceRequirements`. Atribut yang `InstanceRequirements` ditentukan dalam valid karena nilainya tidak tumpang tindih — `InstanceRequirements` struktur pertama menentukan 0-2 vCPUs, sedangkan struktur kedua `InstanceRequirements` menentukan 4-8 v. `VCpuCount` CPUs

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfigurasi tidak valid: `Overrides` berisi `InstanceRequirements` dan `InstanceType`
<a name="ef-abs-example-config5"></a>

Konfigurasi berikut ini tidak valid. Struktur `Overrides` berisi `InstanceRequirements` dan`InstanceType`. Untuk `Overrides`, Anda dapat menentukan antara `InstanceRequirements` atau `InstanceType`, tetapi tidak keduanya.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfigurasi tidak valid: Dua `Overrides` berisi `InstanceRequirements` dan `InstanceType`
<a name="ef-abs-example-config6"></a>

Konfigurasi berikut ini tidak valid. Struktur `Overrides` berisi `InstanceRequirements` dan`InstanceType`. Anda dapat menentukan antara `InstanceRequirements` atau `InstanceType`, tetapi tidak keduanya, meskipun berada dalam struktur `Overrides` yang berbeda.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

### Konfigurasi tidak valid: Nilai atribut tumpang tindih
<a name="ef-abs-example-config7"></a>

Konfigurasi berikut ini tidak valid. Dua struktur `InstanceRequirements` masing-masing berisi `"VCpuCount": {"Min": 0, "Max": 2}`. Nilai untuk atribut ini tumpang tindih, yang akan mengakibatkan kolam kapasitas ganda.

```
{
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    },
                    {
                      "InstanceRequirements": {
                          "VCpuCount": {
                              "Min": 0,
                              "Max": 2
                          },
                          "MemoryMiB": {
                              "Min": 0
                          }
                      }
                  }
                }
              ]
            }
        ],
         "TargetCapacitySpecification": {
            "TotalTargetCapacity": 1,
            "DefaultTargetCapacityType": "spot"
        }
    }
}
```

## Contoh konfigurasi Armada Spot yang valid dan tidak valid
<a name="spotfleet-abs-example-configs"></a>

Jika Anda menggunakan AWS CLI untuk membuat Armada Spot, Anda harus memastikan bahwa konfigurasi armada Anda valid. Contoh berikut menunjukkan konfigurasi yang valid dan tidak valid.

Konfigurasi dianggap tidak valid jika berisi hal berikut:
+ Struktur `Overrides` tunggal dengan `InstanceRequirements` maupun `InstanceType`
+ Dua struktur `Overrides`, satu dengan `InstanceRequirements` dan yang lainnya dengan `InstanceType`
+ Dua struktur `InstanceRequirements` dengan nilai atribut yang tumpang tindih dalam `LaunchTemplateSpecification` yang sama

**Topics**
+ [Konfigurasi yang valid: Templat peluncuran tunggal dengan penimpaan](#sf-abs-example-config1)
+ [Konfigurasi yang valid: Template peluncuran tunggal dengan banyak InstanceRequirements](#sf-abs-example-config2)
+ [Konfigurasi yang valid: Dua templat peluncuran, masing-masing dengan penimpaan](#sf-abs-example-config3)
+ [Konfigurasi yang valid: Hanya `InstanceRequirements` yang ditentukan, tidak ada nilai atribut yang tumpang tindih](#sf-abs-example-config4)
+ [Konfigurasi tidak valid: `Overrides` berisi `InstanceRequirements` dan `InstanceType`](#sf-abs-example-config5)
+ [Konfigurasi tidak valid: Dua `Overrides` berisi `InstanceRequirements` dan `InstanceType`](#sf-abs-example-config6)
+ [Konfigurasi tidak valid: Nilai atribut tumpang tindih](#sf-abs-example-config7)

### Konfigurasi yang valid: Templat peluncuran tunggal dengan penimpaan
<a name="sf-abs-example-config1"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi satu templat peluncuran dan satu struktur `Overrides` yang berisi satu struktur `InstanceRequirements`. Berikut ini adalah penjelasan teks mengenai contoh konfigurasi.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "My-launch-template",
                "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 2,
                            "Max": 8
                        },
                        "MemoryMib": {
                            "Min": 0,
                            "Max": 10240
                        },
                        "MemoryGiBPerVCpu": {
                            "Max": 10000
                        },
                        "RequireHibernateSupport": true
                    }
                }
            ]
        }
    ],
        "TargetCapacity": 5000,
            "OnDemandTargetCapacity": 0,
            "TargetCapacityUnitType": "vcpu"
    }
}
```

****`InstanceRequirements`****  
Untuk menggunakan pemilihan instans berbasis atribut, Anda harus menyertakan struktur `InstanceRequirements` dalam konfigurasi armada, dan menentukan atribut yang diinginkan untuk instans tersebut di armada.

Pada contoh sebelumnya, atribut instans berikut ini ditentukan:
+ `VCpuCount`— Jenis instance harus memiliki minimal 2 dan maksimal 8 vCPUs.
+ `MemoryMiB` – Tipe instans harus memiliki memori maksimum 10240 MiB. Minimum 0 menunjukkan bahwa tidak ada batas minimum.
+ `MemoryGiBPerVCpu` – Tipe instans harus memiliki memori maksimum 10.000 GiB per vCPU. Parameter `Min` bersifat opsional. Dengan menghilangkannya, Anda mengindikasikan tidak ada batas minimum.

**`TargetCapacityUnitType`**  
Parameter `TargetCapacityUnitType` menentukan unit untuk kapasitas target. Dalam contoh, kapasitas target adalah `5000` dan tipe unit kapasitas target adalah`vcpu`, yang bersama-sama menentukan kapasitas target yang diinginkan 5.000 vCPUs. Armada Spot akan meluncurkan instance yang cukup sehingga jumlah total v CPUs dalam armada adalah 5.000 vCPUs.

### Konfigurasi yang valid: Template peluncuran tunggal dengan banyak InstanceRequirements
<a name="sf-abs-example-config2"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi satu templat peluncuran dan satu struktur `Overrides` yang berisi dua struktur `InstanceRequirements`. Atribut yang `InstanceRequirements` ditentukan dalam valid karena nilainya tidak tumpang tindih — `InstanceRequirements` struktur pertama menentukan 0-2 vCPUs, sedangkan struktur kedua `InstanceRequirements` menentukan 4-8 v. `VCpuCount` CPUs

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfigurasi yang valid: Dua templat peluncuran, masing-masing dengan penimpaan
<a name="sf-abs-example-config3"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi dua templat peluncuran, masing-masing dengan satu struktur `Overrides` yang berisi satu struktur `InstanceRequirements`. Konfigurasi ini berguna untuk dukungan arsitektur `arm` dan `x86` dalam armada yang sama.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "armLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "x86LaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfigurasi yang valid: Hanya `InstanceRequirements` yang ditentukan, tidak ada nilai atribut yang tumpang tindih
<a name="sf-abs-example-config4"></a>

Konfigurasi berikut ini valid. Konfigurasi ini berisi dua struktur `LaunchTemplateSpecification`, masing-masing dengan templat peluncuran dan struktur `Overrides` yang berisi struktur `InstanceRequirements`. Atribut yang `InstanceRequirements` ditentukan dalam valid karena nilainya tidak tumpang tindih — `InstanceRequirements` struktur pertama menentukan 0-2 vCPUs, sedangkan struktur kedua `InstanceRequirements` menentukan 4-8 v. `VCpuCount` CPUs

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 4,
                            "Max": 8
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfigurasi tidak valid: `Overrides` berisi `InstanceRequirements` dan `InstanceType`
<a name="sf-abs-example-config5"></a>

Konfigurasi berikut ini tidak valid. Struktur `Overrides` berisi `InstanceRequirements` dan`InstanceType`. Untuk `Overrides`, Anda dapat menentukan antara `InstanceRequirements` atau `InstanceType`, tetapi tidak keduanya.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                },
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfigurasi tidak valid: Dua `Overrides` berisi `InstanceRequirements` dan `InstanceType`
<a name="sf-abs-example-config6"></a>

Konfigurasi berikut ini tidak valid. Struktur `Overrides` berisi `InstanceRequirements` dan`InstanceType`. Anda dapat menentukan antara `InstanceRequirements` atau `InstanceType`, tetapi tidak keduanya, meskipun berada dalam struktur `Overrides` yang berbeda.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    }
                }
              ]
            },
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyOtherLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceType": "m5.large"
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

### Konfigurasi tidak valid: Nilai atribut tumpang tindih
<a name="sf-abs-example-config7"></a>

Konfigurasi berikut ini tidak valid. Dua struktur `InstanceRequirements` masing-masing berisi `"VCpuCount": {"Min": 0, "Max": 2}`. Nilai untuk atribut ini tumpang tindih, yang akan mengakibatkan kolam kapasitas ganda.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "MyLaunchTemplate",
                    "Version": "1"
                },
                "Overrides": [
                {
                    "InstanceRequirements": {
                        "VCpuCount": {
                            "Min": 0,
                            "Max": 2
                        },
                        "MemoryMiB": {
                            "Min": 0
                        }
                    },
                    {
                      "InstanceRequirements": {
                          "VCpuCount": {
                              "Min": 0,
                              "Max": 2
                          },
                          "MemoryMiB": {
                              "Min": 0
                          }
                      }
                  }
                }
              ]
            }
        ],
        "TargetCapacity": 1,
        "OnDemandTargetCapacity": 0,
        "Type": "maintain"
    }
}
```

## Melihat pratinjau tipe instans dengan atribut tertentu
<a name="ec2fleet-get-instance-types-from-instance-requirements"></a>

Anda dapat menggunakan perintah [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) untuk melihat pratinjau jenis instance yang cocok dengan atribut yang Anda tentukan. Hal ini sangat berguna untuk mengetahui atribut yang akan ditentukan dalam konfigurasi permintaan Anda tanpa meluncurkan instans apa pun. Perhatikan bahwa perintah tidak mempertimbangkan kapasitas yang tersedia.

**Untuk melihat daftar jenis instance dengan menentukan atribut menggunakan AWS CLI**

1. (Opsional) Untuk menghasilkan semua atribut yang mungkin yang dapat ditentukan, gunakan perintah [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html) dan parameter. `--generate-cli-skeleton` Anda dapat secara opsional mengarahkan output ke file untuk menyimpannya dengan menggunakan `input > attributes.json`.

   ```
   aws ec2 get-instance-types-from-instance-requirements \
       --region us-east-1 \
       --generate-cli-skeleton input > attributes.json
   ```

   Output yang diharapkan

   ```
   {
       "DryRun": true,
       "ArchitectureTypes": [
           "i386"
       ],
       "VirtualizationTypes": [
           "hvm"
       ],
       "InstanceRequirements": {
           "VCpuCount": {
               "Min": 0,
               "Max": 0
           },
           "MemoryMiB": {
               "Min": 0,
               "Max": 0
           },
           "CpuManufacturers": [
               "intel"
           ],
           "MemoryGiBPerVCpu": {
               "Min": 0.0,
               "Max": 0.0
           },
           "ExcludedInstanceTypes": [
               ""
           ],
           "InstanceGenerations": [
               "current"
           ],
           "SpotMaxPricePercentageOverLowestPrice": 0,
           "OnDemandMaxPricePercentageOverLowestPrice": 0,
           "BareMetal": "included",
           "BurstablePerformance": "included",
           "RequireHibernateSupport": true,
           "NetworkInterfaceCount": {
               "Min": 0,
               "Max": 0
           },
           "LocalStorage": "included",
           "LocalStorageTypes": [
               "hdd"
           ],
           "TotalLocalStorageGB": {
               "Min": 0.0,
               "Max": 0.0
           },
           "BaselineEbsBandwidthMbps": {
               "Min": 0,
               "Max": 0
           },
           "AcceleratorTypes": [
               "gpu"
           ],
           "AcceleratorCount": {
               "Min": 0,
               "Max": 0
           },
           "AcceleratorManufacturers": [
               "nvidia"
           ],
           "AcceleratorNames": [
               "a100"
           ],
           "AcceleratorTotalMemoryMiB": {
               "Min": 0,
               "Max": 0
           },
           "NetworkBandwidthGbps": {
               "Min": 0.0,
               "Max": 0.0
           },
           "AllowedInstanceTypes": [
               ""
           ]
       },
       "MaxResults": 0,
       "NextToken": ""
   }
   ```

1. Buat file konfigurasi JSON menggunakan output dari langkah sebelumnya, dan konfigurasikan sebagai berikut:
**catatan**  
Anda harus memberikan nilai untuk `ArchitectureTypes`, `VirtualizationTypes`, `VCpuCount`, dan `MemoryMiB`. Anda dapat menghilangkan atribut lainnya; saat dihilangkan, nilai default digunakan.  
Untuk deskripsi setiap atribut dan nilai defaultnya, lihat [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html).

   1. Untuk `ArchitectureTypes`, tentukan satu atau lebih tipe arsitektur prosesor.

   1. Untuk `VirtualizationTypes`, tentukan satu atau lebih tipe virtualisasi.

   1. Untuk`VCpuCount`, tentukan jumlah minimum dan maksimum vCPUs. Untuk menentukan tidak ada batas minimum, untuk`Min`, tentukan`0`. Untuk menentukan tidak ada batas maksimum, hilangkan parameter `Max`.

   1. Untuk `MemoryMiB`, tentukan jumlah memori minimum dan maksimum dalam MiB. Untuk menentukan tidak ada batas minimum, untuk `Min`, tentukan `0`. Untuk menentukan tidak ada batas maksimum, hilangkan parameter `Max`.

   1. Anda dapat secara opsional menentukan satu atau lebih atribut lainnya untuk lebih membatasi daftar tipe instans yang dikembalikan.

1. Untuk melihat pratinjau jenis instance yang memiliki atribut yang Anda tentukan dalam file JSON, gunakan perintah [get-instance-types-from-instance-requirements](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-instance-types-from-instance-requirements.html), dan tentukan nama dan path ke file JSON Anda dengan menggunakan parameter. `--cli-input-json` Anda dapat secara opsional memformat output untuk muncul dalam format tabel.

   ```
   aws ec2 get-instance-types-from-instance-requirements \
       --cli-input-json file://attributes.json \
       --output table
   ```

   Contoh file *attributes.json*

   Dalam contoh ini, atribut yang diperlukan disertakan dalam file JSON. Atribut tersebut adalah `ArchitectureTypes`, `VirtualizationTypes`, `VCpuCount`, dan `MemoryMiB`. Selain itu, atribut `InstanceGenerations` opsional juga disertakan. Perhatikan bahwa untuk `MemoryMiB`, nilai `Max` dapat dihilangkan untuk menunjukkan bahwa tidak ada batasan.

   ```
   {
       
       "ArchitectureTypes": [
           "x86_64"
       ],
       "VirtualizationTypes": [
           "hvm"
       ],
       "InstanceRequirements": {
           "VCpuCount": {
               "Min": 4,
               "Max": 6
           },
           "MemoryMiB": {
               "Min": 2048
           },
           "InstanceGenerations": [
               "current"
           ]
       }
   }
   ```

   Contoh output

   ```
   ------------------------------------------
   |GetInstanceTypesFromInstanceRequirements|
   +----------------------------------------+
   ||             InstanceTypes            ||
   |+--------------------------------------+|
   ||             InstanceType             ||
   |+--------------------------------------+|
   ||  c4.xlarge                           ||
   ||  c5.xlarge                           ||
   ||  c5a.xlarge                          ||
   ||  c5ad.xlarge                         ||
   ||  c5d.xlarge                          ||
   ||  c5n.xlarge                          ||
   ||  d2.xlarge                           ||
   ...
   ```

1. Setelah mengidentifikasi tipe instans yang memenuhi kebutuhan Anda, catatlah atribut instans yang Anda gunakan sehingga Anda dapat menggunakannya saat mengonfigurasi permintaan armada.

# Gunakan pembobotan instans untuk mengelola biaya dan kinerja Armada EC2 atau Armada Spot Anda
<a name="ec2-fleet-instance-weighting"></a>

Dengan pembobotan instans, Anda menetapkan bobot untuk setiap jenis instans di Armada EC2 atau Armada Spot untuk mewakili kapasitas komputasi dan kinerjanya relatif satu sama lain. Berdasarkan bobot, armada dapat menggunakan kombinasi jenis instans yang ditentukan, asalkan dapat memenuhi kapasitas target yang diinginkan. Ini dapat membantu Anda mengelola biaya dan kinerja armada Anda.

Bobot mewakili unit kapasitas yang dikontribusikan oleh tipe instans terhadap total kapasitas target.

**Contoh: Gunakan pembobotan contoh untuk manajemen kinerja**

Misalkan armada Anda memiliki dua tipe instans, dan Anda menetapkan bobot yang berbeda untuk setiap jenis instans untuk mencerminkan berapa banyak yang Anda butuhkan untuk mencapai kinerja yang sama, sebagai berikut:
+  `m5.large`- Berat: 1
+ `m5.2xlarge`- Berat: 4

Dengan menetapkan bobot ini, Anda mengatakan bahwa Anda memerlukan 4 `m5.large` instance untuk mencapai kinerja yang sama dengan 1. `m5.2xlarge`

Untuk menghitung berapa banyak instance dari setiap jenis instans yang diperlukan untuk kapasitas target tertentu, gunakan rumus berikut:

`target capacity / weight = number of instances`

Jika kapasitas target Anda adalah 8 unit, armada dapat memenuhi kapasitas target dengan salah satu `m5.large` atau`m5.2xlarge`, atau campuran keduanya, sebagai berikut:
+ 8 `m5.large` contoh (kapasitas 8/berat 1 = 8 instance)
+ 2 `m5.2xlarge` contoh (kapasitas 8/berat 4 = 2 instance)
+ 4 `m5.large` dan 1 `m5.2xlarge`

**Contoh: Gunakan pembobotan contoh untuk manajemen biaya**

Secara default, harga yang Anda tentukan adalah *per jam instans*. Saat Anda menggunakan fitur pembobotan instans, harga yang Anda tentukan adalah *per unit jam*. Anda dapat menghitung harga per unit jam dengan membagi harga tipe instans dengan jumlah unit yang diwakilinya. Armada menghitung jumlah instance yang akan diluncurkan dengan membagi kapasitas target dengan bobot instans. Jika hasilnya bukan bilangan bulat, armada akan membulatkannya ke bilangan bulat berikutnya, sehingga ukuran armada Anda tidak berada di bawah kapasitas targetnya. Armada dapat memilih kolam mana pun yang Anda tentukan dalam spesifikasi peluncuran, meskipun kapasitas instans yang diluncurkan melebihi kapasitas target yang diminta.

Tabel berikut mencakup contoh perhitungan untuk menentukan harga per unit untuk armada dengan kapasitas target 10.


| Tipe instans | Bobot instans | Kapasitas target | Jumlah instans yang diluncurkan | Harga per jam instans | Harga per unit jam | 
| --- | --- | --- | --- | --- | --- | 
| r3.xlarge |  2  | 10 |  5 (10 dibagi 2)  |  \$10,05  |  \$10,025 (,05 dibagi 2)  | 
| r3.8xlarge |  8  | 10 |  2 (10 dibagi 8, hasil dibulatkan)  |  \$10,10  |  \$10,0125 (,10 dibagi 8)  | 

Gunakan bobot instance armada sebagai berikut untuk menyediakan kapasitas target yang Anda inginkan di pool dengan harga per unit terendah pada saat pemenuhan:

1. Tetapkan kapasitas target untuk armada Anda baik dalam instance (default) atau dalam unit pilihan Anda, seperti vCPU, memori, penyimpanan, atau throughput.

1. Tetapkan harga per unit.

1. Untuk setiap spesifikasi peluncuran, tentukan bobot, yang merupakan jumlah unit yang diwakili oleh tipe instans terhadap kapasitas target.

**Contoh pembobotan instans**  
Pertimbangkan permintaan armada dengan konfigurasi berikut:
+ Kapasitas target 24
+ Spesifikasi peluncuran dengan tipe instans `r3.2xlarge` dan bobot 6
+ Spesifikasi peluncuran dengan tipe instans `c3.xlarge` dan bobot 5

Bobot mewakili jumlah unit yang diwakili oleh tipe instans terhadap kapasitas target. Jika spesifikasi peluncuran pertama memberikan harga per unit terendah (harga untuk `r3.2xlarge` per jam contoh dibagi 6), armada akan meluncurkan empat contoh ini (24 dibagi 6).

Jika spesifikasi peluncuran kedua memberikan harga terendah per unit (harga untuk `c3.xlarge` per jam contoh dibagi 5), armada akan meluncurkan lima contoh ini (24 dibagi 5, hasilnya dibulatkan).

**Pembobotan instans dan strategi alokasi**  
Pertimbangkan permintaan armada dengan konfigurasi berikut:
+ Kapasitas target 30 Instans Spot
+ Spesifikasi peluncuran dengan tipe instans `c3.2xlarge` dan bobot 8
+ Spesifikasi peluncuran dengan tipe instans `m3.xlarge` dan bobot 8
+ Spesifikasi peluncuran dengan tipe instans `r3.xlarge` dan bobot 8

Armada akan meluncurkan empat instance (30 dibagi 8, hasilnya dibulatkan). Dengan strategi `diversified`, armada meluncurkan satu instans di masing-masing dari ketiga kolam tersebut, dan instans keempat di kolam mana pun yang memberikan harga terendah per unit.

# Gunakan strategi alokasi untuk menentukan bagaimana Armada EC2 atau Armada Spot memenuhi kapasitas Spot dan Sesuai Permintaan
<a name="ec2-fleet-allocation-strategy"></a>

Bila Anda menggunakan beberapa kumpulan kapasitas (masing-masing terdiri dari tipe instans dan Availability Zone) dalam Armada EC2 atau Armada Spot, Anda dapat menggunakan *strategi alokasi* untuk mengelola cara Amazon EC2 memenuhi kapasitas Spot dan On-Demand Anda dari kumpulan ini. Strategi alokasi dapat mengoptimalkan kapasitas, harga, dan jenis instans yang tersedia untuk digunakan. Ada strategi alokasi yang berbeda untuk Instans Spot dan Instans Sesuai Permintaan.

**Topics**
+ [Strategi alokasi untuk Instans Spot](#ec2-fleet-allocation-strategies-for-spot-instances)
+ [Strategi alokasi untuk Instans Sesuai Permintaan](#ec2-fleet-allocation-strategies-for-on-demand-instances)
+ [Pilih strategi alokasi Spot yang sesuai](#ec2-fleet-allocation-use-cases)
+ [Pertahankan kapasitas target untuk Instans Spot](#ec2-fleet-maintain-fleet-capacity)
+ [Memprioritaskan tipe instans untuk kapasitas Sesuai Permintaan](#ec2-fleet-on-demand-priority)

## Strategi alokasi untuk Instans Spot
<a name="ec2-fleet-allocation-strategies-for-spot-instances"></a>

Konfigurasi peluncuran Anda menentukan semua kemungkinan kumpulan kapasitas Spot (tipe instans dan Availability Zone) dari mana Armada EC2 atau Armada Spot dapat meluncurkan Instans Spot. Namun, saat meluncurkan instance, armada menggunakan strategi alokasi yang Anda tentukan untuk memilih kumpulan tertentu dari semua kemungkinan kumpulan Anda.

**catatan**  
(Hanya instans Linux) Jika Anda mengonfigurasi Instans Spot untuk diluncurkan dengan [AMD SEV-SNP](sev-snp.md) diaktifkan, Anda akan dikenakan biaya penggunaan tambahan per jam yang setara dengan 10% dari tarif [per jam Sesuai Permintaan untuk jenis instans yang dipilih](https://aws.amazon.com/ec2/pricing/on-demand/). Jika strategi alokasi menggunakan harga sebagai input, armada tidak termasuk biaya tambahan ini; hanya harga Spot yang digunakan.

Anda dapat menentukan salah satu strategi alokasi berikut untuk Instans Spot:

**Kapasitas harga dioptimalkan** (disarankan)  
Armada mengidentifikasi kumpulan dengan ketersediaan kapasitas tertinggi untuk jumlah instance yang diluncurkan. Hal ini berarti bahwa kami akan meminta Instans Spot dari kolam yang kami yakini memiliki peluang interupsi terendah dalam waktu dekat. Armada kemudian meminta Instans Spot dari harga terendah dari kumpulan ini.  
Strategi alokasi **kapasitas harga yang dioptimalkan** adalah pilihan terbaik untuk sebagian besar beban kerja Spot, seperti aplikasi kontainer stateless, layanan mikro, aplikasi web, pekerjaan data dan analitik, dan pemrosesan batch.  
Jika Anda menggunakan AWS CLI, nama parameternya adalah untuk Armada EC2 dan `price-capacity-optimized` `priceCapacityOptimized` untuk Armada Spot.

**Kapasitas dioptimalkan**  
Armada mengidentifikasi kumpulan dengan ketersediaan kapasitas tertinggi untuk jumlah instance yang diluncurkan. Hal ini berarti bahwa kami akan meminta Instans Spot dari kolam yang kami yakini memiliki peluang interupsi terendah dalam waktu dekat.  
Dengan Instans Spot, harga berubah secara perlahan dari waktu ke waktu berdasarkan tren penawaran dan permintaan jangka panjang, tetapi kapasitas berfluktuasi secara waktu nyata. Strategi **kapasitas yang dioptimalkan** secara otomatis meluncurkan Instans Spot ke dalam kumpulan yang paling tersedia dengan melihat data kapasitas waktu nyata dan memprediksi mana yang paling tersedia. Ini berfungsi dengan baik untuk beban kerja yang mungkin memiliki biaya interupsi yang lebih tinggi terkait dengan memulai kembali tugas, seperti Integrasi Berkelanjutan (CI), rendering gambar dan media, beban kerja Deep Learning, dan Komputasi Performa Tinggi (HPC) yang mungkin memiliki biaya interupsi yang lebih tinggi terkait dengan memulai ulang pekerjaan. Dengan menawarkan kemungkinan gangguan yang lebih sedikit, strategi **kapasitas yang dioptimalkan** dapat menurunkan biaya keseluruhan beban kerja Anda.  
Atau, Anda dapat menggunakan strategi alokasi **prioritas yang dioptimalkan kapasitas** dengan parameter prioritas untuk mengurutkan jenis instans dari prioritas tertinggi hingga terendah. Anda dapat mengatur prioritas yang sama untuk tipe instans yang berbeda. Armada akan mengoptimalkan kapasitas terlebih dahulu, tetapi akan menghormati prioritas tipe instans berdasarkan upaya terbaik (misalnya, jika menghormati prioritas tidak akan secara signifikan mempengaruhi kemampuan armada untuk menyediakan kapasitas optimal). Ini adalah pilihan opsi yang bagus untuk beban kerja di mana kemungkinan gangguan harus diminimalkan dan preferensi untuk tipe instans tertentu menjadi penting. **Perhatikan bahwa saat Anda menetapkan prioritas untuk jenis instans untuk kapasitas Spot Anda, prioritas yang sama juga diterapkan pada Instans Sesuai Permintaan jika strategi alokasi Sesuai Permintaan ditetapkan untuk diprioritaskan.** Untuk Armada Spot, penggunaan prioritas hanya didukung jika armada Anda menggunakan templat peluncuran.   
Jika Anda menggunakan AWS CLI, nama parameternya adalah `capacity-optimized` dan `capacity-optimized-prioritized` untuk Armada EC2 dan `capacityOptimized` dan `capacityOptimizedPrioritized` untuk Armada Spot.

**Diversifikasi**  
Instans Spot didistribusikan di semua kolam kapasitas Spot. Jika Anda menggunakan AWS CLI, nama parameter adalah `diversified` untuk Armada EC2 dan Armada Spot.

**Harga terendah** (tidak disarankan)  
Kami tidak merekomendasikan strategi alokasi **harga terendah** karena memiliki risiko interupsi tertinggi untuk Instans Spot Anda.
Instans Spot berasal dari kolam dengan harga terendah yang memiliki kapasitas tersedia. Saat menggunakan AWS CLI, ini adalah strategi default. Namun, kami menyarankan Anda mengganti default dengan menentukan strategi alokasi **kapasitas harga yang dioptimalkan**.  
Dengan strategi harga terendah, jika kolam dengan harga terendah tidak memiliki kapasitas yang tersedia, Instans Spot berasal dari kumpulan harga terendah berikutnya yang memiliki kapasitas yang tersedia. Jika kolam kehabisan kapasitas sebelum memenuhi kapasitas yang Anda inginkan, armada akan terus memenuhi permintaan Anda dengan menarik dari kolam dengan harga terendah berikutnya. Untuk memastikan bahwa kapasitas yang Anda inginkan terpenuhi, Anda mungkin menerima Instans Spot dari beberapa kolam.  
Karena strategi ini hanya mempertimbangkan harga instans dan bukan ketersediaan kapasitas, hal ini dapat menyebabkan tingkat interupsi yang tinggi.  
Strategi alokasi harga terendah hanya tersedia saat menggunakan. AWS CLI Nama parameter untuk Armada EC2 dan `lowest-price` `lowestPrice` untuk Armada Spot.

**Jumlah kolam yang akan digunakan**  
Anda dapat menentukan jumlah kolam Spot untuk mengalokasikan kapasitas Spot target. Hanya berlaku jika strategi alokasi diatur ke **harga terendah**. Armada memilih kumpulan Spot dengan harga terendah dan mengalokasikan kapasitas Spot target Anda secara merata di seluruh jumlah kumpulan Spot yang Anda tentukan.  
Perhatikan bahwa armada mencoba menarik Instans Spot dari jumlah kumpulan yang Anda tentukan berdasarkan upaya terbaik. Jika kolam kehabisan kapasitas Spot sebelum memenuhi kapasitas target Anda, armada akan terus memenuhi permintaan Anda dengan menarik dari kolam dengan harga terendah berikutnya. Untuk memastikan bahwa kapasitas target terpenuhi, Anda mungkin menerima Instans Spot dari kolam yang jumlahnya lebih dari jumlah kolam yang Anda tentukan. Demikian pula, jika sebagian besar kolam tidak memiliki kapasitas Spot, Anda mungkin menerima kapasitas target penuh dari jumlah yang lebih rendah dari kolam yang Anda tentukan.  
Parameter ini hanya tersedia saat menentukan strategi alokasi **harga terendah** dan hanya saat menggunakan. AWS CLI Nama parameter `InstancePoolsToUseCount` untuk Armada EC2 dan Armada Spot.

## Strategi alokasi untuk Instans Sesuai Permintaan
<a name="ec2-fleet-allocation-strategies-for-on-demand-instances"></a>

Konfigurasi peluncuran Anda menentukan semua kemungkinan kumpulan kapasitas (tipe instans dan Availability Zone) dari mana Armada EC2 atau Armada Spot dapat meluncurkan Instans Sesuai Permintaan. Namun, saat meluncurkan instance, armada menggunakan strategi alokasi yang Anda tentukan untuk memilih kumpulan tertentu dari semua kemungkinan kumpulan Anda.

Anda dapat menentukan salah satu strategi alokasi berikut untuk Instans Sesuai Permintaan:

**Harga terendah**  
Instans On-Demand berasal dari kolam dengan harga terendah yang memiliki kapasitas yang tersedia. Ini adalah strategi default.  
Jika kolam dengan harga terendah tidak memiliki kapasitas yang tersedia, Instans Sesuai Permintaan berasal dari kolam dengan harga terendah berikutnya yang memiliki kapasitas yang tersedia.  
Jika kolam kehabisan kapasitas sebelum memenuhi kapasitas yang Anda inginkan, armada akan terus memenuhi permintaan Anda dengan menarik dari kolam dengan harga terendah berikutnya. Untuk memastikan kapasitas yang Anda inginkan terpenuhi, Anda mungkin menerima Instans Sesuai Permintaan dari beberapa kumpulan.

**Diprioritaskan**  
Armada menggunakan prioritas yang Anda tetapkan untuk setiap penggantian template peluncuran, meluncurkan jenis instans dalam urutan prioritas tertinggi terlebih dahulu. Strategi ini tidak dapat digunakan dengan pemilihan tipe instans berbasis atribut. Untuk contoh cara menggunakan strategi alokasi ini, lihat[Memprioritaskan tipe instans untuk kapasitas Sesuai Permintaan](#ec2-fleet-on-demand-priority).

## Pilih strategi alokasi Spot yang sesuai
<a name="ec2-fleet-allocation-use-cases"></a>

Anda dapat mengoptimalkan armada untuk kasus penggunaan dengan memilih strategi alokasi Spot yang sesuai.

### Menyeimbangkan harga terendah dan ketersediaan kapasitas
<a name="ec2-fleet-strategy-balance-price-and-capacity-availability"></a>

Untuk menyeimbangkan trade-off antara kumpulan kapasitas Spot dengan harga terendah dan kumpulan kapasitas Spot dengan ketersediaan kapasitas tertinggi, kami sarankan Anda menggunakan strategi alokasi **kapasitas harga** yang dioptimalkan. Strategi ini membuat keputusan terkait kolam yang akan meminta Instans Spot dari berdasarkan harga kolam dan ketersediaan kapasitas Instans Spot di kolam tersebut. Hal ini berarti bahwa kami akan meminta Instans Spot dari kolam yang kami yakini memiliki kemungkinan interupsi paling rendah dalam waktu dekat, dengan tetap mempertimbangkan harga.

Jika armada Anda menjalankan beban kerja yang tangguh dan tanpa kewarganegaraan, termasuk aplikasi kontainer, layanan mikro, aplikasi web, pekerjaan data dan analitik, dan pemrosesan batch, maka gunakan strategi alokasi **kapasitas harga yang dioptimalkan untuk penghematan biaya dan ketersediaan kapasitas** yang optimal.

Jika armada Anda menjalankan beban kerja yang mungkin memiliki biaya interupsi yang lebih tinggi terkait dengan memulai kembali tugas, Anda harus menerapkan operasi titik pemeriksaan agar aplikasi dapat memulai kembali dari titik tersebut jika terinterupsi. Dengan menggunakan checkpointing, Anda membuat strategi alokasi **kapasitas harga yang dioptimalkan** cocok untuk beban kerja ini karena mengalokasikan kapasitas dari kumpulan harga terendah yang juga menawarkan tingkat interupsi Instans Spot yang rendah.

Misalnya konfigurasi JSON yang menggunakan strategi alokasi **kapasitas harga yang dioptimalkan**, lihat berikut ini:
+ Armada EC2 — [Contoh 10: Luncurkan Instans Spot di armada price-capacity-optimized](ec2-fleet-examples.md#ec2-fleet-config11)
+ Armada Spot — [Contoh 11: Luncurkan Instans Spot di armada priceCapacityOptimized](spot-fleet-examples.md#fleet-config11)

### Ketika beban kerja memiliki biaya interupsi yang tinggi
<a name="ec2-fleet-strategy-capacity-optimized"></a>

Anda dapat secara opsional menggunakan strategi yang **dioptimalkan kapasitas** jika Anda menjalankan beban kerja yang menggunakan jenis instans dengan harga yang sama, atau di mana biaya interupsi sangat signifikan sehingga penghematan biaya tidak memadai dibandingkan dengan peningkatan interupsi marjinal. Strategi ini mengalokasikan kapasitas dari kolam kapasitas Spot yang paling banyak tersedia yang menawarkan kemungkinan lebih sedikit interupsi, yang dapat menurunkan biaya keseluruhan beban kerja Anda.

Ketika kemungkinan interupsi harus diminimalkan tetapi preferensi untuk jenis instance tertentu penting, Anda dapat mengekspresikan prioritas kumpulan Anda dengan menggunakan strategi alokasi prioritas yang **dioptimalkan kapasitas dan kemudian menetapkan urutan jenis instance untuk digunakan dari prioritas** tertinggi ke prioritas terendah.

**Perhatikan bahwa ketika Anda menetapkan prioritas untuk **kapasitas yang dioptimalkan diprioritaskan**, prioritas yang sama juga diterapkan pada Instans Sesuai Permintaan jika strategi alokasi Sesuai Permintaan ditetapkan untuk diprioritaskan.** Perhatikan juga bahwa, untuk Armada Spot, penggunaan prioritas hanya didukung jika armada Anda menggunakan templat peluncuran.

Misalnya konfigurasi JSON yang menggunakan strategi alokasi **kapasitas yang dioptimalkan**, lihat berikut ini:
+ Armada EC2 — [Contoh 8: Luncurkan Instans Spot dalam armada yang dioptimalkan kapasitas](ec2-fleet-examples.md#ec2-fleet-config9)
+ Armada Spot — [Contoh 9: Meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas](spot-fleet-examples.md#fleet-config9)

Misalnya konfigurasi JSON yang menggunakan strategi alokasi **prioritas yang dioptimalkan kapasitas, lihat** berikut ini:
+ Armada EC2 — [Contoh 9: Luncurkan Instans Spot dalam armada yang dioptimalkan kapasitas dengan prioritas](ec2-fleet-examples.md#ec2-fleet-config10)
+ Armada Spot — [Contoh 10: Meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas dengan prioritas](spot-fleet-examples.md#fleet-config10)

### Jika beban kerja Anda memiliki fleksibilitas waktu dan ketersediaan kapasitas tidak menjadi faktor
<a name="ec2-fleet-strategy-time-flexible-workload"></a>

Jika armada Anda kecil atau berjalan dalam waktu singkat, Anda dapat menggunakan **kapasitas harga yang dioptimalkan** untuk memaksimalkan penghematan biaya sambil tetap mempertimbangkan ketersediaan kapasitas.

### Jika armada Anda besar atau berjalan untuk waktu yang lama
<a name="ec2-fleet-strategy-large-workload-long-time"></a>

Jika armada Anda besar atau berjalan untuk waktu yang lama, Anda dapat meningkatkan ketersediaan armada Anda dengan mendistribusikan Instans Spot di beberapa kumpulan menggunakan strategi **diversifikasi**. Misalnya, jika armada Anda menentukan 10 pool dan kapasitas target 100 instans, armada meluncurkan 10 Instans Spot di setiap kumpulan. Jika harga Spot untuk satu kolam melebihi harga maksimum Anda untuk kolam ini, hanya 10% armada yang terpengaruh. Penggunaan strategi ini juga membuat armada Anda kurang sensitif terhadap kenaikan harga Spot di satu kolam dari waktu ke waktu. Dengan strategi **diversifikasi**, armada tidak meluncurkan Instans Spot ke kolam apa pun dengan harga Spot yang sama atau lebih tinggi dari harga [On-Demand](https://aws.amazon.com/ec2/pricing/).

## Pertahankan kapasitas target untuk Instans Spot
<a name="ec2-fleet-maintain-fleet-capacity"></a>

Setelah Instans Spot dihentikan karena perubahan harga Spot atau kapasitas yang tersedia dari kumpulan kapasitas Spot, armada tipe `maintain` meluncurkan Instans Spot pengganti. Strategi alokasi menentukan kolam tempat instans pengganti diluncurkan, sebagai berikut:
+ Jika strategi alokasi **dioptimalkan kapasitas harga**, armada meluncurkan instans pengganti di kumpulan yang memiliki ketersediaan kapasitas Instans Spot paling banyak sambil juga mempertimbangkan harga dan mengidentifikasi kumpulan dengan harga terendah dengan ketersediaan kapasitas tinggi.
+ Jika strategi alokasi **dioptimalkan kapasitas**, armada meluncurkan instance pengganti di kumpulan yang memiliki ketersediaan kapasitas Instans Spot paling banyak.
+ Jika strategi alokasi **terdiversifikasi**, armada mendistribusikan Instans Spot pengganti di seluruh kumpulan yang tersisa.

## Memprioritaskan tipe instans untuk kapasitas Sesuai Permintaan
<a name="ec2-fleet-on-demand-priority"></a>

Saat Armada EC2 atau Armada Spot mencoba memenuhi kapasitas Sesuai Permintaan Anda, default meluncurkan jenis instans dengan harga terendah terlebih dahulu. Jika strategi alokasi On-Demand diatur untuk **diprioritaskan**, armada menggunakan prioritas untuk menentukan jenis instans mana yang akan digunakan terlebih dahulu saat memenuhi kapasitas On-Demand. Prioritas ditetapkan ke penimpaan templat peluncuran, dan prioritas tertinggi diluncurkan terlebih dahulu.

**Contoh: Memprioritaskan tipe instans**

Dalam contoh ini, Anda mengonfigurasi tiga penimpaan templat peluncuran, masing-masing dengan tipe instans yang berbeda.

Harga Sesuai Permintaan untuk tipe instans beragam harganya. Berikut ini adalah tipe instans yang digunakan dalam contoh ini, yang tercantum dalam urutan harga, dimulai dengan tipe instans yang paling murah:
+ `m4.large` – termurah
+ `m5.large`
+ `m5a.large`

Jika Anda tidak menggunakan prioritas untuk menentukan urutan, armada akan memenuhi kapasitas Sesuai Permintaan dengan memulai dari tipe instans yang paling murah.

Namun, katakanlah Anda memiliki Instans Terpesan `m5.large` yang tidak terpakai yang ingin Anda gunakan terlebih dahulu. Anda dapat mengatur prioritas penimpaan templat peluncuran sehingga tipe instans digunakan dalam urutan prioritas, sebagai berikut:
+ `m5.large` – prioritas 1
+ `m4.large` – prioritas 2
+ `m5a.large` – prioritas 3

# Gunakan Rebalancing Kapasitas di Armada EC2 dan Armada Spot untuk mengganti Instans Spot yang berisiko
<a name="ec2-fleet-capacity-rebalance"></a>

Dengan Penyeimbangan Kembali Kapasitas, Armada EC2 atau Armada Spot Anda dapat mempertahankan kapasitas Spot yang diinginkan dengan secara proaktif mengganti Instans Spot yang berisiko terganggu. [Ketika Instans Spot berisiko tinggi mengalami gangguan, Amazon EC2 mengirimkan rekomendasi penyeimbangan kembali.](rebalance-recommendations.md) Jika Capacity Rebalancing diaktifkan, rekomendasi rebalance akan memicu peluncuran Instans Spot baru sebelum instans berisiko terputus.

Penyeimbangan Kembali Kapasitas membantu Anda menjaga ketersediaan beban kerja dengan menambah armada Anda secara proaktif dengan Instans Spot baru sebelum instans yang berjalan terganggu oleh Amazon EC2.

**Untuk mengonfigurasi Armada EC2 agar menggunakan Capacity Rebalancing untuk meluncurkan Instans Spot pengganti**  
Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) dan parameter yang relevan dalam struktur. `MaintenanceStrategies` Untuk contoh konfigurasi JSON, lihat[Contoh 7: Konfigurasikan Penyeimbangan Kembali Kapasitas untuk meluncurkan Instans Spot pengganti](ec2-fleet-examples.md#ec2-fleet-config8).

**Untuk mengonfigurasi Armada Spot agar menggunakan Penyeimbangan Kembali Kapasitas untuk meluncurkan Instans Spot pengganti**  
Anda dapat menggunakan konsol Amazon EC2 atau AWS CLI untuk mengkonfigurasi Capacity Rebalancing.

(Konsol) Saat membuat Armada Spot, pilih kotak centang **Penyeimbangan Kapasitas**. Untuk informasi selengkapnya, lihat langkah 6.d. di [Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](create-spot-fleet.md#create-spot-fleet-advanced).

(AWS CLI) Gunakan [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)perintah dan parameter yang relevan dalam `SpotMaintenanceStrategies` struktur. Untuk contoh konfigurasi JSON, lihat[Contoh 8: Mengonfigurasikan Penyeimbangan Ulang Kapasitas untuk meluncurkan Instans Spot pengganti](spot-fleet-examples.md#fleet-config8).

**Topics**
+ [Batasan](#ec2-fleet-capacity-rebalance-limitations)
+ [Opsi konfigurasi](#ec2-fleet-capacity-rebalance-config-options)
+ [Pertimbangan-pertimbangan](#ec2-fleet-capacity-rebalance-considerations)

## Batasan
<a name="ec2-fleet-capacity-rebalance-limitations"></a>
+ Penyeimbangan Ulang Kapasitas hanya tersedia untuk armada tipe `maintain`.
+ Saat armada berjalan, Anda tidak dapat mengubah pengaturan Penyeimbangan Ulang Kapasitas. Untuk mengubah pengaturan Penyeimbangan Ulang Kapasitas, Anda harus menghapus armada dan membuat armada baru.

## Opsi konfigurasi
<a name="ec2-fleet-capacity-rebalance-config-options"></a>

Armada `ReplacementStrategy` untuk EC2 dan Armada Spot mendukung dua nilai berikut:

`launch-before-terminate`  
Amazon EC2 mengakhiri Instans Spot yang menerima notifikasi penyeimbangan ulang setelah Instans Spot pengganti baru diluncurkan. Jika Anda menentukan `launch-before-terminate`, Anda juga harus menentukan nilai untuk `termination-delay`. Setelah instans pengganti baru diluncurkan, Amazon EC2 menunggu durasi `termination-delay`, lalu mengakhiri instans lama. Untuk `termination-delay`, minimum adalah 120 detik (2 menit), dan maksimum adalah 7200 detik (2 jam).  
Sebaiknya Anda menggunakan `launch-before-terminate` hanya jika Anda dapat memprediksi lamanya prosedur pematian instans Anda akan selesai. Hal ini akan memastikan bahwa instans lama diakhiri hanya setelah prosedur pematian selesai. Perhatikan bahwa Amazon EC2 dapat menginterupsi instans lama dengan peringatan dua menit sebelum `termination-delay`.  
Kami sangat menyarankan agar tidak menggunakan strategi alokasi `lowest-price` (Armada EC2) atau `lowestPrice` (Armada Spot) yang dikombinasikan dengan `launch-before-terminate` untuk menghindari penggantian Instans Spot yang juga berisiko tinggi mengalami gangguan.

`launch`  
Amazon EC2 meluncurkan Instans Spot pengganti saat notifikasi penyeimbangan ulang dipancarkan untuk Instans Spot yang sudah ada. Amazon EC2 tidak mengakhiri instans yang menerima notifikasi penyeimbangan ulang. Anda dapat mengakhiri instans lama, atau membiarkannya berjalan. Anda dikenai biaya untuk semua instans saat semuanya berjalan.

## Pertimbangan-pertimbangan
<a name="ec2-fleet-capacity-rebalance-considerations"></a>

Jika Anda mengonfigurasi Armada EC2 atau Armada Spot untuk Penyeimbangan Kembali Kapasitas, pertimbangkan hal berikut:

**Berikan sebanyak mungkin kolam kapasitas Spot dalam permintaan**  
Konfigurasikan armada Anda untuk menggunakan beberapa jenis instans dan Availability Zone. Hal ini akan memberikan fleksibilitas untuk meluncurkan Instans Spot di berbagai kolam kapasitas Spot. Untuk informasi selengkapnya, lihat [Bersikaplah fleksibel terkait tipe instans dan Zona Ketersediaan](spot-best-practices.md#be-instance-type-flexible).

**Hindari peningkatan risiko gangguan penggantian Instans Spot**  
Untuk menghindari peningkatan risiko gangguan, kami merekomendasikan strategi `capacity-optimized` atau `capacity-optimized-prioritized` alokasi. Strategi ini memastikan bahwa Instans Spot diluncurkan di kolam kapasitas Spot yang paling optimal, dan karena itu kemungkinan tidak akan terinterupsi dalam waktu dekat. Untuk informasi selengkapnya, lihat [Menggunakan strategi alokasi harga dan kapasitas yang dioptimalkan](spot-best-practices.md#use-capacity-optimized-allocation-strategy).  
Jika Anda menggunakan strategi `lowest-price` alokasi, Instans Spot pengganti Anda mungkin berisiko tinggi mengalami gangguan. Hal ini disebabkan karena Amazon EC2 akan selalu meluncurkan instans di kolam dengan harga terendah yang memiliki kapasitas yang tersedia pada saat itu, meskipun Instans Spot pengganti Anda kemungkinan akan terinterupsi sesaat setelah diluncurkan.

**Amazon EC2 hanya akan meluncurkan instans baru jika ketersediaannya sama atau lebih baik**  
Salah satu tujuan dari Penyeimbangan Ulang kapasitas adalah untuk meningkatkan ketersediaan Instans Spot. Jika Instans Spot yang ada menerima rekomendasi penyeimbangan ulang, Amazon EC2 hanya akan meluncurkan instans baru jika instans baru tersebut memberikan ketersediaan yang sama atau lebih baik daripada instans yang sudah ada. Jika risiko gangguan instans baru akan lebih buruk daripada instans yang sudah ada, Amazon EC2 tidak akan meluncurkan instans baru. Namun, Amazon EC2 akan terus menilai kolam kapasitas Spot, dan akan meluncurkan instans baru jika ketersediaan membaik.  
Ada kemungkinan instans Anda yang ada akan terinterupsi tanpa Amazon EC2 yang secara proaktif meluncurkan instans baru. Jika hal ini terjadi, Amazon EC2 akan berupaya meluncurkan instans baru terlepas dari apakah instans baru tersebut memiliki risiko gangguan yang tinggi.

**Penyeimbangan Ulang Kapasitas tidak meningkatkan tingkat interupsi Instans Spot Anda**  
Saat Anda mengaktifkan Penyeimbangan Ulang Kapasitas, hal tersebut tidak meningkatkan [tingkat interupsi Instans Spot](spot-interruptions.md) Anda (jumlah Instans Spot yang diklaim kembali saat Amazon EC2 membutuhkan kapasitas kembali). Namun, jika Penyeimbangan Ulang Kapasitas mendeteksi instans yang berada pada berisiko terinterupsi, Amazon EC2 akan segera berupaya meluncurkan instans baru. Hasilnya adalah lebih banyak instans yang mungkin diganti dibandingkan jika Anda menunggu Amazon EC2 meluncurkan instans baru setelah instans yang berisiko terinterupsi.  
Meskipun Anda dapat mengganti lebih banyak instans dengan Penyeimbangan Ulang Kapasitas diaktifkan, Anda akan mendapatkan keuntungan dengan bersikap proaktif daripada reaktif dengan memiliki lebih banyak waktu untuk mengambil tindakan sebelum instans Anda terinterupsi. Dengan [pemberitahuan interupsi Instans Spot](spot-instance-termination-notices.md), Anda biasanya hanya memiliki waktu hingga dua menit untuk mematikan instans Anda dengan baik. Dengan Penyeimbangan Ulang Kapasitas meluncurkan instans baru terlebih dahulu, Anda memberikan kesempatan yang lebih baik untuk menyelesaikan proses yang sudah ada pada instans berisiko, Anda dapat memulai prosedur pematian instans, dan mencegah pekerjaan baru dijadwalkan pada instans berisiko Anda. Anda juga bisa mulai menyiapkan instans yang baru diluncurkan untuk mengambil alih aplikasi. Dengan penggantian proaktif dari Penyeimbangan Ulang Kapasitas, Anda akan mendapatkan keuntungan dari kesinambungan yang baik.  
Sebagai contoh teoretis untuk menunjukkan risiko dan manfaat menggunakan Penyeimbangan Ulang Kapasitas, pertimbangkan skenario berikut:  
+ 14:00 – Rekomendasi penyeimbangan ulang diterima untuk instans-A, dan Amazon EC2 segera mulai berupaya meluncurkan instans-B pengganti, sehingga memberi Anda waktu untuk memulai prosedur pematian.\$1
+ 14:30 – Rekomendasi penyeimbangan ulang diterima untuk instans-B, diganti dengan instans-C, sehingga memberi Anda waktu untuk memulai prosedur pematian.\$1
+ 14:32 – Jika Penyeimbangan Ulang Kapasitas tidak diaktifkan, dan jika pemberitahuan interupsi Instans Spot akan diterima pada pukul 14:32 untuk instans-A, Anda hanya memiliki waktu hingga dua menit untuk mengambil tindakan, tetapi Instans-A akan berjalan hingga saat ini.
\$1 Jika `launch-before-terminate` ditentukan, Amazon EC2 akan mengakhiri instans yang berada dalam risiko setelah instans pengganti online.

**Amazon EC2 dapat meluncurkan Instans Spot pengganti yang baru hingga kapasitas yang terpenuhi adalah dua kali lipat dari kapasitas target**  
Ketika armada dikonfigurasi untuk Penyeimbangan Kembali Kapasitas, armada mencoba meluncurkan Instans Spot pengganti baru untuk setiap Instans Spot yang menerima rekomendasi penyeimbangan kembali. Setelah Instans Spot menerima rekomendasi penyeimbangan ulang, Instans Spot tersebut tidak lagi dianggap sebagai bagian dari kapasitas yang terpenuhi. Bergantung pada strategi penggantian, Amazon EC2 akan mengakhiri instans setelah penundaan pengakhiran yang telah dikonfigurasikan sebelumnya, atau membiarkannya tetap berjalan. Hal ini memberikan kesempatan kepada Anda untuk melakukan [tindakan penyeimbangan ulang](rebalance-recommendations.md#rebalancing-actions) pada instans.  
Jika armada Anda mencapai dua kali lipat dari kapasitas target, armada akan berhenti meluncurkan instans pengganti yang baru meskipun instans pengganti itu sendiri menerima rekomendasi penyeimbangan ulang.  
Misalnya, Anda membuat armada dengan kapasitas target 100 Instans Spot. Semua Instans Spot menerima rekomendasi penyeimbangan ulang, yang menyebabkan Amazon EC2 meluncurkan 100 Instans Spot pengganti. Hal ini meningkatkan jumlah Instans Spot yang terpenuhi menjadi 200, atau dua kali lipat dari kapasitas yang ditargetkan. Beberapa instans pengganti menerima rekomendasi penyeimbangan kembali, tetapi tidak ada lagi instance pengganti yang diluncurkan karena armada tidak dapat melebihi dua kali lipat kapasitas targetnya.   
Perhatikan bahwa Anda dikenai biaya untuk semua instans saat berjalan.

**Kami menyarankan Anda mengonfigurasi armada Anda untuk menghentikan Instans Spot yang menerima rekomendasi penyeimbangan ulang**  
Jika Anda mengonfigurasi armada untuk Penyeimbangan Kembali Kapasitas, kami sarankan Anda memilih `launch-before-terminate` dengan penundaan penghentian yang sesuai hanya jika Anda dapat memprediksi berapa lama prosedur penghentian instans Anda akan selesai. Hal ini akan memastikan bahwa instans lama diakhiri hanya setelah prosedur pematian selesai.  
Jika memilih untuk mengakhiri instans yang direkomendasikan untuk penyeimbangan ulang, kami menyarankan Anda untuk memantau sinyal rekomendasi penyeimbangan ulang yang diterima oleh Instans Spot di armada. Dengan memantau sinyal, Anda dapat dengan cepat melakukan [tindakan penyeimbangan ulang](rebalance-recommendations.md#rebalancing-actions) pada instans yang terpengaruh sebelum Amazon EC2 menginterupsinya, lalu Anda dapat mengakhirinya secara manual. Jika Anda tidak mengakhiri instans tersebut, Anda akan terus membayarnya saat instans tersebut berjalan. Amazon EC2 tidak secara otomatis mengakhiri instans yang menerima notifikasi penyeimbangan ulang.  
Anda dapat mengatur notifikasi menggunakan Amazon EventBridge atau metadata instans. Untuk informasi selengkapnya, lihat [Pantau sinyal rekomendasi penyeimbangan kembali](rebalance-recommendations.md#monitor-rebalance-recommendations).

**Armada tidak menghitung instance yang menerima rekomendasi penyeimbangan kembali saat menghitung kapasitas yang terpenuhi selama skala masuk atau keluar**  
Jika armada Anda dikonfigurasi untuk Penyeimbangan Kembali Kapasitas, dan Anda mengubah kapasitas target menjadi skala atau skala keluar, armada tidak menghitung instans yang ditandai untuk penyeimbangan kembali sebagai bagian dari kapasitas yang terpenuhi, sebagai berikut:  
+ Menskalakan ke dalam – Jika Anda menurunkan kapasitas target yang Anda inginkan, Amazon EC2 akan mengakhiri instans yang tidak ditandai untuk penyeimbangan ulang hingga kapasitas yang diinginkan tercapai. Instans yang ditandai untuk penyeimbangan ulang tidak diperhitungkan pada kapasitas yang terpenuhi.

  Misalnya, Anda membuat armada dengan kapasitas target 100 Instans Spot. 10 instans menerima rekomendasi penyeimbangan ulang, sehingga Amazon EC2 meluncurkan 10 instans pengganti baru, menghasilkan kapasitas terpenuhi 110 instans. Anda kemudian mengurangi kapasitas target menjadi 50 (menskalakan ke dalam), tetapi kapasitas yang terpenuhi sebenarnya adalah 60 instans karena 10 instans yang ditandai untuk penyeimbangan ulang tidak diakhiri oleh Amazon EC2. Anda harus mengakhiri instans ini secara manual, atau Anda dapat membiarkannya tetap berjalan.
+ Menskalakan ke luar – Jika Anda meningkatkan kapasitas target yang diinginkan, Amazon EC2 akan meluncurkan instans baru hingga kapasitas yang diinginkan tercapai. Instans yang ditandai untuk penyeimbangan ulang tidak diperhitungkan pada kapasitas yang terpenuhi. 

  Misalnya, Anda membuat armada dengan kapasitas target 100 Instans Spot. 10 instans menerima rekomendasi penyeimbangan ulang, sehingga armada meluncurkan 10 instans pengganti baru, menghasilkan kapasitas terpenuhi 110 instans. Anda kemudian meningkatkan kapasitas target menjadi 200 (menskalakan ke luar), tetapi kapasitas yang terpenuhi sebenarnya adalah 210 instans karena 10 instans yang ditandai untuk penyeimbangan ulang tidak diperhitungkan oleh armada sebagai bagian dari kapasitas target. Anda harus mengakhiri instans ini secara manual, atau Anda dapat membiarkannya tetap berjalan.

# Gunakan Reservasi Kapasitas untuk memesan kapasitas Sesuai Permintaan di Armada EC2
<a name="ec2-fleet-on-demand-capacity-reservations"></a>

Dengan Reservasi Kapasitas Sesuai Permintaan, Anda dapat memesan kapasitas komputasi untuk Instans Sesuai Permintaan di Zona Ketersediaan tertentu untuk durasi berapa pun. Anda dapat mengonfigurasi Armada EC2 untuk menggunakan Reservasi Kapasitas terlebih dahulu saat meluncurkan Instans Sesuai Permintaan.

Pemesanan Kapasitas Sesuai Permintaan hanya tersedia untuk Armada EC2 dengan jenis permintaan yang diatur ke. `instant`

Reservasi Kapasitas dikonfigurasi sebagai `open` atau `targeted`. Armada EC2 dapat meluncurkan Instans Sesuai Permintaan ke dalam Reservasi Kapasitas `open` atau `targeted`, sebagai berikut:
+ Jika Reservasi Kapasitas adalah `open`, Instans Sesuai Permintaan yang memiliki atribut yang cocok secara otomatis akan berjalan dalam kapasitas terpesan.
+ Jika Reservasi Kapasitas adalah `targeted`, Instans Sesuai Permintaan harus secara khusus menargetkannya untuk dijalankan dalam kapasitas terpesan. Hal ini berguna untuk menggunakan Reservasi Kapasitas tertentu atau untuk mengontrol kapan harus menggunakan Reservasi Kapasitas tertentu. 

Jika Anda menggunakan Reservasi Kapasitas `targeted` di Armada EC2, harus ada Reservasi Kapasitas yang cukup untuk memenuhi kapasitas target Sesuai Permintaan, atau peluncuran gagal. Untuk menghindari kegagalan peluncuran, lebih baik tambahkan Reservasi Kapasitas `targeted` ke grup sumber daya, lalu targetkan grup sumber daya tersebut. Grup sumber daya tidak perlu memiliki cukup Reservasi Kapasitas; jika kehabisan Reservasi Kapasitas sebelum kapasitas target Sesuai Permintaan terpenuhi, armada dapat meluncurkan kapasitas target yang tersisa ke dalam kapasitas Sesuai Permintaan reguler.

**Untuk menggunakan Reservasi Kapasitas dengan Armada EC2**

1. Konfigurasikan armada sebagai tipe `instant`. Anda tidak dapat menggunakan Reservasi Kapasitas untuk armada tipe lain.

1. Konfigurasikan strategi penggunaan untuk Reservasi Kapasitas sebagai `use-capacity-reservations-first`.

1. Pada templat peluncuran, untuk **Reservasi kapasitas**, pilih **Buka** atau **Target berdasarkan grup**. Jika Anda memilih **Target berdasarkan grup**, tentukan ID grup sumber daya Reservasi Kapasitas.

Ketika armada mencoba untuk memenuhi kapasitas Sesuai Permintaan, jika armada menemukan bahwa lebih dari satu kolam instans memiliki Reservasi Kapasitas yang cocok yang tidak terpakai, armada akan menentukan kolam yang akan digunakan untuk meluncurkan Instans Sesuai Permintaan berdasarkan strategi alokasi Sesuai Permintaan (`lowest-price` atau `prioritized`).

**Sumber daya terkait**
+ Untuk contoh CLI tentang cara mengonfigurasi armada untuk menggunakan Reservasi Kapasitas untuk memenuhi kapasitas Sesuai Permintaan, lihat[Contoh konfigurasi CLI untuk Armada EC2](ec2-fleet-examples.md), khususnya Contoh 5 hingga 7.
+ Untuk tutorial yang membawa Anda melalui langkah-langkah untuk membuat Reservasi Kapasitas, menggunakannya di armada Anda, dan melihat berapa banyak Reservasi Kapasitas yang tersisa, lihat [Tutorial: Konfigurasikan Armada EC2 untuk meluncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md)
+ Untuk informasi tentang mengonfigurasi Reservasi Kapasitas, lihat [Cadangan kapasitas komputasi dengan Reservasi Kapasitas Sesuai Permintaan EC2](ec2-capacity-reservations.md) dan Reservasi Kapasitas [Sesuai Permintaan](https://aws.amazon.com/ec2/faqs/#On-Demand_Capacity_Reservation). FAQs

# Bekerja dengan Armada EC2
<a name="manage-ec2-fleet"></a>

Untuk mulai menggunakan Armada EC2, buat permintaan yang mencakup total kapasitas target, kapasitas Sesuai Permintaan, kapasitas Spot, dan templat peluncuran yang menentukan konfigurasi untuk instans dalam armada. Anda dapat menentukan parameter tambahan secara opsional, atau membiarkan armada menggunakan nilai default. Anda juga dapat menandai permintaan armada, serta instance dan volumenya, saat Anda membuat armada.

Armada meluncurkan Instans Sesuai Permintaan ketika ada kapasitas yang tersedia, dan meluncurkan Instans Spot ketika harga maksimum Anda melebihi harga Spot dan kapasitas yang tersedia.

Setelah armada Anda diluncurkan, Anda dapat menjelaskan permintaan armada, instance dalam armada, dan peristiwa armada apa pun. Anda juga dapat menetapkan tag tambahan sesuai kebutuhan.

Jika Anda perlu mengubah parameter armada apa pun, seperti total kapasitas target, Anda dapat memodifikasi armada, asalkan dikonfigurasi untuk mempertahankan kapasitas. Anda tidak dapat mengubah kapasitas permintaan satu kali setelah dikirimkan.

Permintaan armada tetap aktif sampai habis masa berlakunya atau Anda menghapusnya. Saat menghapus permintaan armada, Anda dapat menghentikan instance atau membiarkannya berjalan. Jika Anda memilih untuk membiarkannya berjalan, Instans Sesuai Permintaan berjalan hingga Anda menghentikannya, dan Instans Spot berjalan hingga terputus atau Anda menghentikannya.

**Topics**
+ [Status permintaan Armada EC2](EC2-fleet-states.md)
+ [Prasyarat Armada EC2](ec2-fleet-prerequisites.md)
+ [Membuat Armada EC2](create-ec2-fleet.md)
+ [Tandai permintaan Armada EC2 baru atau yang sudah ada serta instans serta volume yang diluncurkan](tag-ec2-fleet.md)
+ [Jelaskan Armada EC2, instance-nya, dan kejadiannya](describe-ec2-fleet.md)
+ [Memodifikasi Armada EC2](modify-ec2-fleet.md)
+ [Menghapus permintaan Armada EC2 dan instans di armada](delete-fleet.md)

# Status permintaan Armada EC2
<a name="EC2-fleet-states"></a>

Permintaan Armada EC2 dapat berupa salah satu dari berbagai status, dengan setiap status menunjukkan tahapan siklus hidup permintaan yang berbeda dan pengelolaan instansnya.

Permintaan Armada EC2 dapat berada dalam salah satu status berikut:

`submitted`  
Permintaan Armada EC2 sedang dievaluasi dan Amazon EC2 sedang bersiap untuk meluncurkan jumlah target instans. Jika permintaan melebihi batas armada Anda, permintaan akan segera dihapus.

`active`  
Armada EC2 telah divalidasi dan Amazon EC2 berupaya untuk mempertahankan jumlah target dari instans yang sedang berjalan. Permintaan tetap berada dalam status ini sampai dimodifikasi atau dihapus.

`modifying`  
Permintaan Armada EC2 sedang dimodifikasi. Permintaan tetap berada dalam status ini sampai modifikasi diproses sepenuhnya atau permintaan dihapus. Hanya tipe armada `maintain` yang dapat dimodifikasi. Status ini tidak berlaku untuk tipe permintaan lain.

`deleted_running`  
Permintaan Armada EC2 dihapus dan tidak meluncurkan Instans Spot tambahan. Instans yang ada terus berjalan sampai diinterupsi atau diakhiri secara manual. Permintaan tetap berada dalam status ini sampai semua instans diinterupsi atau diakhiri. Hanya tipe Armada EC2 `maintain` atau `request` yang dapat menjalankan instans setelah permintaan Armada EC2 dihapus. Armada `instant` yang dihapus dengan instans yang sedang berjalan tidak didukung. Status ini tidak berlaku untuk armada `instant`.

`deleted_terminating`  
Permintaan Armada EC2 dihapus dan instansnya diakhiri. Permintaan tetap dalam keadaan ini sampai semua contoh dihentikan.

`deleted`  
Permintaan Armada EC2 dihapus dan tidak ada instans yang berjalan. Permintaan tersebut dihapus dua hari setelah instansnya diakhiri.

# Prasyarat Armada EC2
<a name="ec2-fleet-prerequisites"></a>

**Topics**
+ [Luncurkan templat](#ec2-fleet-prerequisites-launch-template)
+ [Peran tertaut layanan untuk Armada EC2](#ec2-fleet-service-linked-role)
+ [Berikan akses ke kunci yang dikelola pelanggan untuk digunakan dengan snapshot terenkripsi AMIs dan EBS](#ec2-fleet-service-linked-roles-access-to-cmks)
+ [Izin untuk pengguna Armada EC2](#ec2-fleet-iam-users)

## Luncurkan templat
<a name="ec2-fleet-prerequisites-launch-template"></a>

Template peluncuran menentukan informasi konfigurasi tentang instance yang akan diluncurkan, seperti jenis instance dan Availability Zone. Untuk informasi selengkapnya tentang template peluncuran, lihat[Simpan parameter peluncuran instans di templat peluncuran Amazon EC2](ec2-launch-templates.md).

## Peran tertaut layanan untuk Armada EC2
<a name="ec2-fleet-service-linked-role"></a>

Peran `AWSServiceRoleForEC2Fleet` memberikan izin kepada Armada EC2 untuk meminta, meluncurkan, mengakhiri, dan menandai instans atas nama Anda. Amazon EC2 menggunakan peran tertaut layanan ini untuk menyelesaikan tindakan berikut:
+ `ec2:RunInstances` – Meluncurkan instans.
+ `ec2:RequestSpotInstances` – Meminta Instans Spot.
+ `ec2:TerminateInstances` – Mengakhiri instans.
+ `ec2:DescribeImages`— Jelaskan Amazon Machine Images (AMIs) untuk instance.
+ `ec2:DescribeInstanceStatus`— Jelaskan status instance.
+ `ec2:DescribeSubnets`— Jelaskan subnet untuk contoh.
+ `ec2:CreateTags` – Menambahkan tanda ke Armada, instans, dan volume EC2.

Pastikan peran ini ada sebelum Anda menggunakan AWS CLI atau API untuk membuat Armada EC2.

**catatan**  
Armada EC2 `instant` tidak membutuhkan peran ini.

Untuk membuat peran, gunakan konsol IAM sebagai berikut.

**Untuk membuat AWSServiceRoleForEC2Fleet peran untuk Armada EC2**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**.

1. Pilih **Buat peran**.

1. Pada halaman **Pilih entitas tepercaya**, lakukan hal berikut:

   1. Untuk **jenis entitas Tepercaya**, pilih **AWS layanan**.

   1. Di bawah **Kasus penggunaan**, untuk **Layanan atau kasus penggunaan**, pilih **EC2 - Armada**.
**Tip**  
Pastikan untuk memilih **EC2 - Armada**. Jika Anda memilih **EC2**, kasus penggunaan **EC2 - Armada** tidak muncul dalam daftar **Kasus penggunaan**. **EC2 - Kasus penggunaan Armada** akan secara otomatis membuat kebijakan dengan izin IAM yang diperlukan dan akan menyarankan **AWSServiceRoleForEC2Armada sebagai nama** peran.

   1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, pilih **Buat peran**.

Jika Anda tidak perlu lagi menggunakan Armada EC2, kami sarankan Anda menghapus peran **AWSServiceRoleForEC2Armada**. Setelah peran ini dihapus dari akun Anda, Anda dapat membuat peran tersebut kembali jika Anda membuat armada lain.

Untuk informasi selengkapnya, lihat [Peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) di Panduan Pengguna *IAM*.

## Berikan akses ke kunci yang dikelola pelanggan untuk digunakan dengan snapshot terenkripsi AMIs dan EBS
<a name="ec2-fleet-service-linked-roles-access-to-cmks"></a>

**Jika Anda menentukan [AMI terenkripsi](AMIEncryption.md) atau snapshot Amazon EBS terenkripsi di Armada EC2 dan Anda menggunakan AWS KMS kunci untuk enkripsi, Anda harus memberikan AWSService RoleFor EC2 izin peran Armada untuk menggunakan kunci yang dikelola pelanggan sehingga Amazon EC2 dapat meluncurkan instans atas nama Anda.** Untuk melakukannya, Anda harus menambahkan pemberian izin ke kunci yang dikelola pelanggan, seperti yang ditunjukkan dalam prosedur berikut.

Ketika memberikan izin, pemberian izin merupakan alternatif dari kebijakan kunci. Untuk informasi selengkapnya, lihat [Menggunakan pemberian izin](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) dan [Menggunakan kebijakan kunci di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dalam *Panduan Developer AWS Key Management Service *.

**Untuk memberikan izin peran AWSService RoleFor EC2 Armada untuk menggunakan kunci terkelola pelanggan**
+ Gunakan perintah [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) untuk menambahkan hibah ke kunci yang dikelola pelanggan dan untuk menentukan prinsipal (peran terkait layanan **AWSServiceRoleForEC2Armada**) yang diberikan izin untuk melakukan operasi yang diizinkan hibah. Kunci yang dikelola pelanggan ditentukan oleh parameter `key-id` dan ARN kunci yang dikelola pelanggan. Prinsipal ditentukan oleh `grantee-principal` parameter dan ARN dari peran terkait layanan **AWSServiceRoleForEC2Armada**.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/AWSServiceRoleForEC2Fleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Izin untuk pengguna Armada EC2
<a name="ec2-fleet-iam-users"></a>

Jika pengguna Anda akan membuat atau mengelola Armada EC2, pastikan untuk memberikan izin kepada pengguna.

**Untuk membuat kebijakan Armada EC2**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Kebijakan**.

1. Pilih **Buat kebijakan**.

1. Di halaman **Buat kebijakan**, pilih tab **JSON**, ganti teks dengan berikut ini, dan pilih **Tinjau kebijakan**.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:*"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": [
                 "iam:ListRoles",
                 "iam:PassRole",
                 "iam:ListInstanceProfiles"
               ],
               "Resource":"arn:aws:iam::123456789012:role/DevTeam*"
           }
       ]
   }
   ```

------

   `ec2:*` memberikan izin kepada pengguna untuk memanggil semua tindakan API Amazon EC2. Untuk membatasi pengguna pada tindakan API Amazon EC2 tertentu, tentukan tindakan tersebut.

   Pengguna harus memiliki izin untuk memanggil tindakan `iam:ListRoles` untuk melakukan enumerasi peran IAM yang sudah ada, tindakan `iam:PassRole` untuk menentukan peran Armada EC2, dan tindakan `iam:ListInstanceProfiles` untuk melakukan enumerasi profil instans yang sudah ada.

   (Opsional) Untuk memungkinkan pengguna membuat peran atau profil instans menggunakan konsol IAM, Anda juga harus menambahkan tindakan berikut ke kebijakan:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Pada halaman **Tinjau kebijakan**, masukkan nama dan deskripsi kebijakan, dan pilih **Buat kebijakan**.

1. Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
   + Pengguna dan grup di AWS IAM Identity Center:

     Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
   + Pengguna yang dikelola di IAM melalui penyedia identitas:

     Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
   + Pengguna IAM:
     + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
     + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

# Membuat Armada EC2
<a name="create-ec2-fleet"></a>

Untuk membuat Armada EC2, tentukan konfigurasi armada dalam file JSON dan referensikan file dengan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html). 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](ec2-fleet-configuration-strategies.md).

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 jenisnya`maintain`, Amazon EC2 akan berusaha mempertahankan kapasitas target armada Anda saat Instans Spot Anda terganggu.

## Batasan Armada EC2
<a name="EC2-fleet-limitations"></a>

Batasan berikut berlaku untuk Armada EC2:
+ Membuat Armada EC2 hanya tersedia melalui [Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html) API [AWS CLI](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html),, [AWS SDKs](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateFleet.html#API_CreateFleet_SeeAlso), dan. [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-ec2-ec2fleet.html)
+ 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
<a name="create-ec2-fleet-procedure"></a>

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:
+ `LaunchTemplateId`atau `LaunchTemplateName` — 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](ec2-fleet-attribute-based-instance-type-selection.md).

Untuk jenis Armada EC2`instant`, 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](create-launch-template.md#use-an-ssm-parameter-instead-of-an-ami-id).

Anda dapat menentukan parameter armada dalam file JSON. Untuk informasi tentang semua parameter yang mungkin dapat Anda tentukan, lihat[Lihat semua opsi konfigurasi Armada EC2](#ec2-fleet-cli-skeleton). 

Untuk contoh konfigurasi armada, lihat[Contoh konfigurasi CLI untuk Armada EC2](ec2-fleet-examples.md).

Saat ini tidak ada dukungan konsol untuk membuat Armada EC2.

**Untuk membuat Armada EC2**  
Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) 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
<a name="ec2-fleet-health-checks"></a>

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](monitoring-system-instance-status-check.md).

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 tipe `request` atau `instant`.
+ 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**

1. Gunakan informasi untuk membuat Armada EC2 di[Membuat Armada EC2](#create-ec2-fleet-procedure).

1. Untuk mengonfigurasi armada untuk mengganti Instans Spot yang tidak sehat, dalam file JSON, untuk`ReplaceUnhealthyInstances`, tentukan. `true` 

## Lihat semua opsi konfigurasi Armada EC2
<a name="ec2-fleet-cli-skeleton"></a>

Untuk melihat daftar lengkap parameter konfigurasi Armada EC2, Anda dapat membuat file JSON. Untuk deskripsi setiap parameter, lihat [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

**Untuk menghasilkan file JSON dengan semua kemungkinan parameter Armada EC2**  
Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) (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": ""
}
```

# Tandai permintaan Armada EC2 baru atau yang sudah ada serta instans serta volume yang diluncurkan
<a name="tag-ec2-fleet"></a>

Untuk membantu mengkategorikan dan mengelola permintaan Armada EC2 serta instans serta volume yang diluncurkan, Anda dapat menandainya dengan metadata khusus. Anda dapat menetapkan tanda untuk permintaan Armada EC2 saat membuatnya, atau sesudahnya. Demikian pula, Anda dapat menetapkan tag ke instance dan volume saat diluncurkan oleh armada, atau sesudahnya.

Saat Anda menandai permintaan armada, instans dan volume yang diluncurkan oleh armada tidak ditandai secara otomatis. Anda perlu menandai instans dan volume yang diluncurkan oleh armada secara eksplisit. Anda dapat memilih untuk menetapkan tag hanya untuk permintaan armada, atau hanya instans yang diluncurkan oleh armada, atau hanya volume yang dilampirkan pada instans yang diluncurkan oleh armada, atau semuanya.

**catatan**  
Untuk tipe armada `instant`, Anda dapat menandai volume yang dilampirkan ke Instans Sesuai Permintaan dan Instans Spot. Untuk tipe armada `request` atau `maintain`, Anda hanya dapat menandai volume yang dilampirkan ke Instans Sesuai Permintaan.

Untuk informasi selengkapnya tentang cara kerja tag, lihat [Tandai sumber daya Amazon EC2 Anda](Using_Tags.md).

**Prasyarat**

Berikan izin kepada pengguna untuk menandai sumber daya. Untuk informasi selengkapnya, lihat [Contoh: Memberi tanda pada sumber daya](ExamplePolicies_EC2.md#iam-example-taggingresources).

**Berikan izin kepada pengguna untuk menandai sumber daya**  
Buat kebijakan IAM yang mencakup hal-hal berikut:
+ Tindakan `ec2:CreateTags`. Tindakan ini memberikan izin kepada pengguna untuk membuat tanda.
+ Tindakan `ec2:CreateFleet`. Tindakan ini memberikan izin kepada pengguna untuk membuat permintaan Armada EC2.
+ Untuk `Resource`, kami sarankan Anda menentukan `"*"`. Tindakan ini memungkinkan pengguna untuk menandai semua tipe sumber daya.

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti instruksi dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam Panduan *Pengguna IAM*.

**Untuk menandai permintaan Armada EC2 baru**  
Untuk menandai permintaan Armada EC2 saat Anda membuatnya, tentukan pasangan kunci-nilai di [file JSON](create-ec2-fleet.md#ec2-fleet-cli-skeleton) yang digunakan untuk membuat armada. Nilai untuk `ResourceType` harus `fleet`. Jika Anda menentukan nilai lain, permintaan armada akan gagal.

**Untuk menandai instans dan volume yang diluncurkan oleh Armada EC2**  
Untuk menandai instans dan volume saat diluncurkan oleh armada tersebut, tentukan tanda di [luncurkan templat](create-launch-template.md) yang direferensikan dalam permintaan Armada EC2.

**catatan**  
Anda tidak dapat menandai volume yang dilampirkan ke Instans Spot yang diluncurkan oleh tipe armada `request` atau `maintain`.

**Untuk menandai permintaan, instans, dan volume Armada EC2 yang ada**  
Gunakan perintah [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) untuk menandai sumber daya yang ada.

```
aws ec2 create-tags \
    --resources fleet-12a34b55-67cd-8ef9-ba9b-9208dEXAMPLE i-1234567890abcdef0 vol-1234567890EXAMPLE \
    --tags Key=purpose,Value=test
```

# Jelaskan Armada EC2, instance-nya, dan kejadiannya
<a name="describe-ec2-fleet"></a>

Anda dapat menjelaskan konfigurasi Armada EC2, instans di Armada EC2, dan riwayat peristiwa Armada EC2.

**Topics**
+ [Jelaskan Armada EC2 Anda](#describe-all-ec2-fleets)
+ [Jelaskan semua instans di Armada EC2 Anda](#describe-instances-in-ec2-fleet)
+ [Jelaskan riwayat acara untuk Armada EC2 Anda](#describe-ec2-fleet-event-history)

## Jelaskan Armada EC2 Anda
<a name="describe-all-ec2-fleets"></a>

------
#### [ AWS CLI ]

**Untuk menggambarkan Armada EC2 Anda**  
Gunakan [perintah deskripsi-armada](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleets.html).

```
aws ec2 describe-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

Berikut ini adalah output contoh.

```
{
    "Fleets": [
        {
            "ActivityStatus": "fulfilled",
            "CreateTime": "2022-02-09T03:35:52+00:00",
            "FleetId": "fleet-364457cd-3a7a-4ed9-83d0-7b63e51bb1b7",
            "FleetState": "active",
            "ExcessCapacityTerminationPolicy": "termination",
            "FulfilledCapacity": 2.0,
            "FulfilledOnDemandCapacity": 0.0,
            "LaunchTemplateConfigs": [
                {
                    "LaunchTemplateSpecification": {
                        "LaunchTemplateName": "my-launch-template",
                        "Version": "$Latest"
                    }
                }
            ],
            "TargetCapacitySpecification": {
                "TotalTargetCapacity": 2,
                "OnDemandTargetCapacity": 0,
                "SpotTargetCapacity": 2,
                "DefaultTargetCapacityType": "spot"
            },
            "TerminateInstancesWithExpiration": false,
            "Type": "maintain",
            "ReplaceUnhealthyInstances": false,
            "SpotOptions": {
                "AllocationStrategy": "capacity-optimized",
                "InstanceInterruptionBehavior": "terminate"
            },
            "OnDemandOptions": {
                "AllocationStrategy": "lowestPrice"
            }
        }
    ]
}
```

------
#### [ PowerShell ]

**Untuk menggambarkan Armada EC2 Anda**  
Gunakan [Get-EC2FleetList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetList.html)cmdlet.

```
Get-EC2FleetList `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

------

## Jelaskan semua instans di Armada EC2 Anda
<a name="describe-instances-in-ec2-fleet"></a>

Daftar instans yang sedang berjalan yang dikembalikan diperbarui secara berkala dan mungkin sudah lawas.

------
#### [ AWS CLI ]

**Untuk menjelaskan instance untuk Armada EC2 yang ditentukan**  
Gunakan perintah [describe-fleet-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleet-instances.html).

```
aws ec2 describe-fleet-instances \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

Berikut ini adalah output contoh.

```
{
    "ActiveInstances": [
        {
            "InstanceId": "i-09cd595998cb3765e", 
            "InstanceHealth": "healthy", 
            "InstanceType": "m4.large", 
            "SpotInstanceRequestId": "sir-86k84j6p"
        }, 
        {
            "InstanceId": "i-09cf95167ca219f17", 
            "InstanceHealth": "healthy", 
            "InstanceType": "m4.large", 
            "SpotInstanceRequestId": "sir-dvxi7fsm"
        }
    ], 
    "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
}
```

------
#### [ PowerShell ]

**Untuk menjelaskan instance untuk Armada EC2 yang ditentukan**  
Gunakan [Get-EC2FleetInstanceList](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetInstanceList.html)cmdlet.

```
Get-EC2FleetInstanceList `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

------

## Jelaskan riwayat acara untuk Armada EC2 Anda
<a name="describe-ec2-fleet-event-history"></a>

Untuk informasi lebih lanjut tentang peristiwa dalam sejarah acara, lihat[Jenis acara Armada EC2](monitor-ec2-fleet-using-eventbridge.md#ec2-fleet-event-types).

------
#### [ AWS CLI ]

**Untuk menggambarkan peristiwa untuk Armada EC2 yang ditentukan**  
Gunakan perintah [describe-fleet-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-fleet-history.html).

```
aws ec2 describe-fleet-history \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --start-time 2020-06-01T00:00:00Z
```

Berikut ini adalah output contoh.

```
{
    "HistoryRecords": [
        {
            "EventInformation": {
                "EventSubType": "submitted"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:05.000Z"
        },
        {
            "EventInformation": {
                "EventSubType": "active"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:15.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "t2.small, ami-07c8bc5c1ce9598c3, ...",
                "EventSubType": "progress"
            },
            "EventType": "fleetRequestChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "{\"instanceType\":\"t2.small\", ...}",
                "EventSubType": "launched",
                "InstanceId": "i-083a1c446e66085d2"
            },
            "EventType": "instanceChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        },
        {
            "EventInformation": {
                "EventDescription": "{\"instanceType\":\"t2.small\", ...}",
                "EventSubType": "launched",
                "InstanceId": "i-090db02406cc3c2d6"
            },
            "EventType": "instanceChange",
            "Timestamp": "2020-09-01T18:26:17.000Z"
        }
    ], 
    "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", 
    "LastEvaluatedTime": "1970-01-01T00:00:00.000Z", 
    "StartTime": "2020-06-01T00:00:00.000Z"
}
```

------
#### [ PowerShell ]

**Untuk menggambarkan peristiwa untuk Armada EC2 yang ditentukan**  
Gunakan [Get-EC2FleetHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2FleetHistory.html)cmdlet.

```
Get-EC2FleetHistory `
    -FleetId fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE `
    -UtcStartTime 2020-06-01T00:00:00Z
```

------

# Memodifikasi Armada EC2
<a name="modify-ec2-fleet"></a>

Anda dapat memodifikasi total kapasitas target, kapasitas Spot, dan kapasitas On-Demand dari Armada EC2. Anda juga dapat mengubah apakah instans yang sedang berjalan harus dihentikan jika total kapasitas target baru dikurangi di bawah ukuran armada saat ini.

## Pertimbangan-pertimbangan
<a name="modify-ec2-fleet-considerations"></a>

Pertimbangkan hal berikut saat memodifikasi Armada EC2:
+ **Jenis armada** — Anda hanya dapat memodifikasi tipe `maintain` Armada EC2. Anda tidak dapat memodifikasi jenis Armada EC2 `request` atau`instant`.
+ **Parameter armada** — Anda dapat memodifikasi parameter Armada EC2 berikut:
  + `target-capacity-specification`Meningkatkan atau mengurangi kapasitas target untuk:
    + `TotalTargetCapacity`
    + `OnDemandTargetCapacity`
    + `SpotTargetCapacity`
  + `excess-capacity-termination-policy` – Apakah instans yang sedang berjalan harus diakhiri jika total kapasitas target Armada EC2 turun di bawah ukuran armada saat ini. Nilai yang valid adalah:
    + `no-termination`
    + `termination`
+ **Perilaku armada saat meningkatkan kapasitas target total** [— Saat Anda meningkatkan kapasitas target total, Armada EC2 meluncurkan instans tambahan sesuai dengan opsi pembelian instans yang ditentukan`DefaultTargetCapacityType`, yaitu Instans Sesuai Permintaan atau Instans Spot, dan sesuai dengan strategi alokasi yang ditentukan.](ec2-fleet-allocation-strategy.md)
+ **Perilaku armada saat mengurangi kapasitas target Spot** — Saat Anda mengurangi kapasitas target Spot, Armada EC2 menghapus permintaan terbuka yang melebihi kapasitas target baru. Anda dapat meminta agar armada menghentikan Instans Spot hingga ukuran armada mencapai kapasitas target baru. Saat Armada EC2 mengakhiri Instans Spot karena kapasitas target berkurang, instans tersebut akan menerima pemberitahuan gangguan Instans Spot.

  Instans dipilih untuk penghentian berdasarkan strategi alokasi:
  + `capacity-optimized`— Mengakhiri instance dari kumpulan dengan kapasitas paling sedikit yang tersedia.
  + `price-capacity-optimized`— Menggunakan kombinasi harga dan kapasitas yang tersedia: menghentikan instance dari kolam dengan kapasitas paling sedikit yang tersedia dan yang merupakan harga tertinggi di antara kumpulan ini.
  + `diversified`— Mengakhiri instance di semua kumpulan.
  + `lowest-price`— Mengakhiri instance dari pool dengan harga tertinggi.

  Atau, Anda dapat meminta Armada EC2 menjaga armada pada ukuran saat ini, tetapi tidak mengganti Instans Spot yang terputus atau yang Anda hentikan secara manual.
+ **Status armada** - Anda dapat memodifikasi Armada EC2 yang ada di `active` negara bagian `submitted` atau. Saat Anda memodifikasi armada, maka armada tersebut memasuki status `modifying`.

## Perintah untuk memodifikasi Armada EC2
<a name="modify-ec2-fleet-commands"></a>

------
#### [ AWS CLI ]

**Untuk memodifikasi total kapasitas target Armada EC2**  
Gunakan perintah [modify-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-fleet.html).

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=20
```

Jika Anda mengurangi kapasitas target tetapi ingin menjaga armada pada ukuran saat ini, Anda dapat memodifikasi contoh sebelumnya sebagai berikut.

```
aws ec2 modify-fleet \
    --fleet-id fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity-specification TotalTargetCapacity=10 \
    --excess-capacity-termination-policy no-termination
```

------
#### [ PowerShell ]

**Untuk memodifikasi total kapasitas target Armada EC2**  
Gunakan [Edit-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2Fleet.html)cmdlet.

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20
```

Jika Anda mengurangi kapasitas target tetapi ingin menjaga armada pada ukuran saat ini, Anda dapat memodifikasi contoh sebelumnya sebagai berikut.

```
Edit-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacitySpecification_TotalTargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------

# Menghapus permintaan Armada EC2 dan instans di armada
<a name="delete-fleet"></a>

Jika Anda tidak lagi memerlukan permintaan Armada EC2, Anda dapat menghapusnya. Setelah Anda menghapus permintaan armada, semua permintaan Spot yang terkait dengan armada dibatalkan, sehingga tidak ada Instans Spot baru yang diluncurkan.

Ketika Anda menghapus permintaan Armada EC2, Anda juga harus menentukan apakah Anda ingin menghentikan semua instance-nya. Instans tersebut mencakup Instans Sesuai Permintaan dan Instans Spot. Untuk `instant` armada, Armada EC2 harus menghentikan instans saat armada dihapus. Armada `instant` yang dihapus dengan instans yang sedang berjalan tidak didukung.

**Awas**  
**Mengakhiri sebuah instance bersifat permanen dan ireversibel.**  
Setelah Anda menghentikan sebuah instance, Anda tidak dapat lagi terhubung dengannya, dan itu tidak dapat dipulihkan. Semua volume Amazon EBS terlampir yang dikonfigurasi untuk dihapus saat penghentian juga dihapus secara permanen dan tidak dapat dipulihkan. Semua data yang disimpan pada volume penyimpanan instance hilang secara permanen. Untuk informasi selengkapnya, lihat [Cara kerja penghentian instance](how-ec2-instance-termination-works.md).  
Sebelum menghentikan instans, pastikan bahwa Anda telah mencadangkan semua data yang perlu disimpan setelah penghentian penyimpanan persisten.

Jika Anda menentukan bahwa instans harus dihentikan saat permintaan armada dihapus, permintaan armada memasuki negara bagian`deleted_terminating`. Jika tidak, armada masuk ke status `deleted_running` dan instans terus berjalan hingga diinterupsi atau Anda mengakhirinya secara manual.

**Pembatasan**
+ Anda dapat menghapus hingga 25 armada tipe `instant` dalam satu operasi.
+ Anda dapat menghapus hingga 100 armada tipe `maintain` atau `request` dalam satu operasi.
+ Anda dapat menghapus hingga 125 armada dalam satu operasi, asalkan Anda tidak melebihi kuota untuk setiap jenis armada, seperti yang ditentukan di atas.
+ Jika Anda melebihi jumlah armada yang ditentukan untuk dihapus, tidak ada armada yang dihapus.
+ Armada `instant` yang dihapus dengan instans yang sedang berjalan tidak didukung. Saat Anda menghapus `instant` armada, Amazon EC2 secara otomatis menghentikan semua instansnya. Untuk `instant` armada dengan lebih dari 1000 instance, permintaan penghapusan mungkin gagal. Jika armada Anda memiliki lebih dari 1000 instans, pertama-tama hentikan sebagian besar instance secara manual, sisakan 1000 atau kurang. Kemudian hapus armada, dan instance yang tersisa akan dihentikan secara otomatis.

------
#### [ AWS CLI ]

**Untuk menghapus permintaan Armada EC2 dan menghentikan instance-nya**  
Gunakan perintah [hapus-armada](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-fleets.html) dengan opsi. `--terminate-instances`

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

Berikut ini adalah output contoh.

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_terminating", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
        }
    ]
}
```

**Untuk menghapus permintaan Armada EC2 tanpa menghentikan instance-nya**  
Ubah contoh sebelumnya dengan menggunakan `--no-terminate-instances` opsi sebagai gantinya. Perhatikan bahwa `--no-terminate-instances` tidak didukung untuk `instant` armada.

```
aws ec2 delete-fleets \
    --fleet-ids fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

Berikut ini adalah output contoh.

```
{
    "UnsuccessfulFleetDeletions": [], 
    "SuccessfulFleetDeletions": [
        {
            "CurrentFleetState": "deleted_running", 
            "PreviousFleetState": "active", 
            "FleetId": "fleet-4b8aaae8-dfb5-436d-a4c6-3dafa4c6b7dcEXAMPLE"
        }
    ]
}
```

------
#### [ PowerShell ]

**Untuk menghapus permintaan Armada EC2 dan menghentikan instance-nya**  
Gunakan [Remove-EC2Fleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Fleet.html)cmdlet dengan parameter. `-TerminateInstance`

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**Untuk menghapus permintaan Armada EC2 tanpa menghentikan instance-nya**  
Ubah contoh sebelumnya dengan mengubah nilai `-TerminateInstance` parameter.

```
Remove-EC2Fleet `
    -FleetId "fleet-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

## Memecahkan masalah saat armada gagal dihapus
<a name="troubleshoot-delete-fleet"></a>

Jika permintaan Armada EC2 gagal dihapus, `UnsuccessfulFleetDeletions` dalam output mengembalikan ID permintaan Armada EC2, kode kesalahan, dan pesan kesalahan.

Kode kesalahannya adalah:
+ `ExceededInstantFleetNumForDeletion`
+ `fleetIdDoesNotExist`
+ `fleetIdMalformed`
+ `fleetNotInDeletableState`
+ `NoTerminateInstancesNotSupported`
+ `UnauthorizedOperation`
+ `unexpectedError`

**Pecahkan masalah `ExceededInstantFleetNumForDeletion`**  
Jika Anda mencoba menghapus lebih dari 25 armada `instant` dalam satu permintaan, kesalahan `ExceededInstantFleetNumForDeletion` akan dikembalikan. Berikut adalah contoh output untuk kesalahan ini.

```
{
    "UnsuccessfulFleetDeletions": [
     {
          "FleetId": " fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
          "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
           }
     },
     {
           "FleetId": "fleet-9a941b23-0286-5bf4-2430-03a029a07e31",
           "Error": {
                  "Message": "Can’t delete more than 25 instant fleets in a single request.",
                  "Code": "ExceededInstantFleetNumForDeletion"
            }
     }
     .
     .
     .
     ],
     "SuccessfulFleetDeletions": []
}
```

**Pecahkan masalah `NoTerminateInstancesNotSupported`**  
Jika Anda menentukan bahwa instans dalam armada `instant` tidak boleh diakhiri saat menghapus armada, kesalahan `NoTerminateInstancesNotSupported` akan dikembalikan. `--no-terminate-instances` tidak didukung untuk armada `instant`. Berikut adalah contoh output untuk kesalahan ini.

```
{
      "UnsuccessfulFleetDeletions": [
            {
                  "FleetId": "fleet-5d130460-0c26-bfd9-2c32-0100a098f625",
                  "Error": {
                          "Message": "NoTerminateInstances option is not supported for instant fleet",
                          "Code": "NoTerminateInstancesNotSupported"
                   }
            }
       ],
       "SuccessfulFleetDeletions": []
}
```

**Pecahkan masalah `UnauthorizedOperation`**  
Jika Anda tidak memiliki izin untuk mengakhiri instans, Anda akan mendapatkan kesalahan `UnauthorizedOperation` saat menghapus armada yang harus mengakhiri instansnya. Berikut ini adalah respons kesalahannya.

```
<Response><Errors><Error><Code>UnauthorizedOperation</Code><Message>You are not authorized to perform this 
operation. Encoded authorization failure message: VvuncIxj7Z_CPGNYXWqnuFV-YjByeAU66Q9752NtQ-I3-qnDLWs6JLFd
KnSMMiq5s6cGqjjPtEDpsnGHzzyHasFHOaRYJpaDVravoW25azn6KNkUQQlFwhJyujt2dtNCdduJfrqcFYAjlEiRMkfDHt7N63SKlweKUl
BHturzDK6A560Y2nDSUiMmAB1y9UNtqaZJ9SNe5sNxKMqZaqKtjRbk02RZu5V2vn9VMk6fm2aMVHbY9JhLvGypLcMUjtJ76H9ytg2zRlje
VPiU5v2s-UgZ7h0p2yth6ysUdhlONg6dBYu8_y_HtEI54invCj4CoK0qawqzMNe6rcmCQHvtCxtXsbkgyaEbcwmrm2m01-EMhekLFZeJLr
DtYOpYcEl4_nWFX1wtQDCnNNCmxnJZAoJvb3VMDYpDTsxjQv1PxODZuqWHs23YXWVywzgnLtHeRf2o4lUhGBw17mXsS07k7XAfdPMP_brO
PT9vrHtQiILor5VVTsjSPWg7edj__1rsnXhwPSu8gI48ZLRGrPQqFq0RmKO_QIE8N8s6NWzCK4yoX-9gDcheurOGpkprPIC9YPGMLK9tug
</Message></Error></Errors><RequestID>89b1215c-7814-40ae-a8db-41761f43f2b0</RequestID></Response>
```

Untuk mengatasi kesalahan tersebut, Anda harus menambahkan tindakan `ec2:TerminateInstances` ke kebijakan IAM, seperti yang ditunjukkan pada contoh berikut.

# Bekerja dengan Armada Spot
<a name="work-with-spot-fleets"></a>

Untuk mulai menggunakan Armada Spot, buat permintaan yang mencakup total kapasitas target untuk Instans Spot, bagian Sesuai Permintaan opsional, dan tentukan AMI dan key pair secara manual, atau tentukan templat peluncuran yang menyertakan konfigurasi untuk instance di armada. Anda dapat menentukan parameter tambahan secara opsional, atau membiarkan armada menggunakan nilai default. Anda juga dapat menandai permintaan armada, serta instance dan volumenya, saat Anda membuat armada.

Armada meluncurkan Instans Sesuai Permintaan ketika ada kapasitas yang tersedia, dan meluncurkan Instans Spot ketika harga maksimum Anda melebihi harga Spot dan kapasitas yang tersedia.

Setelah armada Anda diluncurkan, Anda dapat menjelaskan permintaan armada, instance dalam armada, dan peristiwa armada apa pun. Anda juga dapat menetapkan tag tambahan sesuai kebutuhan.

Jika Anda perlu mengubah parameter armada apa pun, seperti total kapasitas target, Anda dapat memodifikasi armada, asalkan dikonfigurasi untuk mempertahankan kapasitas. Anda tidak dapat mengubah kapasitas permintaan satu kali setelah dikirimkan.

Permintaan armada tetap aktif sampai habis masa berlakunya atau Anda membatalkan (menghapusnya). Saat membatalkan permintaan armada, Anda dapat menghentikan instans atau membiarkannya berjalan. Jika Anda memilih untuk membiarkannya berjalan, Instans Sesuai Permintaan berjalan hingga Anda menghentikannya, dan Instans Spot berjalan hingga terputus atau Anda menghentikannya.

**Topics**
+ [Status permintaan Armada Spot](spot-fleet-states.md)
+ [Izin Armada Spot](spot-fleet-prerequisites.md)
+ [Membuat Armada Spot](create-spot-fleet.md)
+ [Menandai permintaan Armada Spot baru atau yang sudah ada serta instance serta volume yang diluncurkan](tag-spot-fleet.md)
+ [Jelaskan permintaan Armada Spot, instansinya, dan riwayat acara](manage-spot-fleet.md)
+ [Memodifikasi permintaan Armada Spot](modify-spot-fleet.md)
+ [Membatalkan (menghapus) permintaan Armada Spot](cancel-spot-fleet.md)
+ [Memahami penskalaan otomatis untuk Armada Spot](spot-fleet-automatic-scaling.md)

# Status permintaan Armada Spot
<a name="spot-fleet-states"></a>

Permintaan Armada Spot dapat berupa salah satu dari berbagai status, dengan setiap status menunjukkan tahapan siklus hidup permintaan yang berbeda dan pengelolaan instansnya.

Permintaan Armada Spot dapat berada dalam salah satu kondisi berikut:

`submitted`  
Permintaan Armada Spot sedang dievaluasi dan Amazon EC2 sedang bersiap untuk meluncurkan jumlah target instans. Jika permintaan melebihi kuota Armada Spot Anda, permintaan tersebut akan segera dibatalkan.

`active`  
Armada Spot telah divalidasi dan Amazon EC2 berusaha mempertahankan jumlah target Instans Spot yang sedang berjalan. Permintaan tetap dalam keadaan ini sampai dimodifikasi atau dibatalkan.

`modifying`  
Permintaan Armada Spot sedang dimodifikasi. Permintaan tetap dalam keadaan ini sampai modifikasi diproses sepenuhnya atau permintaan dibatalkan. Hanya tipe armada `maintain` yang dapat dimodifikasi. Keadaan ini tidak berlaku untuk jenis `request` armada satu kali.

`cancelled_running`  
Armada Spot dibatalkan (dihapus) dan tidak meluncurkan Instans Spot tambahan. Instans yang ada terus berjalan sampai diinterupsi atau diakhiri secara manual. Permintaan tetap berada dalam status ini sampai semua instans diinterupsi atau diakhiri.

`cancelled_terminating`  
Armada Spot dibatalkan (dihapus) dan instance-instancenya dihentikan. Permintaan tetap berada dalam status ini sampai semua instans diakhiri.

`cancelled`  
Armada Spot dibatalkan (dihapus) dan tidak memiliki instance yang berjalan. Permintaan tersebut dihapus dua hari setelah instansnya diakhiri.

# Izin Armada Spot
<a name="spot-fleet-prerequisites"></a>

Jika pengguna Anda akan membuat atau mengelola Armada Spot, Anda perlu memberinya izin yang diperlukan.

Jika Anda menggunakan konsol Amazon EC2 untuk membuat Armada Spot, konsol ini akan membuat dua peran tertaut layanan bernama `AWSServiceRoleForEC2SpotFleet` dan `AWSServiceRoleForEC2Spot`, serta peran bernama `aws-ec2-spot-fleet-tagging-role` yang memberikan izin kepada Armada Spot untuk meminta, meluncurkan, mengakhiri, dan menandai sumber daya atas nama Anda. Jika Anda menggunakan AWS CLI atau API, Anda harus memastikan bahwa peran ini ada.

Gunakan petunjuk berikut untuk memberikan izin yang diperlukan dan membuat peran.

**Topics**
+ [Memberikan izin kepada pengguna untuk Armada Spot](#spot-fleet-iam-users)
+ [Peran tertaut layanan untuk Armada Spot](#service-linked-roles-spot-fleet-requests)
+ [Peran terkait layanan untuk Instans Spot](#service-linked-roles-spot-instances)
+ [Peran IAM untuk menandai Armada Spot](#spot-fleet-service-linked-role)

## Memberikan izin kepada pengguna untuk Armada Spot
<a name="spot-fleet-iam-users"></a>

Jika pengguna Anda akan membuat atau mengelola Armada Spot, pastikan untuk memberinya izin yang diperlukan.

**Untuk membuat kebijakan Armada Spot**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Kebijakan**, **Buat kebijakan**.

1. Di halaman **Buat kebijakan**, pilih **JSON**, dan ganti teks dengan yang berikut ini.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "ec2:RunInstances",
                   "ec2:CreateTags",
                   "ec2:RequestSpotFleet",
                   "ec2:ModifySpotFleetRequest",
                   "ec2:CancelSpotFleetRequests",
                   "ec2:DescribeSpotFleetRequests",
                   "ec2:DescribeSpotFleetInstances",
                   "ec2:DescribeSpotFleetRequestHistory"
               ],
               "Resource": "*"
           },
           {
               "Effect": "Allow",
               "Action": "iam:PassRole",
               "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role"
           },
           {
               "Effect": "Allow",
               "Action": [
                   "iam:CreateServiceLinkedRole",
                   "iam:ListRoles",
                   "iam:ListInstanceProfiles"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

   Contoh kebijakan sebelumnya memberikan izin yang diperlukan kepada pengguna untuk sebagian besar kasus penggunaan Armada Spot. Untuk membatasi pengguna ke tindakan API tertentu, tentukan hanya tindakan API tersebut saja.

   **Diperlukan EC2 dan IAM APIs**

   Berikut ini APIs harus dimasukkan dalam kebijakan:
   + `ec2:RunInstances` – Diperlukan untuk meluncurkan instans di Armada Spot
   + `ec2:CreateTags` – Diperlukan untuk menandai permintaan, instans, atau volume Armada Spot
   + `iam:PassRole` – Diperlukan untuk menentukan peran Armada Spot
   + `iam:CreateServiceLinkedRole` – Diperlukan untuk membuat peran tertaut-layanan
   + `iam:ListRoles` – Diperlukan untuk melakukan enumerasi peran IAM yang ada
   + `iam:ListInstanceProfiles` – Diperlukan untuk melakukan enumerasi profil instans yang sudah ada
**penting**  
Jika Anda menentukan peran untuk profil instans IAM dalam spesifikasi peluncuran atau templat peluncuran, Anda harus memberikan izin kepada pengguna untuk meneruskan peran tersebut ke layanan. Untuk melakukan ini, dalam kebijakan IAM sertakan `"arn:aws:iam::*:role/IamInstanceProfile-role"` sebagai sumber daya untuk tindakan `iam:PassRole`. Untuk informasi selengkapnya, lihat [Memberikan izin pengguna untuk meneruskan peran ke AWS layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html) di Panduan Pengguna *IAM*.

   **Armada Spot APIs**

   Tambahkan tindakan Spot Fleet API berikut ke kebijakan Anda, jika diperlukan:
   + `ec2:RequestSpotFleet`
   + `ec2:ModifySpotFleetRequest`
   + `ec2:CancelSpotFleetRequests`
   + `ec2:DescribeSpotFleetRequests`
   + `ec2:DescribeSpotFleetInstances`
   + `ec2:DescribeSpotFleetRequestHistory`

   **IAM opsional APIs**

   (Opsional) Untuk memungkinkan pengguna membuat peran atau profil instans menggunakan konsol IAM, Anda juga harus menambahkan tindakan berikut ke kebijakan:
   + `iam:AddRoleToInstanceProfile`
   + `iam:AttachRolePolicy`
   + `iam:CreateInstanceProfile`
   + `iam:CreateRole`
   + `iam:GetRole`
   + `iam:ListPolicies`

1. Pilih **Tinjau kebijakan**.

1. Pada halaman **Tinjau kebijakan**, masukkan nama dan deskripsi kebijakan, dan pilih **Buat kebijakan**.

1. Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
   + Pengguna dan grup di AWS IAM Identity Center:

     Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
   + Pengguna yang dikelola di IAM melalui penyedia identitas:

     Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
   + Pengguna IAM:
     + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
     + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti instruksi dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam Panduan *Pengguna IAM*.

## Peran tertaut layanan untuk Armada Spot
<a name="service-linked-roles-spot-fleet-requests"></a>

Amazon EC2 menggunakan peran tertaut layanan untuk izin yang diperlukan untuk memanggil layanan AWS lain atas nama Anda. Peran terkait layanan adalah jenis peran IAM unik yang ditautkan langsung ke layanan. AWS Peran terkait layanan menyediakan cara aman untuk mendelegasikan izin ke AWS layanan karena hanya layanan tertaut yang dapat mengambil peran terkait layanan. Untuk informasi selengkapnya, lihat [Peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create-service-linked-role.html) di Panduan Pengguna *IAM*.

Amazon EC2 menggunakan peran terkait layanan bernama**AWSServiceRoleForEC2SpotFleet** untuk meluncurkan dan mengelola instance atas nama Anda.

**penting**  
Jika Anda menentukan [AMI terenkripsi](AMIEncryption.md) atau snapshot Amazon EBS terenkripsi di Armada Spot, Anda harus memberikan **AWSServiceRoleForEC2SpotFleet**izin peran untuk menggunakan CMK sehingga Amazon EC2 dapat meluncurkan instans atas nama Anda. Untuk informasi selengkapnya, lihat [Berikan akses CMKs untuk digunakan dengan snapshot terenkripsi AMIs dan EBS](#spot-fleet-service-linked-roles-access-to-cmks).

### Izin yang diberikan oleh AWSService RoleFor EC2 SpotFleet
<a name="service-linked-role-permissions-granted-by-AWSServiceRoleForEC2SpotFleet"></a>

**AWSServiceRoleForEC2SpotFleet**Peran tersebut memberikan izin kepada Armada Spot untuk meminta, meluncurkan, menghentikan, dan menandai instans atas nama Anda. Amazon EC2 menggunakan peran tertaut layanan ini untuk menyelesaikan tindakan berikut:
+ `ec2:RequestSpotInstances` - Meminta Instans Spot
+ `ec2:RunInstances` - Meluncurkan instans
+ `ec2:TerminateInstances` - Mengakhiri instans
+ `ec2:DescribeImages`- Jelaskan Amazon Machine Images (AMIs) untuk instance
+ `ec2:DescribeInstanceStatus` - Mendeskripsikan status instans
+ `ec2:DescribeSubnets` - Mendeskripsikan subnet untuk instans
+ `ec2:CreateTags` - Menambahkan tanda ke permintaan, instans, dan volume Armada Spot
+ `elasticloadbalancing:RegisterInstancesWithLoadBalancer` - Menambahkan instans yang ditentukan ke penyeimbang beban yang ditentukan
+ `elasticloadbalancing:RegisterTargets` - Mendaftarkan target yang ditentukan dengan grup target yang ditentukan

### Membuat peran tertaut layanan
<a name="service-linked-role-creating-for-spot-fleet"></a>

Dalam sebagian besar situasi, Anda tidak perlu membuat peran tertaut layanan secara manual. Amazon EC2 membuat**AWSServiceRoleForEC2SpotFleet** peran terkait layanan saat pertama kali Anda membuat Spot Fleet menggunakan konsol. 

Jika Anda memiliki permintaan Armada Spot aktif sebelum Oktober 2017, saat Amazon EC2 mulai mendukung peran terkait layanan ini, Amazon EC2 membuat peran tersebut di akun Anda. **AWSServiceRoleForEC2SpotFleet** AWS Untuk informasi selengkapnya, lihat [Peran baru muncul di AWS akun saya](https://docs.aws.amazon.com/IAM/latest/UserGuide/troubleshoot_roles.html#troubleshoot_roles_new-role-appeared) di *Panduan Pengguna IAM*.

Jika Anda menggunakan AWS CLI atau API untuk membuat Armada Spot, Anda harus terlebih dahulu memastikan bahwa peran ini ada.

**Untuk membuat AWSService RoleFor EC2 SpotFleet peran untuk Armada Spot menggunakan konsol**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**.

1. Pilih **Buat peran**.

1. Pada halaman **Pilih entitas tepercaya**, lakukan hal berikut:

   1. Untuk **jenis entitas Tepercaya**, pilih **AWS layanan**.

   1. Di bawah **Kasus penggunaan**, untuk **Layanan atau kasus penggunaan**, pilih **EC2**.

   1. Untuk **kasus Penggunaan**, pilih **EC2 - Armada Spot**.
**catatan**  
Kasus penggunaan **EC2 - Spot Fleet** akan secara otomatis membuat kebijakan dengan izin IAM yang diperlukan dan akan menyarankan **AWSEC2SpotFleetServiceRolePolicy**sebagai nama peran.

   1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, pilih **Buat peran**.

**Untuk membuat AWSService RoleFor EC2 SpotFleet peran Armada Spot menggunakan AWS CLI**  
Gunakan perintah [create-service-linked-role](https://docs.aws.amazon.com/cli/latest/reference/iam/create-service-linked-role.html) sebagai berikut.

```
aws iam create-service-linked-role --aws-service-name spotfleet.amazonaws.com
```

Jika Anda tidak lagi perlu menggunakan Spot Fleet, kami sarankan Anda menghapus file**AWSServiceRoleForEC2SpotFleet** wewenang. Setelah peran ini dihapus dari akun Anda, Amazon EC2 akan membuat peran lagi jika Anda meminta Armada Spot dengan menggunakan konsol. Untuk informasi selengkapnya, lihat [Menghapus peran terkait layanan](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_manage_delete.html#id_roles_manage_delete_slr) dalam *Panduan Pengguna IAM*.

### Berikan akses CMKs untuk digunakan dengan snapshot terenkripsi AMIs dan EBS
<a name="spot-fleet-service-linked-roles-access-to-cmks"></a>

Jika Anda menentukan [AMI terenkripsi](AMIEncryption.md) atau snapshot Amazon EBS terenkripsi dalam permintaan Armada Spot dan Anda menggunakan kunci terkelola pelanggan untuk enkripsi, Anda harus memberikan **AWSServiceRoleForEC2SpotFleet**izin peran untuk menggunakan CMK sehingga Amazon EC2 dapat meluncurkan instans atas nama Anda. Untuk melakukannya, Anda harus menambahkan pemberian izin ke CMK, seperti yang ditunjukkan dalam prosedur berikut.

Ketika memberikan izin, pemberian izin merupakan alternatif dari kebijakan kunci. Untuk informasi selengkapnya, lihat [Menggunakan Pemberian Izin](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) dan [Menggunakan Kebijakan Kunci di AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html) dalam *Panduan Developer AWS Key Management Service *.

**Untuk memberikan izin AWSService RoleFor EC2 SpotFleet peran untuk menggunakan CMK**
+ Gunakan perintah [create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) untuk menambahkan hibah ke CMK dan untuk menentukan kepala sekolah (peran terkait layanan **AWSServiceRoleForEC2SpotFleet**) yang diberi izin untuk melakukan operasi yang diizinkan oleh pemberian tersebut. CMK ditentukan oleh parameter `key-id` dan ARN CMK. Kepala sekolah ditentukan oleh`grantee-principal` parameter dan ARN dari**AWSServiceRoleForEC2SpotFleet** peran terkait layanan.

  ```
  aws kms create-grant \
      --region us-east-1 \
      --key-id arn:aws:kms:us-east-1:444455556666:key/1234abcd-12ab-34cd-56ef-1234567890ab \
      --grantee-principal arn:aws:iam::111122223333:role/aws-service-role/spotfleet.amazonaws.com/AWSServiceRoleForEC2SpotFleet \
      --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
  ```

## Peran terkait layanan untuk Instans Spot
<a name="service-linked-roles-spot-instances"></a>

Amazon EC2 menggunakan peran terkait layanan bernama **AWSServiceRoleForEC2Spot** untuk meluncurkan dan mengelola Instans Spot atas nama Anda. Untuk informasi selengkapnya, lihat [Peran tertaut layanan untuk permintaan Instans Spot](service-linked-roles-spot-instance-requests.md).

## Peran IAM untuk menandai Armada Spot
<a name="spot-fleet-service-linked-role"></a>

Peran IAM `aws-ec2-spot-fleet-tagging-role` memberikan izin ke Armada Spot untuk menandai permintaan, instans, dan volume Armada Spot. Untuk informasi selengkapnya, lihat [Menandai permintaan Armada Spot baru atau yang sudah ada serta instance serta volume yang diluncurkan](tag-spot-fleet.md).

**penting**  
Jika Anda memilih untuk menandai instans di armada dan Anda juga memilih untuk mempertahankan kapasitas target (permintaan Armada Spot bertipe `maintain`), perbedaan izin yang ditetapkan untuk pengguna dan `IamFleetRole` dapat menyebabkan perilaku penandaan instans yang tidak konsisten di armada. Jika `IamFleetRole` tidak menyertakan izin `CreateTags`, beberapa instans yang diluncurkan oleh armada mungkin tidak akan ditandai. Sementara kami berusaha memperbaiki inkonsistensi ini, untuk memastikan bahwa semua instans yang diluncurkan oleh armada telah ditandai, kami menyarankan Anda menggunakan peran `aws-ec2-spot-fleet-tagging-role` untuk `IamFleetRole`. Atau, untuk menggunakan peran yang ada, lampirkan Kebijakan `AmazonEC2SpotFleetTaggingRole` AWS Terkelola ke peran yang ada. Jika tidak, Anda perlu menambahkan izin `CreateTags` secara manual untuk kebijakan yang ada.

**Guna membuat peran IAM untuk menandai Armada Spot**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**.

1. Pilih **Buat peran**.

1. Pada halaman **Pilih entitas tepercaya**, di bawah **Tipe entitas tepercaya**, pilih **Layanan AWS **.

1. Di bawah **Kasus penggunaan**, dari **Kasus penggunaan untuk layanan AWS lain**, pilih **EC2**, lalu pilih **EC2 - Penandaan Armada Spot**.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, pilih **Berikutnya**.

1. Pada **Nama, tinjau, dan buat**, untuk **Nama peran**, masukkan nama untuk peran (misalnya, **aws-ec2-spot-fleet-tagging-role**).

1. Tinjau informasi di halaman tersebut, lalu pilih **Buat peran**.

### Pencegahan confused deputy lintas layanan
<a name="cross-service-confused-deputy-prevention"></a>

[Masalah confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html) adalah masalah keamanan saat entitas yang tidak memiliki izin untuk melakukan suatu tindakan dapat memaksa entitas yang lebih berhak untuk melakukan tindakan tersebut. Sebaiknya gunakan kunci konteks kondisi global [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) dan [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) dalam kebijakan kepercayaan `aws-ec2-spot-fleet-tagging-role` untuk membatasi izin yang diberikan Armada Spot pada layanan lain ke sumber daya.

**Untuk menambahkan kunci SourceAccount kondisi aws: SourceArn dan aws: ke kebijakan `aws-ec2-spot-fleet-tagging-role` kepercayaan**

1. Buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi, pilih **Peran**.

1. Temukan `aws-ec2-spot-fleet-tagging-role` yang Anda buat sebelumnya dan pilih tautan (bukan kotak centang).

1. Di bawah **Ringkasan**, pilih tab **Hubungan kepercayaan**, lalu pilih **Edit kebijakan kepercayaan**.

1. Dalam pernyataan JSON, tambahkan elemen `Condition` yang berisi kunci konteks kondisi global `aws:SourceAccount` dan `aws:SourceArn` untuk mencegah [masalah confused deputy](https://docs.aws.amazon.com/IAM/latest/UserGuide/confused-deputy.html), sebagai berikut:

   ```
   "Condition": {
         "ArnLike": {
           "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/sfr-*"
         },
         "StringEquals": {
           "aws:SourceAccount": "111122223333"
         }
   ```
**catatan**  
Jika nilai `aws:SourceArn` berisi ID akun Anda dan Anda menggunakan kedua kunci konteks kondisi global tersebut, nilai `aws:SourceAccount` dan akun di nilai `aws:SourceArn` harus menggunakan ID akun yang sama saat digunakan dalam pernyataan kebijakan yang sama.

   Kebijakan kepercayaan terakhir adalah sebagai berikut:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": {
       "Sid": "ConfusedDeputyPreventionExamplePolicy",
       "Effect": "Allow",
       "Principal": {
         "Service": "spotfleet.amazonaws.com"
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "ArnLike": {
           "aws:SourceArn": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/sfr-*"
         },
         "StringEquals": {
           "aws:SourceAccount": "111122223333"
         }
       }
     }
   }
   ```

------

1. Pilih **Perbarui kebijakan**.

Tabel berikut memberikan nilai potensial untuk `aws:SourceArn` guna membatasi ruang lingkup `aws-ec2-spot-fleet-tagging-role` Anda dalam berbagai tingkat kekhususan.


****  

| Operasi API | Layanan yang dipanggil | Lingkup | `aws:SourceArn` | 
| --- | --- | --- | --- | 
| RequestSpotFleet | AWS STS (AssumeRole) | Batasi AssumeRole aws-ec2-spot-fleet-tagging-role kemampuan spot-fleet-requests di akun yang ditentukan. | arn:aws:ec2:\$1:123456789012:spot-fleet-request/sfr-\$1 | 
| RequestSpotFleet | AWS STS (AssumeRole) | Batasi AssumeRole aws-ec2-spot-fleet-tagging-role kemampuan spot-fleet-requests di akun yang ditentukan dan Wilayah yang ditentukan. Perhatikan bahwa peran ini tidak akan dapat digunakan di Wilayah lain. | arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-\$1 | 
| RequestSpotFleet | AWS STS (AssumeRole) | Batasi kemampuan AssumeRole di aws-ec2-spot-fleet-tagging-role hanya pada tindakan yang memengaruhi armada sfr-11111111-1111-1111-1111-111111111111. Perhatikan bahwa peran ini mungkin tidak dapat digunakan untuk Armada Spot lainnya. Selain itu, peran ini tidak dapat digunakan untuk meluncurkan Armada Spot baru. request-spot-fleet | arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-11111111-1111-1111-1111-111111111111 | 

# Membuat Armada Spot
<a name="create-spot-fleet"></a>

Dengan menggunakan Konsol Manajemen AWS, Anda dapat dengan cepat membuat permintaan Armada Spot dengan memilih hanya AMI dan total kapasitas target yang Anda inginkan. Amazon EC2 akan mengonfigurasi armada yang paling sesuai dengan kebutuhan Anda dan mengikuti praktik terbaik Spot. Atau, Anda dapat memodifikasi salah satu pengaturan default.

Jika ingin menyertakan Instans Sesuai Permintaan di armada, Anda harus menentukan templat peluncuran dalam permintaan dan menentukan kapasitas Sesuai Permintaan yang Anda inginkan.

Armada 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 jenisnya`maintain`, Amazon EC2 akan berusaha mempertahankan kapasitas target armada Anda saat Instans Spot Anda terganggu.

**Izin yang diperlukan**  
Untuk informasi selengkapnya, lihat [Izin Armada Spot](spot-fleet-prerequisites.md).

**Topics**
+ [Buat permintaan Armada Spot dengan cepat](#create-spot-fleet-quick)
+ [Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](#create-spot-fleet-advanced)
+ [Buat Armada Spot yang menggantikan Instans Spot yang tidak sehat](#spot-fleet-health-checks)

## Buat permintaan Armada Spot dengan cepat
<a name="create-spot-fleet-quick"></a>

Ikuti langkah-langkah berikut untuk membuat permintaan Armada Spot dengan cepat menggunakan konsol Amazon EC2.

**Untuk membuat permintaan Armada Spot menggunakan pengaturan yang disarankan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Jika Anda baru mengenal Spot, Anda akan melihat halaman sambutan; pilih **Mulai**. Jika tidak, pilih **Buat Permintaan Armada Spot**.

1. Di bawah **Parameter peluncuran**, pilih **Konfigurasikan parameter peluncuran secara manual**.

1. Untuk **AMI**, pilih AMI.

1. Di bawah **Kapasitas target**, untuk **Total kapasitas target**, tentukan jumlah unit yang akan diminta. Untuk jenis unit, Anda dapat memilih **Instances**, **v CPUs**, atau **Memory (GiB)**.

1. **Sekilas tentang permintaan armada Anda**, tinjau konfigurasi armada Anda, dan pilih **Luncurkan**.

## Membuat permintaan Armada Spot menggunakan parameter yang ditentukan
<a name="create-spot-fleet-advanced"></a>

Anda dapat membuat Armada Spot menggunakan parameter yang Anda tentukan.

------
#### [ Console ]

**Untuk membuat permintaan Armada Spot menggunakan parameter yang ditentukan**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Jika Anda baru mengenal Spot, Anda akan melihat halaman sambutan; pilih **Mulai**. Jika tidak, pilih **Buat Permintaan Armada Spot**.

1. Untuk **parameter Peluncuran**, Anda dapat mengonfigurasi parameter peluncuran secara manual atau Anda dapat menggunakan templat peluncuran, sebagai berikut:

   1. [Konfigurasi secara manual] Untuk menentukan parameter peluncuran di konsol Amazon EC2, pilih **Konfigurasi parameter peluncuran secara manual**, lalu lakukan hal berikut:

      1. Untuk **AMI**, pilih salah satu dasar yang AMIs disediakan oleh AWS, atau pilih **Cari AMI untuk** menggunakan AMI dari komunitas pengguna kami, komunitas AWS Marketplace, atau salah satu komunitas Anda sendiri.
**catatan**  
Jika AMI yang ditentukan dalam parameter peluncuran dideregistrasi atau dinonaktifkan, tidak ada instance baru yang dapat diluncurkan dari AMI. Untuk armada yang diatur untuk mempertahankan kapasitas target, kapasitas target tidak akan dipertahankan.

      1. (Opsional) Untuk **Nama pasangan kunci**, pilih pasangan kunci yang ada atau buat yang baru.

         [Pasangan kunci yang ada] Pilih pasangan kunci.

         [New key pair] Pilih **Create new key pair** untuk membuka halaman **Key pair**. Setelah selesai, kembali ke halaman **Permintaan Spot** dan segarkan daftar.

      1. (Opsional) Perluas **Parameter peluncuran tambahan**, dan lakukan hal berikut:

         1. (Opsional) Untuk mengaktifkan optimisasi Amazon EBS, untuk **Dioptimalkan dengan EBS**, pilih **Luncurkan instans yang dioptimalkan EBS**.

         1. (Opsional) Guna menambahkan penyimpanan tingkat blok sementara untuk instans Anda, untuk **Penyimpanan instans**, pilih **Lampirkan saat peluncuran**.

         1. (Opsional) Untuk menambahkan penyimpanan, pilih **Tambahkan volume baru**, dan tentukan volume penyimpanan instans tambahan atau volume Amazon EBS, tergantung pada tipe instans.

         1. (Opsional) Secara default, pemantauan dasar diaktifkan untuk instans Anda. Untuk mengaktifkan pemantauan terperinci, untuk **Pemantauan**, pilih **Aktifkan pemantauan CloudWatch terperinci**.

         1. (Opsional) Guna menjalankan Instans Spot Khusus, untuk **Penghunian**, pilih **Khusus - jalankan instans khusus**.

         1. (Opsional) Untuk **Grup keamanan**, pilih satu atau beberapa grup keamanan atau buat yang baru.

            [Grup keamanan yang ada] Pilih satu atau beberapa grup keamanan.

            [Grup keamanan baru] Pilih **Buat grup keamanan baru** untuk membuka halaman **Grup Keamanan**. Setelah selesai, kembali ke **Permintaan Spot** dan segarkan daftar.

         1. (Opsional) Agar instance Anda dapat dijangkau dari internet, untuk **Penetapan otomatis IPv4 IP Publik** , pilih **Aktifkan** .

         1. (Opsional) Guna meluncurkan Instans Spot Anda dengan peran IAM, untuk **Profil instans IAM**, pilih peran tersebut.

         1. (Opsional) Untuk menjalankan skrip start-up, salin skrip tersebut ke **Data pengguna**.

         1. (Opsional) Untuk menambahkan tanda, pilih **Buat tanda** dan masukkan kunci serta nilai untuk tanda tersebut, lalu pilih **Buat**. Ulangi hal itu untuk setiap tanda.

            Untuk setiap tanda, guna menandai instans dan permintaan Armada Spot dengan tanda yang sama, pastikan bahwa **Instans** serta **Armada** telah dipilih. Untuk menandai instans yang diluncurkan oleh armada saja, hapus **Armada**. Untuk menandai permintaan Armada Spot saja, hapus **Instans.**

   1. [Template peluncuran] Untuk menggunakan konfigurasi yang Anda buat di template peluncuran, pilih **Gunakan templat peluncuran**, dan untuk **Template peluncuran**, pilih templat peluncuran.
**catatan**  
Jika Anda menginginkan kapasitas On-Demand di Armada Spot Anda, Anda harus menentukan template peluncuran.

1. Untuk **detail permintaan tambahan**, lakukan hal berikut:

   1. Tinjau detail permintaan tambahan. Untuk membuat perubahan, hapus **Terapkan default**.

   1. (Opsional) Untuk **Peran armada IAM**, Anda dapat menggunakan peran default atau memilih peran yang berbeda. Untuk menggunakan peran default setelah mengubah peran, pilih **Gunakan peran default**.

   1. (Opsional) Untuk membuat permintaan yang hanya berlaku selama jangka waktu tertentu, edit **Permintaan berlaku mulai** dan **Permintaan berlaku sampai**.

   1. (Opsional) Secara default, Amazon EC2 menghentikan Instans Spot Anda saat permintaan Armada Spot kedaluwarsa. Agar Instans Spot tetap berjalan setelah permintaan Anda berakhir, hapus **Akhiri instans saat permintaan kedaluwarsa**.

   1. (Opsional) Untuk mendaftarkan Instans Spot Anda dengan penyeimbang beban, pilih **Terima lalu lintas dari satu atau beberapa penyeimbang beban** dan pilih satu atau beberapa Penyeimbang Beban Klasik atau grup target.

1. Untuk **Kapasitas target**, lakukan hal berikut:

   1. Di bawah **Total kapasitas target**, tentukan jumlah unit yang akan diminta. Untuk jenis unit, Anda dapat memilih **Instances**, **v CPUs**, atau **Memory (MiB)**. Untuk menentukan kapasitas target 0 sehingga Anda dapat menambahkan kapasitas nanti, Anda harus terlebih dahulu memilih **Pertahankan kapasitas target**.

   1. (Opsional) Untuk **Sertakan kapasitas basis Sesuai Permintaan**, tentukan jumlah unit Sesuai Permintaan yang akan diminta. Jumlahnya harus kurang dari **Total kapasitas target**. Amazon EC2 menghitung selisihnya, dan mengalokasikan selisih tersebut ke unit Spot yang akan diminta.
**penting**  
 Untuk menentukan kapasitas Sesuai Permintaan opsional, Anda harus terlebih dahulu memilih templat peluncuran.

   1. (Opsional) Secara default, Amazon EC2 menghentikan Instans Spot saat terputus. Untuk mempertahankan kapasitas target, pilih **Pertahankan kapasitas target**. Anda kemudian dapat menentukan bahwa Amazon EC2 mengakhiri, menghentikan, atau hibernasi Instans Spot saat terputus. Untuk melakukannya, pilih opsi yang sesuai dari **Perilaku interupsi**.
**catatan**  
Jika AMI yang ditentukan dalam parameter peluncuran dideregistrasi atau dinonaktifkan, tidak ada instance baru yang dapat diluncurkan dari AMI. Dalam hal ini, untuk armada yang diatur untuk mempertahankan kapasitas target, kapasitas target tidak akan dipertahankan.

   1. (Opsional) Untuk mengizinkan Armada Spot meluncurkan Instans Spot pengganti saat notifikasi penyeimbangan ulang instans dikeluarkan untuk Instans Spot yang ada di armada, pilih **Penyeimbangan ulang kapasitas**, lalu pilih strategi penggantian instans. Jika Anda memilih **Luncurkan sebelum mengakhiri**, tentukan penundaan (dalam hitungan detik) sebelum Amazon EC2 menghentikan instans lama. Untuk informasi selengkapnya, lihat [Gunakan Rebalancing Kapasitas di Armada EC2 dan Armada Spot untuk mengganti Instans Spot yang berisiko](ec2-fleet-capacity-rebalance.md).

   1. (Opsional) Untuk mengontrol jumlah yang Anda bayarkan per jam untuk semua Instans Spot di armada, pilih **Atur biaya maksimum untuk Instans Spot**, lalu masukkan jumlah total maksimum yang ingin Anda bayarkan per jam. Jika jumlah total maksimum tercapai, Armada Spot akan berhenti meluncurkan Instans Spot meskipun belum memenuhi kapasitas target. Untuk informasi selengkapnya, lihat [Tetapkan batas pengeluaran untuk Armada EC2 atau Armada Spot](ec2-fleet-control-spending.md).

1. Untuk **Jaringan**, lakukan hal berikut:

   1. Untuk **Jaringan**, pilih VPC yang ada atau buat yang baru.

      [VPC yang Ada] Pilih VPC.

      [VPC Baru] Pilih **Buat VPC baru** untuk membuka konsol Amazon VPC. Setelah selesai, kembali ke layar ini dan segarkan daftar.

   1. (Opsional) Untuk **Availability Zone**, izinkan Amazon EC2 memilih Availability Zone untuk Instans Spot Anda, atau tentukan satu atau beberapa Availability Zone.

      Jika Anda memiliki lebih dari satu subnet di Zona Ketersediaan, pilih subnet yang sesuai dari **Subnet**. Untuk menambahkan subnet, pilih **Buat subnet baru** untuk membuka konsol Amazon VPC. Setelah selesai, kembali ke layar ini dan segarkan daftar.

1. Untuk **Persyaratan tipe instans**, Anda dapat menentukan atribut instans dan membiarkan Amazon EC2 mengidentifikasi tipe instans optimal dengan atribut ini, atau Anda dapat menentukan daftar instans. Untuk informasi selengkapnya, lihat [Tentukan atribut untuk pemilihan tipe contoh untuk Armada EC2 atau Armada Spot](ec2-fleet-attribute-based-instance-type-selection.md).

   1. Jika Anda memilih **Tentukan atribut instans yang cocok dengan persyaratan komputasi Anda**, tentukan atribut instans sebagai berikut:

      1. Untuk **v CPUs**, masukkan jumlah minimum dan maksimum yang diinginkan vCPUs. Untuk menentukan tidak ada batas, pilih **Tidak ada minimum** atau **Tidak maksimum**, atau keduanya.

      1. Untuk **Memori (GiB)**, masukkan jumlah memori minimum dan maksimum yang diinginkan. Untuk menentukan tidak ada batas, pilih **Tidak ada minimum** atau **Tidak maksimum**, atau keduanya.

      1. (Opsional) Untuk **atribut instance Tambahan**, Anda dapat secara opsional menentukan satu atau beberapa atribut untuk mengekspresikan persyaratan komputasi Anda secara lebih rinci. Setiap atribut tambahan menambahkan batasan lebih lanjut ke permintaan Anda. Anda dapat menghilangkan atribut tambahan; ketika dihilangkan, nilai default digunakan. Untuk deskripsi setiap atribut dan nilai defaultnya, lihat [get-spot-placement-scores](https://docs.aws.amazon.com/cli/latest/reference/ec2/get-spot-placement-scores.html).

      1. (Opsional) Untuk menampilkan tipe instans dengan atribut tertentu, perluas **Pratinjau tipe instans yang cocok**. Untuk mengecualikan tipe instans agar tidak digunakan dalam permintaan Anda, pilih instans, lalu pilih **Kecualikan tipe instans yang dipilih**.

   1. Jika Anda memilih **Pilih tipe instans secara manual**, Armada Spot menyediakan daftar default tipe instans. Untuk memilih tipe instans lainnya, pilih **Tambahkan tipe instans**, pilih tipe instans yang akan digunakan dalam permintaan Anda, dan pilih **Pilih**. Untuk menghapus tipe instans, pilih tipe instans dan pilih **Hapus**.

1. Untuk strategi **Alokasi, pilih strategi** alokasi Spot dan strategi alokasi On-Demand yang memenuhi kebutuhan Anda. Untuk informasi selengkapnya, lihat [Gunakan strategi alokasi untuk menentukan bagaimana Armada EC2 atau Armada Spot memenuhi kapasitas Spot dan Sesuai Permintaan](ec2-fleet-allocation-strategy.md).

1. Untuk **Sekilas permintaan armada Anda**, tinjau konfigurasi armada dan lakukan penyesuaian apa pun jika perlu.

1. (Opsional) Untuk mengunduh salinan konfigurasi peluncuran untuk digunakan dengan AWS CLI, pilih **konfigurasi JSON**.

1. Saat Anda siap meluncurkan Armada Spot, pilih **Luncurkan**.

   Tipe permintaan Armada Spot adalah `fleet`. Saat permintaan terpenuhi, permintaan tipe `instance` ditambahkan, di mana keadaannya `active` dan statusnya adalah `fulfilled`.

------
#### [ AWS CLI ]

**Untuk membuat permintaan Armada Spot**  
Gunakan perintah [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html).

```
aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json
```

Untuk file konfigurasi contoh, lihat [Contoh konfigurasi CLI Spot Fleet](spot-fleet-examples.md).

------
#### [ PowerShell ]

**Untuk membuat permintaan Armada Spot**  
Gunakan [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html)cmdlet. Contoh berikut meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas.

```
Request-EC2SpotFleet `
    -SpotFleetRequestConfig_TargetCapacity 50 `
    -SpotFleetRequestConfig_AllocationStrategy "CapacityOptimized" `
    -SpotFleetRequestConfig_IamFleetRole "arn:aws:iam::123456789012:role/my-spot-fleet-role" `
    -SpotFleetRequestConfig_LaunchTemplateConfig @($launchConfig)
```

Tentukan konfigurasi peluncuran sebagai berikut, atur template peluncuran dan ganti properti yang Anda butuhkan. Untuk contoh konfigurasi, lihat [Contoh konfigurasi CLI Spot Fleet](spot-fleet-examples.md).

```
$lcSpec = Amazon.EC2.Model.FleetLaunchTemplateSpecification
# To do - Set FleetLaunchTemplateSpecification properties
$lcOverrides = New-Object Amazon.EC2.Model.LaunchTemplateOverrides
# To do - Set LaunchTemplateOverrides properties
$launchConfig = New-Object Amazon.EC2.Model.LaunchTemplateConfig
$launchConfig.LaunchTemplateSpecification $lcSpec
$launchConfig.Overrides @($lcOverrides)
```

------

## Buat Armada Spot yang menggantikan Instans Spot yang tidak sehat
<a name="spot-fleet-health-checks"></a>

Armada Spot memeriksa status kondisi Instans Spot di armada setiap dua menit. Status kondisi instans adalah `healthy` atau `unhealthy`.

Armada Spot 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](monitoring-system-instance-status-check.md).

Anda dapat mengonfigurasi armada untuk mengganti Instans Spot yang tidak sehat. Setelah mengaktifkan penggantian pemeriksaan kondisi, Instans Spot akan diganti jika dilaporkan sebagai `unhealthy`. Armada tersebut dapat berada di bawah kapasitas targetnya hingga beberapa menit saat Instans Spot yang tidak sehat sedang diganti.

**Persyaratan**
+ Penggantian pemeriksaan kondisi hanya didukung untuk Armada Spot yang mempertahankan kapasitas target (armada tipe `maintain`), bukan untuk Armada Spot satu kali (armada tipe `request`).
+ Penggantian pemeriksaan kondisi hanya didukung untuk Instans Spot. Fitur ini tidak didukung untuk Instans Sesuai Permintaan.
+ Anda dapat mengonfigurasi Armada Spot Fleet 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`.

------
#### [ Console ]

**Mengkonfigurasi Armada Spot untuk menggantikan Instans Spot yang tidak sehat**

1. Ikuti langkah-langkah untuk membuat Armada Spot di[Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](#create-spot-fleet-advanced).

1. Untuk mengonfigurasi armada untuk mengganti Instans Spot yang tidak sehat, perluas **Parameter peluncuran tambahan**, dan di bawah **Pemeriksaan Kesehatan**, pilih **Ganti instans yang tidak sehat**. Untuk mengaktifkan opsi ini, Anda harus memilih **Pertahankan kapasitas target** terlebih dahulu.

------
#### [ AWS CLI ]

**Mengkonfigurasi Armada Spot untuk menggantikan Instans Spot yang tidak sehat**  
Gunakan [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html)perintah dengan `ReplaceUnhealthyInstances` properti`SpotFleetRequestConfig`.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "lowestPrice",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "TargetCapacity": 10,
        "ReplaceUnhealthyInstances": true
    }
}
```

------
#### [ PowerShell ]

**Untuk mengonfigurasi permintaan Armada Spot untuk mengganti Instans Spot yang tidak sehat**  
Gunakan [Request-EC2SpotFleet](https://docs.aws.amazon.com/powershell/latest/reference/items/Request-EC2SpotFleet.html)cmdlet dengan parameter. `-SpotFleetRequestConfig_ReplaceUnhealthyInstance`

```
-SpotFleetRequestConfig_ReplaceUnhealthyInstance $true
```

------

# Menandai permintaan Armada Spot baru atau yang sudah ada serta instance serta volume yang diluncurkan
<a name="tag-spot-fleet"></a>

Untuk membantu mengkategorikan dan mengelola permintaan Armada Spot serta instans serta volume yang diluncurkan, Anda dapat menandainya dengan metadata khusus. Anda dapat menetapkan tanda untuk permintaan Armada Spot saat Anda membuatnya, atau setelahnya. Demikian pula, Anda dapat menetapkan tag ke instance dan volume saat diluncurkan oleh armada, atau sesudahnya.

Saat Anda menandai permintaan armada, instans dan volume yang diluncurkan oleh armada tidak ditandai secara otomatis. Anda perlu menandai instans dan volume yang diluncurkan oleh armada secara eksplisit. Anda dapat memilih untuk menetapkan tag hanya untuk permintaan armada, atau hanya instans yang diluncurkan oleh armada, atau hanya volume yang dilampirkan pada instans yang diluncurkan oleh armada, atau semuanya.

**catatan**  
Anda hanya dapat menandai volume yang dilampirkan ke Instans Sesuai Permintaan. Anda tidak dapat menandai volume yang dilampirkan ke Instans Spot.

Anda dapat menetapkan tanda menggunakan konsol Amazon EC2 atau alat baris perintah.

Untuk informasi selengkapnya tentang cara kerja tag, lihat [Tandai sumber daya Amazon EC2 Anda](Using_Tags.md).

**Topics**
+ [Prasyarat](#tag-spot-fleet-prereqs)
+ [Menandai Armada Spot baru dan instans serta volume yang diluncurkannya](#tag-new-spot-fleet-and-resources)
+ [Menandai Armada Spot yang ada](#tag-existing-spot-fleet)
+ [Menampilkan tanda permintaan Armada Spot](#view-spot-fleet-tags)

## Prasyarat
<a name="tag-spot-fleet-prereqs"></a>

Berikan izin kepada pengguna untuk menandai sumber daya. Untuk informasi selengkapnya, lihat [Contoh: Memberi tanda pada sumber daya](ExamplePolicies_EC2.md#iam-example-taggingresources).

**Berikan izin kepada pengguna untuk menandai sumber daya**  
Buat kebijakan IAM yang mencakup berikut hal berikut:
+ Tindakan `ec2:CreateTags`. Tindakan ini memberikan izin kepada pengguna untuk membuat tanda.
+ Tindakan `ec2:RequestSpotFleet`. Tindakan ini memberikan izin kepada pengguna untuk membuat permintaan Armada Spot.
+ Untuk `Resource`, Anda harus menentukan `"*"`. Tindakan ini memungkinkan pengguna untuk menandai semua tipe sumber daya.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "TagSpotFleetRequest",
            "Effect": "Allow",
            "Action": [
                "ec2:CreateTags",
                "ec2:RequestSpotFleet"
            ],
            "Resource": "*"
        }
    ]
}
```

------

**penting**  
Saat ini kami tidak mendukung izin tingkat sumber daya untuk sumber daya `spot-fleet-request`. Jika Anda menentukan `spot-fleet-request` sebagai sumber daya, Anda akan mendapatkan pengecualian yang tidak sah saat mencoba menandai armada. Contoh berikut menggambarkan cara untuk *tidak* mengatur kebijakan.   

```
{
    "Effect": "Allow",
    "Action": [
        "ec2:CreateTags",
        "ec2:RequestSpotFleet"
    ],
    "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*"
}
```

Untuk memberikan akses dan menambahkan izin bagi pengguna, grup, atau peran Anda:
+ Pengguna dan grup di AWS IAM Identity Center:

  Buat rangkaian izin. Ikuti instruksi di [Buat rangkaian izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/howtocreatepermissionset.html) dalam *Panduan Pengguna AWS IAM Identity Center *.
+ Pengguna yang dikelola di IAM melalui penyedia identitas:

  Buat peran untuk federasi identitas. Ikuti instruksi dalam [Buat peran untuk penyedia identitas pihak ketiga (federasi)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-idp.html) dalam *Panduan Pengguna IAM*.
+ Pengguna IAM:
  + Buat peran yang dapat diambil pengguna Anda. Ikuti instruksi dalam [Buat peran untuk pengguna IAM](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-user.html) dalam *Panduan Pengguna IAM*.
  + (Tidak disarankan) Lampirkan kebijakan langsung ke pengguna atau tambahkan pengguna ke grup pengguna. Ikuti petunjuk dalam [Menambahkan izin ke pengguna (konsol)](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console) dalam *Panduan Pengguna IAM*.

## Menandai Armada Spot baru dan instans serta volume yang diluncurkannya
<a name="tag-new-spot-fleet-and-resources"></a>

**Untuk menandai permintaan Spot Fleet baru serta instance serta volume yang diluncurkan menggunakan konsol**

1. Ikuti prosedur [Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](create-spot-fleet.md#create-spot-fleet-advanced).

1. Cara Anda menambahkan tag tergantung pada apakah Anda mengonfigurasi armada secara manual atau menggunakan templat peluncuran.
   + Jika Anda mengonfigurasi armada secara manual, lakukan hal berikut:

     Untuk menambahkan tag, perluas **Parameter peluncuran tambahan**, pilih **Buat tag**, dan masukkan kunci dan nilai untuk tag. Ulangi hal itu untuk setiap tanda.

     Untuk setiap tanda, Anda dapat menandai permintaan Armada Spot dan instans dengan tanda yang sama. Untuk menandai keduanya, pastikan bahwa **Instans** dan **Armada** dipilih. Untuk menandai permintaan Armada Spot saja, hapus **Instans.** Untuk menandai instans yang diluncurkan oleh armada saja, hapus **Armada**.
**catatan**  
Saat Anda mengonfigurasi armada secara manual, tidak ada opsi untuk menandai volume. Tanda volume hanya didukung untuk volume yang dilampirkan ke Instans Sesuai Permintaan. Saat mengonfigurasi armada secara manual, Anda tidak dapat menentukan Instans Sesuai Permintaan.
   + Jika Anda menggunakan template peluncuran, lakukan hal berikut:

     Untuk menambahkan tag ke permintaan armada, di bawah **Tag**, pilih **Buat Tag**, dan masukkan kunci dan nilai untuk tag. Ulangi hal itu untuk setiap tanda.

     Untuk menandai sumber daya di armada Anda, Anda harus menentukan tag di [template peluncuran](create-launch-template.md).

**Untuk menandai permintaan Armada Spot baru dan instance serta volume yang diluncurkan menggunakan AWS CLI**  
Untuk menandai permintaan Armada Spot saat Anda membuatnya, dan untuk menandai instans serta volume ketika diluncurkan oleh armada, konfigurasikan konfigurasi permintaan Armada Spot sebagai berikut:

**Tanda permintaan Armada Spot:**
+ Tentukan tanda untuk permintaan Armada Spot di `SpotFleetRequestConfig`.
+ Untuk `ResourceType`, tentukan `spot-fleet-request`. Jika Anda menentukan nilai lain, permintaan armada akan gagal.
+ Untuk `Tags`, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

**Tanda instans:**
+ Tentukan tanda untuk instans di `LaunchSpecifications`.
+ Untuk `ResourceType`, tentukan `instance`. Jika Anda menentukan nilai lain, permintaan armada akan gagal.
+ Untuk `Tags`, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

  Atau, Anda dapat menentukan tanda untuk instans di [templat peluncuran](create-launch-template.md) yang direferensikan dalam permintaan Armada Spot.

**Tanda volume:**
+ Tentukan tanda untuk volume di [templat peluncuran](create-launch-template.md) yang direferensikan dalam permintaan Armada Spot. Penandaan volume `LaunchSpecifications` tidak didukung.

Dalam contoh berikut, permintaan Armada Spot ditandai dengan dua tanda: Kunci=Lingkungan dan Nilai=Produksi, serta Kunci=Pusat-Biaya dan Nilai=123. Instans yang diluncurkan oleh armada ditandai dengan satu tanda (yang sama dengan salah satu tanda untuk permintaan Armada Spot): Kunci=Pusat-Biaya dan Nilai=123.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchSpecifications": [
            {
                "ImageId": "ami-0123456789EXAMPLE",
                "InstanceType": "c4.large",
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "Cost-Center",
                                "Value": "123"
                            }
                        ]
                    }
                ]
            }
        ],
        "SpotPrice": "5",
        "TargetCapacity": 2,
        "TerminateInstancesWithExpiration": true,
        "Type": "maintain",
        "ReplaceUnhealthyInstances": true,
        "InstanceInterruptionBehavior": "terminate",
        "InstancePoolsToUseCount": 1,
        "TagSpecifications": [
            {
                "ResourceType": "spot-fleet-request",
                "Tags": [
                    {
                        "Key": "Environment",
                        "Value":"Production"
                    },
                    {
                        "Key": "Cost-Center",
                        "Value":"123"
                    }
                ]
            }
        ]
    }
}
```

**Untuk menandai instans yang diluncurkan oleh Armada Spot menggunakan AWS CLI**  
Untuk menandai instans ketika diluncurkan oleh armada, Anda dapat menentukan tanda di [templat peluncuran](create-launch-template.md) yang direferensikan dalam permintaan Armada Spot, atau Anda dapat menentukan tanda dalam konfigurasi permintaan Armada Spot sebagai berikut:
+ Tentukan tanda untuk instans di `LaunchSpecifications`.
+ Untuk `ResourceType`, tentukan `instance`. Jika Anda menentukan nilai lain, permintaan armada akan gagal.
+ Untuk `Tags`, tentukan pasangan nilai-kunci. Anda dapat menentukan lebih dari satu pasangan nilai-kunci.

Dalam contoh berikut, instans yang diluncurkan oleh armada ditandai dengan satu tanda: Kunci=Pusat-Biaya dan Nilai=123.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchSpecifications": [
            {
                "ImageId": "ami-0123456789EXAMPLE",
                "InstanceType": "c4.large",
                "TagSpecifications": [
                    {
                        "ResourceType": "instance",
                        "Tags": [
                            {
                                "Key": "Cost-Center",
                                "Value": "123"
                            }
                        ]
                    }
                ]
            }
        ],
        "SpotPrice": "5",
        "TargetCapacity": 2,
        "TerminateInstancesWithExpiration": true,
        "Type": "maintain",
        "ReplaceUnhealthyInstances": true,
        "InstanceInterruptionBehavior": "terminate",
        "InstancePoolsToUseCount": 1
    }
}
```

**Untuk menandai volume yang dilampirkan ke Instans Sesuai Permintaan yang diluncurkan oleh Armada Spot menggunakan AWS CLI**  
Untuk menandai volume saat dibuat oleh armada, Anda harus menentukan tanda di [templat peluncuran](create-launch-template.md) yang direferensikan dalam permintaan Armada Spot.

**catatan**  
Tanda volume hanya didukung untuk volume yang dilampirkan ke Instans Sesuai Permintaan. Anda tidak dapat menandai volume yang dilampirkan ke Instans Spot.  
Penandaan volume `LaunchSpecifications` tidak didukung.

## Menandai Armada Spot yang ada
<a name="tag-existing-spot-fleet"></a>

**Untuk menandai permintaan Armada Spot yang sudah ada menggunakan konsol**

Setelah membuat permintaan Armada Spot, Anda dapat menambahkan tag ke permintaan armada menggunakan konsol.

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Tanda** dan pilih **Buat Tanda**.

**Untuk menandai permintaan Armada Spot yang ada menggunakan AWS CLI**  
Anda dapat menggunakan perintah [create-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-tags.html) untuk menandai sumber daya yang ada. Dalam contoh berikut, permintaan Armada Spot yang ada ditandai dengan Kunci=tujuan dan Nilai=uji.

```
aws ec2 create-tags \
    --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \
    --tags Key=purpose,Value=test
```

## Menampilkan tanda permintaan Armada Spot
<a name="view-spot-fleet-tags"></a>

**Untuk menampilkan tanda permintaan Armada Spot menggunakan konsol**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda dan pilih tab **Tanda**.

**Untuk menjelaskan tanda permintaan Armada Spot**  
Gunakan perintah [describe-tags](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-tags.html) untuk melihat tanda sumber daya yang ditentukan. Dalam contoh berikut, Anda menjelaskan tanda untuk permintaan Armada Spot yang ditentukan.

```
aws ec2 describe-tags \
    --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
```

```
{
    "Tags": [
        {
            "Key": "Environment",
            "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "ResourceType": "spot-fleet-request",
            "Value": "Production"
        },
        {
            "Key": "Another key",
            "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "ResourceType": "spot-fleet-request",
            "Value": "Another value"
        }
    ]
}
```

Anda juga dapat menampilkan tanda permintaan Armada Spot dengan menjelaskan permintaan Armada Spot.

Gunakan [describe-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html)perintah untuk melihat konfigurasi permintaan Armada Spot yang ditentukan, yang mencakup tag apa pun yang ditentukan untuk permintaan armada.

```
aws ec2 describe-spot-fleet-requests \
    --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
```

```
{
    "SpotFleetRequestConfigs": [
        {
            "ActivityStatus": "fulfilled",
            "CreateTime": "2020-02-13T02:49:19.709Z",
            "SpotFleetRequestConfig": {
                "AllocationStrategy": "capacityOptimized",
                "OnDemandAllocationStrategy": "lowestPrice",
                "ExcessCapacityTerminationPolicy": "Default",
                "FulfilledCapacity": 2.0,
                "OnDemandFulfilledCapacity": 0.0,
                "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role",
                "LaunchSpecifications": [
                    {
                        "ImageId": "ami-0123456789EXAMPLE",
                        "InstanceType": "c4.large"
                    }
                ],
                "TargetCapacity": 2,
                "OnDemandTargetCapacity": 0,
                "Type": "maintain",
                "ReplaceUnhealthyInstances": false,
                "InstanceInterruptionBehavior": "terminate"
            },
            "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE",
            "SpotFleetRequestState": "active",
            "Tags": [
                {
                    "Key": "Environment",
                    "Value": "Production"
                },
                {
                    "Key": "Another key",
                    "Value": "Another value"
                }
            ]
        }
    ]
}
```

# Jelaskan permintaan Armada Spot, instansinya, dan riwayat acara
<a name="manage-spot-fleet"></a>

Anda dapat menjelaskan konfigurasi Armada Spot, instans di Armada Spot, dan riwayat acara Armada Spot Anda.

------
#### [ Console ]

**Untuk menggambarkan Armada Spot Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda. ID dimulai dengan **sfr-**. Untuk melihat detail konfigurasi, pilih **Deskripsi**.

1. Guna membuat daftar Instans Spot untuk Armada Spot, pilih **Instans**.

1. Untuk menampilkan riwayat Armada Spot, pilih **Riwayat**.

------
#### [ AWS CLI ]

**Untuk menjelaskan permintaan Armada Spot Anda**  
Gunakan perintah [describe-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-requests.html).

```
aws ec2 describe-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

**Untuk menjelaskan instance yang sedang berjalan untuk permintaan Armada Spot yang ditentukan**  
Gunakan perintah [describe-spot-fleet-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-instances.html).

```
aws ec2 describe-spot-fleet-instances \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE
```

**Untuk menjelaskan riwayat acara untuk permintaan Armada Spot yang ditentukan**  
Gunakan perintah [describe-spot-fleet-request-history](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-spot-fleet-request-history.html).

```
aws ec2 describe-spot-fleet-request-history \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --start-time 2024-05-18T00:00:00Z
```

------
#### [ PowerShell ]

**Untuk menjelaskan permintaan Armada Spot Anda**  
Gunakan [Get-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetRequest.html)cmdlet.

```
Get-EC2SpotFleetRequest
```

**Untuk menjelaskan instance yang sedang berjalan untuk permintaan Armada Spot yang ditentukan**  
Gunakan [Get-EC2SpotFleetInstance](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetInstance.html)cmdlet.

```
Get-EC2SpotFleetInstance `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE"
```

**Untuk menjelaskan riwayat acara untuk permintaan Armada Spot yang ditentukan**  
Gunakan [Get-EC2SpotFleetRequestHistory](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2SpotFleetRequestHistory.html)cmdlet.

```
Get-EC2SpotFleetRequestHistory `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -UtcStartTime 2024-05-18T00:00:00Z
```

------

# Memodifikasi permintaan Armada Spot
<a name="modify-spot-fleet"></a>

Anda dapat memodifikasi permintaan Armada Spot yang aktif untuk menyelesaikan tugas berikut:
+ Meningkatkan total kapasitas target dan porsi On-Demand
+ Mengurangi total kapasitas target dan porsi On-Demand

Saat Anda meningkatkan total kapasitas target, Armada Spot meluncurkan Instans Spot tambahan sesuai dengan [strategi alokasi](ec2-fleet-allocation-strategy.md) untuk permintaan Armada Spot. Saat Anda meningkatkan bagian Sesuai Permintaan, Armada Spot meluncurkan Instans Sesuai Permintaan tambahan.

Saat Anda mengurangi total kapasitas target, Armada Spot membatalkan permintaan terbuka yang melebihi kapasitas target baru. Anda dapat meminta agar Armada Spot mengakhiri Instans Spot hingga ukuran armada mencapai kapasitas target yang baru. Jika strategi alokasinya adalah `diversified`, Armada Spot akan mengakhiri instans di seluruh kolam. Atau, Anda dapat meminta agar Armada Spot mempertahankan armada pada ukurannya saat ini, tetapi tidak mengganti Instans Spot apa pun yang terinterupsi atau yang Anda akhiri secara manual.

**Pertimbangan-pertimbangan**
+ Anda tidak dapat memodifikasi permintaan Armada Spot satu kali. Anda hanya dapat memodifikasi permintaan Armada Spot jika memilih **Pertahankan kapasitas target** saat membuat permintaan Armada Spot.
+ Ketika Armada Spot mengakhiri instans karena kapasitas target berkurang, instans tersebut akan menerima pemberitahuan interupsi Instans Spot.

------
#### [ Console ]

**Untuk mengubah permintaan Armada Spot**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih **Tindakan**, **Modifikasi kapasitas target**.

1. Dalam **Modifikasi kapasitas target**, lakukan hal berikut:

   1. Masukkan kapasitas target baru dan bagian Sesuai Permintaan.

   1. (Opsional) Jika Anda menurunkan kapasitas target tetapi ingin mempertahankan armada pada ukurannya saat ini, hapus **Akhiri instans**.

   1. Pilih **Kirim**.

------
#### [ AWS CLI ]

**Untuk mengubah permintaan Armada Spot**  
Gunakan [modify-spot-fleet-request](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-spot-fleet-request.html)perintah untuk memperbarui kapasitas target permintaan Armada Spot yang ditentukan.

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 20
```

Anda dapat mengubah perintah sebelumnya sebagai berikut untuk mengurangi kapasitas target Armada Spot yang ditentukan tanpa mengakhiri Instans Spot sebagai akibatnya.

```
aws ec2 modify-spot-fleet-request \
    --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --target-capacity 10 \
    --excess-capacity-termination-policy NoTermination
```

------
#### [ PowerShell ]

**Untuk mengubah permintaan Armada Spot**  
Gunakan [Edit-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2SpotFleetRequest.html)cmdlet untuk memperbarui kapasitas target permintaan Armada Spot yang ditentukan.

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20
```

Anda dapat mengubah perintah sebelumnya sebagai berikut untuk mengurangi kapasitas target Armada Spot yang ditentukan tanpa mengakhiri Instans Spot sebagai akibatnya.

```
Edit-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TargetCapacity 20 `
    -ExcessCapacityTerminationPolicy "NoTermination"
```

------

# Membatalkan (menghapus) permintaan Armada Spot
<a name="cancel-spot-fleet"></a>

Jika Anda tidak lagi memerlukan Armada Spot, Anda dapat membatalkan permintaan Armada Spot, yang menghapus permintaan tersebut. Setelah Anda membatalkan permintaan armada, semua permintaan Spot yang terkait dengan armada juga dibatalkan, sehingga tidak ada Instans Spot baru yang diluncurkan.

Saat membatalkan permintaan Armada Spot, Anda juga harus menentukan apakah ingin mengakhiri semua instans. Instans tersebut mencakup Instans Sesuai Permintaan dan Instans Spot.

**Awas**  
**Mengakhiri sebuah instance bersifat permanen dan ireversibel.**  
Setelah Anda menghentikan sebuah instance, Anda tidak dapat lagi terhubung dengannya, dan itu tidak dapat dipulihkan. Semua volume Amazon EBS terlampir yang dikonfigurasi untuk dihapus saat penghentian juga dihapus secara permanen dan tidak dapat dipulihkan. Semua data yang disimpan pada volume penyimpanan instance hilang secara permanen. Untuk informasi selengkapnya, lihat [Cara kerja penghentian instance](how-ec2-instance-termination-works.md).  
Sebelum menghentikan instans, pastikan bahwa Anda telah mencadangkan semua data yang perlu disimpan setelah penghentian penyimpanan persisten.

Jika Anda menentukan bahwa instans harus diakhiri saat permintaan armada dibatalkan, permintaan armada akan memasuki status `cancelled_terminating`. Jika tidak, armada masuk ke status `cancelled_running` dan instans terus berjalan hingga diinterupsi atau Anda mengakhirinya secara manual.

**Pembatasan**
+ Anda dapat membatalkan hingga 100 armada dalam satu permintaan. Jika Anda melebihi jumlah yang ditentukan, tidak ada armada yang dibatalkan.

------
#### [ Console ]

**Untuk membatalkan (menghapus) permintaan Armada Spot**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih **Tindakan**, **Batalkan permintaan**.

1. Di kotak dialog **Batalkan permintaan Spot**, lakukan hal berikut:

   1. Untuk mengakhiri instans terkait pada saat yang sama dengan membatalkan permintaan Armada Spot, biarkan kotak centang **Hentikan** instans dipilih. Untuk membatalkan permintaan Armada Spot tanpa menghentikan instance terkait, kosongkan kotak centang **Hentikan** instans.

   1. Pilih **Konfirmasi**.

------
#### [ AWS CLI ]

**Untuk membatalkan (menghapus) permintaan Armada Spot dan menghentikan instance-nya**  
Gunakan perintah [cancel-spot-fleet-requests](https://docs.aws.amazon.com/cli/latest/reference/ec2/cancel-spot-fleet-requests.html) dengan opsi `--terminate-instances`.

```
aws ec2 cancel-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --terminate-instances
```

Berikut ini adalah output contoh.

```
{
    "SuccessfulFleetRequests": [
        {
            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
            "CurrentSpotFleetRequestState": "cancelled_terminating",
            "PreviousSpotFleetRequestState": "active"
        }
    ],
    "UnsuccessfulFleetRequests": []
}
```

**Untuk membatalkan (menghapus) permintaan Armada Spot tanpa menghentikan instance-nya**  
Ubah contoh sebelumnya dengan menggunakan `--no-terminate-instances` opsi sebagai gantinya.

```
aws ec2 cancel-spot-fleet-requests \
    --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \
    --no-terminate-instances
```

Berikut ini adalah output contoh.

```
{
    "SuccessfulFleetRequests": [
        {
            "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
            "CurrentSpotFleetRequestState": "cancelled_running",
            "PreviousSpotFleetRequestState": "active"
        }
    ],
    "UnsuccessfulFleetRequests": []
}
```

------
#### [ PowerShell ]

**Untuk membatalkan (menghapus) permintaan Armada Spot dan menghentikan instance-nya**  
Gunakan [Stop-EC2SpotFleetRequest](https://docs.aws.amazon.com/powershell/latest/reference/items/Stop-EC2SpotFleetRequest.html)cmdlet dengan parameter. `-TerminateInstance`

```
Stop-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $true
```

**Untuk membatalkan (menghapus) permintaan Armada Spot tanpa menghentikan instance-nya**  
Ubah contoh sebelumnya dengan mengubah nilai `-TerminateInstance` parameter.

```
Stop-EC2SpotFleetRequest `
    -SpotFleetRequestId "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" `
    -TerminateInstance $false
```

------

# Memahami penskalaan otomatis untuk Armada Spot
<a name="spot-fleet-automatic-scaling"></a>

*Penskalaan otomatis* memungkinkan Armada Spot Anda menambah atau mengurangi kapasitas targetnya berdasarkan permintaan. Dengan penskalaan otomatis, Armada Spot dapat meluncurkan instans (skala keluar) atau menghentikan instance (skala masuk) dalam rentang tertentu, sebagai respons terhadap satu atau beberapa kebijakan penskalaan.

Penskalaan otomatis untuk Armada Spot dimungkinkan oleh kombinasi API Amazon EC2, CloudWatch Amazon, dan Application Auto Scaling. Permintaan Armada Spot dibuat dengan Amazon EC2, alarm dibuat dengan CloudWatch, dan kebijakan penskalaan dibuat dengan Application Auto Scaling.

**Jenis penskalaan otomatis**

Armada Spot mendukung tipe penskalaan otomatis berikut:
+ [Penskalaan pelacakan target - Menambah](spot-fleet-target-tracking.md) atau mengurangi kapasitas armada saat ini dengan menargetkan nilai untuk metrik tertentu. Ini mirip dengan cara termostat Anda mempertahankan suhu rumah Anda—Anda memilih suhu yang diinginkan dan termostat melakukan sisanya.
+ [Penskalaan bertahap](spot-fleet-step-scaling.md) – Meningkatkan atau menurunkan kapasitas armada saat ini berdasarkan set penyesuaian penskalaan, yang disebut dengan penyesuaian langkah, yang bervariasi berdasarkan ukuran pelanggaran alarm.
+ [Penskalaan Terjadwal](spot-fleet-scheduled-scaling.md) – Meningkatkan atau mengurangi kapasitas armada saat ini berdasarkan tanggal dan waktu.

## Pertimbangan-pertimbangan
<a name="considerations-for-spot-fleet-automatic-scaling"></a>

Saat menggunakan penskalaan otomatis untuk Armada Spot Anda, pertimbangkan hal berikut:
+ **Pembobotan instans** — Jika Anda menggunakan [pembobotan instans](ec2-fleet-instance-weighting.md), ingatlah bahwa Armada Spot dapat melebihi kapasitas target sesuai kebutuhan. Kapasitas yang terpenuhi dapat berupa angka titik mengambang, tetapi kapasitas target harus berupa bilangan bulat, sehingga Armada Spot membulatkan ke bilangan bulat berikutnya. Anda harus mempertimbangkan perilaku ini jika Anda melihat hasil dari kebijakan penskalaan saat alarm dipicu. Sebagai contoh, misalkan kapasitas target adalah 30, kapasitas yang terpenuhi adalah 30,1, dan kebijakan penskalaan dikurangi 1. Apabila alarm dipicu, proses penskalaan otomatis akan mengurangi 1 dari 30,1 untuk mendapatkan 29,1, kemudian membulatkannya menjadi 30, sehingga tidak ada tindakan penskalaan yang dilakukan. Sebagai contoh lain, misalkan Anda memilih bobot instans 2, 4, dan 8, serta kapasitas target 10, tetapi tidak ada instans bobot 2 yang tersedia sehingga Armada Spot akan menyediakan instans bobot 4 dan 8 untuk kapasitas terpenuhi sebesar 12. Jika kebijakan penskalaan mengurangi kapasitas target sebesar 20% dan alarm dipicu, proses penskalaan otomatis akan mengurangi 12\$10,2 dari 12 untuk mendapatkan 9,6, kemudian membulatkannya menjadi 10, sehingga tidak ada tindakan penskalaan yang dilakukan.
+ **Periode Cooldown** — Kebijakan penskalaan yang Anda buat untuk Armada Spot mendukung periode cooldown. Periode ini adalah jumlah detik setelah aktivitas penskalaan selesai saat aktivitas penskalaan terkait pemicu sebelumnya dapat memengaruhi peristiwa penskalaan di masa mendatang. Untuk kebijakan penskalaan ke luar, selama periode pendinginan berlaku, kapasitas yang telah ditambahkan oleh peristiwa penskalaan ke luar sebelumnya yang memulai pendinginan dihitung sebagai bagian dari kapasitas yang diinginkan untuk penskalaan ke luar berikutnya. Tujuannya adalah untuk terus (tetapi tidak berlebihan) menskalakan ke luar. Untuk kebijakan penskalaan ke dalam, periode pendinginan digunakan untuk memblokir permintaan penskalaan ke dalam berikutnya hingga kedaluwarsa. Tujuannya adalah untuk menskalakan ke dalam secara konservatif guna melindungi ketersediaan aplikasi Anda. Namun, jika alarm lain memicu kebijakan penskalaan ke luar selama periode pendinginan setelah penskalaan ke dalam, penskalaan otomatis akan segera mengurangi target yang dapat diskalakan.
+ **Gunakan pemantauan terperinci** — Kami menyarankan Anda menskalakan berdasarkan metrik instans dengan frekuensi 1 menit karena hal itu memastikan respons yang lebih cepat terhadap perubahan pemanfaatan. Penskalaan pada metrik dengan frekuensi 5 menit dapat menyebabkan waktu respons yang lebih lambat dan penskalaan pada data metrik yang sudah usang. Untuk mengirim data metrik untuk instance Anda CloudWatch dalam periode 1 menit, Anda harus secara khusus mengaktifkan pemantauan mendetail. Untuk informasi selengkapnya, lihat [Mengelola pemantauan terperinci untuk instans EC2 Anda](manage-detailed-monitoring.md) dan [Membuat permintaan Armada Spot menggunakan parameter yang ditentukan](create-spot-fleet.md#create-spot-fleet-advanced).
+ **AWS CLI**— Jika Anda menggunakan AWS CLI untuk mengonfigurasi penskalaan untuk Spot Fleet, Anda akan menggunakan perintah [application-autoscaling](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling).

# Izin IAM diperlukan untuk penskalaan otomatis Armada Spot
<a name="spot-fleet-auto-scaling-IAM"></a>

Penskalaan otomatis untuk Armada Spot dimungkinkan oleh kombinasi API Amazon EC2, CloudWatch Amazon, dan Application Auto Scaling. Permintaan Armada Spot dibuat dengan Amazon EC2, alarm dibuat dengan CloudWatch, dan kebijakan penskalaan dibuat dengan Application Auto Scaling. Selain [izin IAM yang diperlukan untuk menggunakan Spot Fleet](spot-fleet-prerequisites.md#spot-fleet-iam-users) dan Amazon EC2, pengguna yang mengakses pengaturan penskalaan armada harus memiliki izin yang sesuai untuk layanan yang mendukung penskalaan otomatis.

Untuk menggunakan penskalaan otomatis untuk Armada Spot, pengguna harus memiliki izin untuk menggunakan tindakan yang ditampilkan dalam kebijakan contoh berikut. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "application-autoscaling:*",
                "ec2:DescribeSpotFleetRequests",
                "ec2:ModifySpotFleetRequest",
                "cloudwatch:DeleteAlarms",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeAlarmsForMetric",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics",
                "cloudwatch:PutMetricAlarm",
                "cloudwatch:DisableAlarmActions",
                "cloudwatch:EnableAlarmActions",
                "iam:CreateServiceLinkedRole",
                "sns:CreateTopic",
                "sns:Subscribe",
                "sns:Get*",
                "sns:List*"
            ],
            "Resource": "*"
        }
    ]
}
```

------

Anda juga dapat membuat kebijakan IAM Anda sendiri yang memungkinkan izin yang lebih mendetail untuk panggilan ke API Penskalaan Otomatis Aplikasi. Untuk informasi selengkapnya, lihat [Identity and Access Management untuk Application Auto Scaling di Panduan](https://docs.aws.amazon.com/autoscaling/application/userguide/auth-and-access-control.html) Pengguna *Application Auto Scaling*.

Layanan Application Auto Scaling juga memerlukan izin untuk menjelaskan Armada Spot dan CloudWatch alarm Anda, dan izin untuk mengubah kapasitas target Armada Spot Anda atas nama Anda. Jika Anda mengaktifkan penskalaan otomatis untuk Armada Spot, fitur ini akan menciptakan peran tertaut layanan bernama `AWSServiceRoleForApplicationAutoScaling_EC2SpotFleetRequest`. Peran tertaut layanan ini memberikan izin Penskalaan Otomatis Aplikasi untuk mendeskripsikan alarm bagi kebijakan Anda, memantau kapasitas armada saat ini, dan memodifikasi kapasitas armada. Peran Armada Spot terkelola asli untuk Penskalaan Otomatis Aplikasi adalah`aws-ec2-spot-fleet-autoscale-role`, tetapi tidak lagi diperlukan. Peran tertaut layanan adalah peran default untuk Penskalaan Otomatis Aplikasi. Untuk informasi selengkapnya, lihat [Peran tertaut layanan untuk Application Auto Scaling](https://docs.aws.amazon.com/autoscaling/application/userguide/application-auto-scaling-service-linked-roles.html) dalam *Panduan Pengguna Application Auto Scaling*.

# Penskalaan pelacakan target: Skala Armada Spot dengan menargetkan nilai untuk metrik tertentu
<a name="spot-fleet-target-tracking"></a>

Dengan penskalaan pelacakan target, Anda membuat kebijakan penskalaan pelacakan target dengan memilih metrik dan menetapkan nilai target. Spot Fleet kemudian membuat dan mengelola CloudWatch alarm yang memicu kebijakan penskalaan, dan menghitung penyesuaian penskalaan berdasarkan metrik dan nilai target yang dipilih. Kebijakan penskalaan menyesuaikan kapasitas dengan menambahkan atau menghapus instance sesuai kebutuhan untuk menjaga metrik pada, atau mendekati, nilai target yang ditentukan. Kebijakan pelacakan target tidak hanya menjaga metrik mendekati nilai target, tetapi juga menyesuaikan dengan fluktuasi metrik karena pola beban yang berfluktuasi dan meminimalkan fluktuasi kapasitas yang cepat.

Anda dapat membuat beberapa kebijakan penskalaan pelacakan target untuk Armada Spot, asalkan setiap kebijakan menggunakan metrik yang berbeda. Skala armada berdasarkan kebijakan yang menentukan kapasitas armada terbesar. Ini memungkinkan Anda untuk mencakup beberapa skenario untuk memastikan kapasitas yang cukup untuk beban kerja aplikasi Anda.

Untuk memastikan ketersediaan aplikasi, armada menskalakan ke luar secara proporsional dengan metrik secepat mungkin, tetapi menskalakan ke dalam secara lebih bertahap.

Ketika Armada Spot menghentikan Instans Spot karena kapasitas target berkurang, instans menerima pemberitahuan interupsi Instans Spot.

**catatan**  
Jangan mengedit atau menghapus CloudWatch alarm yang dikelola Spot Fleet untuk kebijakan penskalaan pelacakan target. Armada Spot menghapus alarm secara otomatis saat Anda menghapus kebijakan penskalaan pelacakan target.

**Prasyarat**
+ Permintaan Armada Spot harus memiliki permintaan tipe `maintain`. Penskalaan otomatis tidak didukung untuk permintaan tipe `request`.
+ Konfigurasikan[Izin IAM diperlukan untuk penskalaan otomatis Armada Spot](spot-fleet-auto-scaling-IAM.md).
+ Tinjau[Pertimbangan-pertimbangan](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Untuk mengonfigurasi kebijakan pelacakan target**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Auto Scaling** di dekat bagian bawah layar. Jika Anda memilih tautan untuk Armada Spot Anda, tidak ada tab; sebagai gantinya, gulir ke bawah ke bagian **Auto Scaling**.

1. Jika penskalaan otomatis tidak dikonfigurasi, pilih **Konfigurasikan**.

1. Gunakan **Skalakan kapasitas antara** guna mengatur kapasitas minimum dan maksimum untuk armada Anda. Penskalaan otomatis tidak menskalakan armada Anda di bawah kapasitas minimum atau di atas kapasitas maksimum.

1. Untuk **Nama kebijakan**, masukkan nama untuk kebijakan tersebut.

1. Pilih **Metrik target**.

1. Masukkan **Nilai target** untuk metrik.

1. Untuk **Periode pendinginan**, tentukan nilai baru (dalam detik) atau simpan default.

1. **(Opsional) Untuk menghilangkan pembuatan kebijakan penskalaan berdasarkan konfigurasi saat ini, pilih Nonaktifkan penskalaan.** Anda dapat membuat kebijakan penskalaan ke dalam menggunakan konfigurasi yang berbeda.

1. Pilih **Simpan**.

**Untuk mengonfigurasi kebijakan pelacakan target menggunakan AWS CLI**

1. Daftarkan permintaan Spot Fleet sebagai target yang dapat diskalakan menggunakan [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)perintah.

1. Buat kebijakan penskalaan menggunakan [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)perintah.

# Penskalaan langkah: Scale Spot Fleet menggunakan kebijakan penskalaan langkah
<a name="spot-fleet-step-scaling"></a>

Dengan kebijakan penskalaan langkah, Anda menentukan CloudWatch alarm untuk memicu proses penskalaan. Misalnya, jika Anda ingin melakukan penskalaan ke luar saat pemanfaatan CPU mencapai tingkat tertentu, buat alarm menggunakan metrik `CPUUtilization` yang disediakan oleh Amazon EC2.

Saat membuat kebijakan penskalaan bertahap, Anda harus menentukan salah satu dari tipe penyesuaian penskalaan berikut:
+ **Tambah** – Meningkatkan kapasitas target armada dengan jumlah unit kapasitas tertentu atau persentase tertentu dari kapasitas saat ini.
+ **Hapus** – Mengurangi kapasitas target armada dengan jumlah unit kapasitas tertentu atau persentase tertentu dari kapasitas saat ini.
+ **Atur ke** – Mengatur kapasitas target armada ke jumlah unit kapasitas yang ditentukan.

Saat alarm dipicu, proses penskalaan otomatis akan menghitung kapasitas target baru menggunakan kapasitas yang terpenuhi dan kebijakan penskalaan, lalu memperbarui kapasitas target yang sesuai. Sebagai contoh, misalkan kapasitas target dan kapasitas yang terpenuhi adalah 10 serta kebijakan penskalaan menambahkan 1. Saat alarm dipicu, proses penskalaan otomatis akan menambahkan 1 hingga 10 untuk mendapatkan 11, jadi Armada Spot meluncurkan 1 instans.

Ketika Armada Spot menghentikan Instans Spot karena kapasitas target berkurang, instans menerima pemberitahuan interupsi Instans Spot.

**Prasyarat**
+ Permintaan Armada Spot harus memiliki permintaan tipe `maintain`. Penskalaan otomatis tidak didukung untuk permintaan tipe `request`.
+ Konfigurasikan[Izin IAM diperlukan untuk penskalaan otomatis Armada Spot](spot-fleet-auto-scaling-IAM.md).
+ Pertimbangkan CloudWatch metrik mana yang penting untuk aplikasi Anda. Anda dapat membuat CloudWatch alarm berdasarkan metrik yang disediakan oleh AWS atau metrik kustom Anda sendiri.
+ Untuk AWS metrik yang akan Anda gunakan dalam kebijakan penskalaan, aktifkan pengumpulan CloudWatch metrik jika layanan yang menyediakan metrik tidak mengaktifkannya secara default.
+ Tinjau[Pertimbangan-pertimbangan](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Untuk membuat CloudWatch alarm**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Di panel navigasi, perluas **Alarm dan pilih **Semua** alarm**.

1. Pilih **Buat alarm**.

1. Di halaman **Tentukan metrik dan kondisi**, pilih **Pilih metrik**. 

1. Pilih **EC2 Spot**, lalu **Metrik Permintaan Armada**, lalu pilih metrik (misalnya, **TargetCapacity**), lalu **pilih Pilih** metrik.

   Halaman **Tentukan metrik dan kondisi** ditampilkan, yang menunjukkan grafik dan informasi lain tentang metrik yang Anda pilih. 

1. Untuk **Periode**, pilih periode evaluasi untuk alarm, misalnya, **1 menit**. Saat Anda mengevaluasi alarm, tiap periode akan digabungkan menjadi satu titik data. 
**catatan**  
Periode yang lebih pendek menghasilkan alarm yang lebih sensitif. 

1. Untuk **Kondisi**, tentukan alarm dengan menentukan kondisi ambang batas. Misalnya, Anda dapat menentukan ambang batas untuk memicu alarm setiap kali nilai metrik lebih besar dari atau sama dengan 80 persen.

1. Di **Konfigurasi tambahan**, untuk **Titik data ke alarm**, tentukan banyaknya titik data (periode evaluasi) yang harus berada dalam status ALARM untuk memicu alarm, misalnya, 1 periode evaluasi atau 2 dari 3 periode evaluasi. Hal tersebut membuat alarm yang masuk ke status ALARM jika terjadi pelanggaran sebanyak itu secara berturut-turut. Untuk informasi selengkapnya, lihat [Mengevaluasi alarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarm-evaluation) di *Panduan CloudWatch Pengguna Amazon*.

1. Untuk **Penanganan data hilang**, pilih salah satu opsi (atau biarkan default **Perlakukan data yang hilang sebagai hilang**). Untuk informasi selengkapnya, lihat [Mengonfigurasi cara CloudWatch alarm menangani data yang hilang](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/AlarmThatSendsEmail.html#alarms-and-missing-data) di * CloudWatch Panduan Pengguna Amazon*.

1. Pilih **Berikutnya**.

1. (Opsional) Agar menerima notifikasi peristiwa penskalaan, untuk **Notifikasi**, Anda dapat memilih atau membuat topik Amazon SNS yang ingin Anda gunakan untuk menerima notifikasi. Jika tidak, Anda dapat menghapus notifikasi sekarang dan menambahkannya nanti sesuai kebutuhan.

1. Pilih **Berikutnya**.

1. Di bawah **Tambahkan nama dan deskripsi**, masukkan nama dan deskripsi untuk alarm dan pilih **Berikutnya**.

1. Pilih **Buat alarm**.

**Untuk mengonfigurasi kebijakan penskalaan langkah untuk Armada Spot Anda**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Auto Scaling** di dekat bagian bawah layar. Jika Anda memilih tautan untuk Armada Spot Anda, tidak ada tab; sebagai gantinya, gulir ke bawah ke bagian **Auto Scaling**.

1. Jika penskalaan otomatis tidak dikonfigurasi, pilih **Konfigurasikan**.

1. Gunakan **Skalakan kapasitas antara** guna mengatur kapasitas minimum dan maksimum untuk armada Anda. Kebijakan penskalaan tidak menskalakan armada Anda di bawah atau di atas kapasitas maksimum.

1. Di bawah **Kebijakan penskalaan**, untuk **jenis kebijakan**, pilih Kebijakan **penskalaan langkah**.

1. Awalnya, **Kebijakan penskalaan** berisi kebijakan penskalaan langkah yang bernama **ScaleUp** dan **ScaleDown**. Anda dapat melengkapi kebijakan ini, atau memilih **Hapus kebijakan** untuk menghapusnya. Anda juga dapat memilih **Tambahkan kebijakan**.

1. Untuk menentukan kebijakan, lakukan hal berikut:

   1. Untuk **Nama kebijakan**, masukkan nama untuk kebijakan tersebut.

   1. Untuk **pemicu Kebijakan**, pilih alarm yang ada, atau pilih **Buat alarm** untuk membuka CloudWatch konsol Amazon dan membuat alarm.

   1. Untuk **Modifikasi kapasitas**, tentukan jumlah yang akan diskalakan serta batas bawah dan atas dari penyesuaian langkah. Anda dapat menambahkan atau menghapus sejumlah instans tertentu atau persentase ukuran armada yang ada, atau mengatur armada ke ukuran yang tepat. 

      Misalnya, untuk membuat kebijakan penskalaan langkah yang meningkatkan kapasitas armada sebesar 30 persen, pilih **Tambah**, masukkan **30** di bidang berikutnya, lalu pilih **persen**. Secara default, batas bawah untuk kebijakan penambahan adalah ambang batas alarm, sedangkan batas atas adalah positif (\$1) tak terbatas. Secara default, batas atas untuk kebijakan penghapusan adalah ambang batas alarm, sedangkan batas bawah adalah negatif (-) tak terbatas.

   1. (Opsional) untuk menambahkan langkah lain, pilih **Tambahkan langkah**.

   1. Untuk **Periode pendinginan**, tentukan nilai baru (dalam detik) atau simpan default.

1. Pilih **Simpan**.

**Untuk mengonfigurasi kebijakan penskalaan langkah untuk Armada Spot Anda menggunakan AWS CLI**

1. Daftarkan permintaan Spot Fleet sebagai target yang dapat diskalakan menggunakan [register-scalable-target](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/register-scalable-target.html)perintah.

1. Buat kebijakan penskalaan menggunakan [put-scaling-policy](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scaling-policy.html)perintah.

1. Buat alarm yang memicu kebijakan penskalaan menggunakan perintah. [put-metric-alarm](https://docs.aws.amazon.com/cli/latest/reference/cloudwatch/put-metric-alarm.html)

# Penskalaan terjadwal: Scale Spot Fleet sesuai jadwal
<a name="spot-fleet-scheduled-scaling"></a>

Menskalakan armada sesuai jadwal memungkinkan Anda menskalakan aplikasi sebagai respons terhadap perubahan permintaan yang dapat diprediksi. Dengan membuat *tindakan terjadwal*, Anda dapat menginstruksikan Armada Spot untuk melakukan aktivitas penskalaan pada waktu tertentu. Untuk membuat tindakan terjadwal, Anda harus menentukan Armada Spot yang ada, waktu kapan aktivitas penskalaan harus terjadi, dan kapasitas minimum dan maksimum yang diinginkan. Tindakan terjadwal dapat dikonfigurasi untuk skala sekali atau pada jadwal berulang. Jika perlu diubah, Anda dapat mengedit atau menghapus tindakan terjadwal.

**Prasyarat**
+ Tindakan terjadwal hanya dapat dibuat untuk Armada Spot yang ada. Anda tidak dapat membuat tindakan terjadwal saat membuat Armada Spot.
+ Permintaan Armada Spot harus memiliki permintaan tipe `maintain`. Penskalaan otomatis tidak didukung untuk permintaan tipe `request`.
+ Konfigurasikan[Izin IAM diperlukan untuk penskalaan otomatis Armada Spot](spot-fleet-auto-scaling-IAM.md).
+ Tinjau[Pertimbangan-pertimbangan](spot-fleet-automatic-scaling.md#considerations-for-spot-fleet-automatic-scaling).

**Untuk membuat tindakan terjadwal satu kali**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Penskalaan Terjadwal** di dekat bagian bawah layar. Jika Anda memilih tautan untuk Armada Spot Anda, tidak ada tab; sebagai gantinya, gulir ke bawah ke bagian **Penskalaan Terjadwal**.

1. Pilih **Buat tindakan terjadwal**.

1. Untuk **Nama**, tentukan nama untuk tindakan terjadwal.

1. Masukkan nilai untuk **Kapasitas minimum**, **Kapasitas maksimum**, atau keduanya.

1. Untuk **Perulangan**, pilih **Sekali**.

1. (Opsional) Pilih tanggal dan waktu untuk **Waktu mulai**, **Waktu berakhir**, atau keduanya.

1. Pilih **Buat**.

**Untuk membuat tindakan terjadwal berulang**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Penskalaan Terjadwal** di dekat bagian bawah layar. Jika Anda memilih tautan untuk Armada Spot Anda, tidak ada tab; sebagai gantinya, gulir ke bawah ke bagian **Penskalaan Terjadwal**.

1. Untuk **Nama**, tentukan nama untuk tindakan terjadwal.

1. Masukkan nilai untuk **Kapasitas minimum**, **Kapasitas maksimum**, atau keduanya.

1. Untuk **Perulangan**, pilih salah satu jadwal yang telah ditentukan sebelumnya (misalnya, **Setiap hari**), atau pilih **Kustom** dan masukkan ekspresi cron. Untuk informasi selengkapnya tentang ekspresi cron yang didukung oleh penskalaan terjadwal, lihat [Ekspresi cron di](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-scheduled-rule-pattern.html#eb-cron-expressions) Panduan Pengguna *Amazon EventBridge *.

1. (Opsional) Pilih tanggal dan waktu untuk **Waktu mulai**, **Waktu berakhir**, atau keduanya.

1. Pilih **Kirim**.

**Untuk mengedit tindakan terjadwal**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Penskalaan Terjadwal** di dekat bagian bawah layar. Jika Anda memilih tautan untuk Armada Spot Anda, tidak ada tab; sebagai gantinya, gulir ke bawah ke bagian **Penskalaan Terjadwal**.

1. Pilih tindakan terjadwal dan pilih **Tindakan**, **Edit**.

1. Lakukan perubahan yang diperlukan dan pilih **Kirim**.

**Untuk menghapus tindakan terjadwal**

1. Buka konsol Amazon EC2 di. [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/)

1. Di panel navigasi, pilih **Permintaan Spot**.

1. Pilih permintaan Armada Spot Anda.

1. Pilih tab **Penskalaan Terjadwal** di dekat bagian bawah layar. Jika Anda memilih tautan untuk Armada Spot Anda, tidak ada tab; sebagai gantinya, gulir ke bawah ke bagian **Penskalaan Terjadwal**.

1. Pilih tindakan terjadwal dan pilih **Tindakan**, **Hapus**.

1. Saat diminta konfirmasi, pilih **Hapus**.

**Untuk mengelola penskalaan terjadwal menggunakan AWS CLI**

Gunakan salah satu perintah berikut ini:
+ [put-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/put-scheduled-action.html)
+ [describe-scheduled-actions](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/describe-scheduled-actions.html)
+ [delete-scheduled-action](https://docs.aws.amazon.com/cli/latest/reference/application-autoscaling/delete-scheduled-action.html)

# Pantau Armada EC2 atau Armada Spot
<a name="fleet-monitor"></a>

Pemantauan yang efektif terhadap Armada EC2 atau Armada Spot Anda sangat penting untuk menjaga kinerja optimal dan memastikan keandalan. Ada berbagai alat untuk membantu Anda mencapai ini, termasuk Amazon CloudWatch dan Amazon EventBridge, yang dibahas dalam topik ini.

Dengan CloudWatch, Anda dapat mengumpulkan dan melacak metrik, mengatur alarm, dan secara otomatis bereaksi terhadap perubahan status armada Anda.

Dengan EventBridge, Anda dapat memantau dan merespons secara terprogram peristiwa yang dipancarkan oleh armada Anda. Dengan menetapkan aturan di EventBridge, Anda dapat mengotomatiskan respons terhadap peristiwa armada tertentu, seperti penghentian instans atau perubahan status armada, meningkatkan efisiensi operasional Anda.

**Topics**
+ [Pantau Armada EC2 atau Armada Spot Anda menggunakan CloudWatch](ec2-fleet-cloudwatch-metrics.md)
+ [Memantau dan merespons secara terprogram peristiwa yang dipancarkan oleh Armada EC2 atau Armada Spot Anda menggunakan Amazon EventBridge](monitor-ec2-fleet-using-eventbridge.md)

# Pantau Armada EC2 atau Armada Spot Anda menggunakan CloudWatch
<a name="ec2-fleet-cloudwatch-metrics"></a>

Anda dapat memantau Armada EC2 atau Armada Spot menggunakan CloudWatch metrik Amazon yang dijelaskan di bagian ini.

**penting**  
Untuk memastikan keakuratannya, sebaiknya Anda mengaktifkan pemantauan mendetail saat menggunakan metrik ini. Untuk informasi selengkapnya, lihat [Mengelola pemantauan terperinci untuk instans EC2 Anda](manage-detailed-monitoring.md).

Untuk informasi selengkapnya tentang penggunaan CloudWatch, lihat[Pantau instans Anda menggunakan CloudWatch](using-cloudwatch.md).

## Metrik Armada EC2 dan Armada Spot
<a name="ec2-fleet-metrics"></a>

`AWS/EC2Spot`Namespace mencakup metrik berikut untuk armada Anda, ditambah metrik untuk Instans Spot di armada Anda. CloudWatch Untuk informasi selengkapnya, lihat [Metrik instans](viewing_metrics_with_cloudwatch.md#ec2-cloudwatch-metrics).


| Metrik | Deskripsi | 
| --- | --- | 
| AvailableInstancePoolsCount |  Kumpulan kapasitas Spot yang ditentukan dalam permintaan armada. Unit: Hitungan  | 
| BidsSubmittedForCapacity |  Kapasitas Amazon EC2 telah mengajukan permintaan armada. Unit: Hitungan  | 
| EligibleInstancePoolCount |  Kumpulan kapasitas Spot yang ditentukan dalam permintaan armada tempat Amazon EC2 dapat memenuhi permintaan. Amazon EC2 tidak memenuhi permintaan di kolam tempat harga maksimum yang bersedia Anda bayarkan untuk Instans Spot kurang dari harga Spot atau harga Spot lebih tinggi dari harga Instans Sesuai Permintaan. Unit: Jumlah  | 
| FulfilledCapacity |  Kapasitas yang telah dipenuhi oleh Amazon EC2. Unit: Hitungan  | 
| MaxPercentCapacityAllocation |  Nilai maksimum `PercentCapacityAllocation` di semua kumpulan armada yang ditentukan dalam permintaan armada. Unit: Persen  | 
| PendingCapacity |  Perbedaan antara `TargetCapacity` dan `FulfilledCapacity`. Unit: Jumlah  | 
| PercentCapacityAllocation |  Kapasitas yang dialokasikan untuk kolam kapasitas Spot untuk dimensi tertentu. Agar nilai maksimum dapat tercatat di semua kolam kapasitas Spot, gunakan `MaxPercentCapacityAllocation`. Unit: Persen  | 
| TargetCapacity |  Kapasitas target permintaan armada. Unit: Hitungan  | 
| TerminatingCapacity |  Kapasitas yang sedang diakhiri karena kapasitas yang disediakan lebih besar dari kapasitas target. Unit: Jumlah  | 

Jika unit ukuran untuk metrik adalah `Count`, statistik yang paling berguna adalah `Average`.

## Dimensi Armada EC2 dan Armada Spot
<a name="ec2-fleet-dimensions"></a>

Untuk memfilter data armada Anda, gunakan dimensi berikut.


| Dimensi | Deskripsi | 
| --- | --- | 
| AvailabilityZone |  Filter data berdasarkan Zona Ketersediaan.  | 
| FleetRequestId |  Filter data berdasarkan permintaan armada.  | 
| InstanceType |  Filter data menurut tipe instans.  | 

## Lihat CloudWatch metrik untuk Armada EC2 atau Armada Spot
<a name="view-ec2-fleet-metrics"></a>

Anda dapat melihat CloudWatch metrik untuk armada Anda menggunakan CloudWatch konsol Amazon. Metrik ini ditampilkan sebagai grafik pemantauan. Grafik ini menunjukkan titik data jika armada aktif.

Metrik dikelompokkan terlebih dahulu berdasarkan namespace, kemudian berdasarkan berbagai kombinasi dimensi di dalam setiap namespace. Misalnya, Anda dapat melihat semua metrik armada atau grup metrik armada berdasarkan ID permintaan armada, jenis instans, atau Availability Zone.

**Untuk melihat metrik armada**

1. Buka CloudWatch konsol di [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Di panel navigasi, perluas **Metrik**, dan pilih **Semua** metrik.

1. Pilih namespace **Spot EC2**.
**catatan**  
Jika namespace **Spot EC2** tidak ditampilkan, ada dua alasan untuk ini. Entah Anda belum pernah menggunakan Armada EC2 atau Armada Spot di Region—hanya AWS layanan yang Anda gunakan mengirim metrik ke Amazon. CloudWatch Atau, jika Anda telah menggunakan Armada EC2 atau Armada Spot di Wilayah, tetapi tidak selama dua minggu terakhir, namespace tidak muncul.

1. Untuk memfilter metrik berdasarkan dimensi, pilih salah satu dari berikut ini:
   + **Metrik Permintaan Armada** — Kelompokkan berdasarkan permintaan armada
   + Berdasarkan **Availability Zone** — Kelompokkan berdasarkan permintaan armada dan Availability Zone
   + **Berdasarkan Jenis Instance** - Kelompokkan berdasarkan permintaan armada dan jenis instans
   + **Berdasarkan Zone/Instance Jenis Ketersediaan** — Kelompokkan berdasarkan permintaan armada, Availability Zone, dan tipe instans

1. Untuk melihat data untuk metrik, pilih kotak centang di sebelah metrik.

# Memantau dan merespons secara terprogram peristiwa yang dipancarkan oleh Armada EC2 atau Armada Spot Anda menggunakan Amazon EventBridge
<a name="monitor-ec2-fleet-using-eventbridge"></a>

Ketika status Armada EC2 atau Armada Spot berubah, ia mengeluarkan pemberitahuan. Pemberitahuan dibuat tersedia sebagai acara yang dikirim ke Amazon EventBridge (sebelumnya dikenal sebagai Amazon CloudWatch Events). Peristiwa dipancarkan atas dasar upaya terbaik.

Anda dapat menggunakan Amazon EventBridge untuk membuat aturan yang memicu tindakan terprogram sebagai respons terhadap suatu peristiwa. Misalnya, Anda dapat membuat dua EventBridge aturan: satu dipicu saat status armada berubah, dan yang lain dipicu saat instance dalam armada dihentikan. Dalam contoh ini, Anda dapat mengonfigurasi aturan pertama sehingga, jika status armada berubah, aturan akan memanggil topik SNS, mengirimkan pemberitahuan email kepada Anda. Anda dapat mengonfigurasi aturan kedua sehingga, jika instance dalam armada dihentikan, aturan akan memanggil fungsi Lambda untuk meluncurkan instance baru.

**catatan**  
Hanya armada tipe `maintain` dan `request` yang memancarkan peristiwa. Armada tipe `instant` tidak memancarkan peristiwa karena armada tipe tersebut mengirimkan permintaan satu kali sinkron, dan status armada segera diketahui dalam respons. Untuk menggunakan Amazon EventBridge untuk memantau peristiwa armada, jenis permintaan harus `maintain` atau`request`.

Untuk petunjuk tentang cara mendeskripsikan sejarah peristiwa armada, lihat[Jelaskan riwayat acara untuk Armada EC2 Anda](describe-ec2-fleet.md#describe-ec2-fleet-event-history).

**Topics**
+ [Membuat EventBridge aturan Amazon untuk memantau peristiwa Armada EC2 atau Armada Spot](#fleet_create-eventbridge-rules)
+ [Jenis acara Armada EC2](#ec2-fleet-event-types)
+ [Tipe peristiwa Armada Spot](#spot-fleet-event-types)

## Membuat EventBridge aturan Amazon untuk memantau peristiwa Armada EC2 atau Armada Spot
<a name="fleet_create-eventbridge-rules"></a>

Ketika pemberitahuan perubahan status dipancarkan untuk Armada EC2 atau Armada Spot, pemberitahuan tersebut dikirim sebagai peristiwa ke Amazon EventBridge sebagai file JSON. Jika EventBridge mendeteksi pola peristiwa yang cocok dengan pola yang ditentukan dalam aturan, EventBridge memanggil target (atau target) yang ditentukan dalam aturan.

Anda dapat menulis EventBridge aturan untuk mengotomatiskan tindakan berdasarkan pola peristiwa yang cocok. 

Bidang berikut dalam acara membentuk pola acara yang didefinisikan dalam aturan:

`"source": "aws.ec2fleet"`  
Mengidentifikasi bahwa peristiwa tersebut berasal dari Armada EC2.

`"detail-type": "EC2 Fleet State Change"`  
Mengidentifikasi tipe peristiwa.

`"detail": { "sub-type": "submitted" }`  
Mengidentifikasi subtipe peristiwa.

Untuk daftar peristiwa Armada EC2 dan Spot Fleet dan contoh data peristiwa, lihat [Jenis acara Armada EC2](#ec2-fleet-event-types) dan[Tipe peristiwa Armada Spot](#spot-fleet-event-types).

**Topics**
+ [Buat EventBridge aturan untuk mengirim pemberitahuan](#eventbridge-send-notification)
+ [Buat EventBridge aturan untuk memicu fungsi Lambda](#eventbridge-trigger-lambda)

### Buat EventBridge aturan untuk mengirim pemberitahuan
<a name="eventbridge-send-notification"></a>

Contoh berikut membuat EventBridge aturan untuk mengirim email, pesan teks, atau pemberitahuan push seluler setiap kali Amazon EC2 memancarkan pemberitahuan perubahan status Armada EC2. Sinyal dalam contoh ini dipancarkan sebagai peristiwa `EC2 Fleet State Change`, yang memicu tindakan yang ditentukan oleh aturan.

**Prasyarat**  
Sebelum membuat EventBridge aturan, Anda harus membuat topik Amazon SNS untuk email, pesan teks, atau pemberitahuan push seluler.

**Untuk membuat EventBridge aturan untuk mengirim pemberitahuan saat status Armada EC2 berubah**

1. Buka EventBridge konsol Amazon di [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Pilih **Buat aturan**.

1. Untuk **Tentukan detail aturan**, lakukan hal berikut:

   1. Masukkan **Nama** untuk aturan tersebut dan, secara opsional, deskripsi.

      Aturan tidak boleh memiliki nama yang sama dengan aturan lain di Wilayah yang sama dan di bus peristiwa yang sama.

   1. Untuk **Bus peristiwa**, pilih **default**. Ketika AWS layanan di akun Anda menghasilkan acara, itu selalu masuk ke bus acara default akun Anda.

   1. Untuk **Tipe aturan**, pilih **Aturan dengan pola peristiwa**.

   1. Pilih **Selanjutnya**.

1. Untuk **Pola peristiwa build**, lakukan hal berikut ini:

   1. Untuk **sumber Acara**, pilih **AWS acara atau acara EventBridge mitra**.

   1. Untuk **Pola peristiwa**, untuk contoh ini Anda akan menentukan pola peristiwa berikut agar sesuai dengan peristiwa `EC2 Fleet Instance Change`.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"]
      }
      ```

      Untuk menambahkan pola peristiwa, Anda dapat menggunakan templat dengan memilih **Bentuk pola peristiwa**, atau menentukan pola Anda sendiri dengan memilih **Pola kustom (editor JSON)**, sebagai berikut:

      1. Untuk menggunakan templat untuk membuat pola peristiwa, lakukan hal berikut:

         1. Pilih **Formulir pola peristiwa**.

         1. Untuk **Sumber peristiwa**, pilih **Layanan AWS **.

         1. Untuk **Layanan AWS **, pilih **Armada EC2**.

         1. Untuk **Tipe peristiwa**, pilih **Perubahan Instans Armada EC2**.

         1. Untuk menyesuaikan templat, pilih **Edit pola** dan buat perubahan Anda agar sesuai dengan contoh pola peristiwa.

      1. (Alternatif) Untuk menentukan pola peristiwa khusus, lakukan hal berikut:

         1. Pilih **Pola kustom (editor JSON)**.

         1. Dalam kotak **Pola peristiwa**, tambahkan pola peristiwa untuk contoh ini.

   1. Pilih **Selanjutnya**.

1. Untuk **Pilih target**, lakukan hal berikut:

   1. Untuk **Tipe Target**, pilih **Layanan AWS **.

   1. Untuk **Memilih target, pilih** **topik SNS** untuk mengirim email, pesan teks, atau notifikasi push seluler saat peristiwa tersebut terjadi.

   1. Untuk **Topik**, pilih topik yang ada. Anda harus terlebih dahulu membuat topik Amazon SNS menggunakan konsol Amazon SNS. Untuk informasi selengkapnya, lihat [Menggunakan Amazon SNS untuk pesan application-to-person (A2P) di Panduan Pengembang Layanan](https://docs.aws.amazon.com//sns/latest/dg/sns-user-notifications.html) *Pemberitahuan Sederhana Amazon*.

   1. (Opsional) Pada **Pengaturan tambahan**, Anda dapat mengonfigurasi pengaturan tambahan secara opsional. Untuk informasi selengkapnya, lihat [Membuat EventBridge aturan Amazon yang bereaksi terhadap peristiwa](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (langkah 16) di *Panduan EventBridge Pengguna Amazon*.

   1. Pilih **Selanjutnya**.

1. (Opsional) Untuk **Tanda**, Anda dapat secara opsional menetapkan satu atau beberapa tanda ke aturan, lalu pilih **Berikutnya**.

1. Untuk **Tinjau dan buat**, lakukan hal berikut:

   1. Tinjau detail aturan dan modifikasi seperlunya.

   1. Pilih **Buat aturan**.

Untuk informasi selengkapnya, lihat [ EventBridge aturan Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-rules.html) [dan pola EventBridge peristiwa](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-event-patterns.html) *Amazon di Panduan EventBridge Pengguna Amazon*

### Buat EventBridge aturan untuk memicu fungsi Lambda
<a name="eventbridge-trigger-lambda"></a>

Contoh berikut membuat EventBridge aturan untuk memicu fungsi Lambda setiap kali Amazon EC2 memancarkan pemberitahuan perubahan instans Armada EC2 saat instance diluncurkan. Sinyal dalam contoh ini dipancarkan sebagai peristiwa `EC2 Fleet Instance Change`, subtipe `launched`, yang memicu tindakan yang ditentukan oleh aturan.

Sebelum membuat EventBridge aturan, Anda harus membuat fungsi Lambda.

**Untuk membuat fungsi Lambda untuk digunakan dalam aturan EventBridge**

1. Buka AWS Lambda konsol di [https://console.aws.amazon.com/lambda/](https://console.aws.amazon.com/lambda/).

1. Pilih **Buat fungsi**.

1. Masukkan nama untuk fungsi Anda, konfigurasikan kodenya, lalu pilih **Buat fungsi**.

   Untuk informasi selengkapnya, lihat [Membuat fungsi Lambda pertama Anda](https://docs.aws.amazon.com/lambda/latest/dg/getting-started.html) di Panduan *AWS Lambda Pengembang*.

**Untuk membuat EventBridge aturan untuk memicu fungsi Lambda saat instance di Armada EC2 mengubah status**

1. Buka EventBridge konsol Amazon di [https://console.aws.amazon.com/events/](https://console.aws.amazon.com/events/).

1. Pilih **Buat aturan**.

1. Untuk **Tentukan detail aturan**, lakukan hal berikut:

   1. Masukkan **Nama** untuk aturan tersebut dan, secara opsional, deskripsi.

      Aturan tidak boleh memiliki nama yang sama dengan aturan lain di Wilayah yang sama dan di bus peristiwa yang sama.

   1. Untuk **Bus peristiwa**, pilih **default**. Ketika AWS layanan di akun Anda menghasilkan acara, itu selalu masuk ke bus acara default akun Anda.

   1. Untuk **Tipe aturan**, pilih **Aturan dengan pola peristiwa**.

   1. Pilih **Selanjutnya**.

1. Untuk **Pola peristiwa build**, lakukan hal berikut ini:

   1. Untuk **sumber Acara**, pilih **AWS acara atau acara EventBridge mitra**.

   1. Untuk **Pola peristiwa**, untuk contoh ini Anda akan menentukan pola peristiwa berikut agar sesuai dengan peristiwa `EC2 Fleet Instance Change` dan subtipe `launched`.

      ```
      {
       "source": ["aws.ec2fleet"],
       "detail-type": ["EC2 Fleet Instance Change"],
       "detail": {
         "sub-type": ["launched"]
      }
      ```

      Untuk menambahkan pola peristiwa, Anda dapat menggunakan templat dengan memilih **Bentuk pola peristiwa**, atau menentukan pola Anda sendiri dengan memilih **Pola kustom (editor JSON)**, sebagai berikut:

      1. Untuk menggunakan templat untuk membuat pola peristiwa, lakukan hal berikut:

         1. Pilih **Formulir pola peristiwa**.

         1. Untuk **Sumber peristiwa**, pilih **Layanan AWS **.

         1. Untuk **Layanan AWS **, pilih **Armada EC2**.

         1. Untuk **Tipe peristiwa**, pilih **Perubahan Instans Armada EC2**.

         1. Pilih **Edit pola**, dan tambahkan `"detail": {"sub-type": ["launched"]` agar sesuai dengan contoh pola peristiwa. Untuk format JSON yang tepat, masukkan koma (`,`) setelah tanda kurung siku sebelumnya (`]`).

      1. (Alternatif) Untuk menentukan pola peristiwa kustom, lakukan hal berikut:

         1. Pilih **Pola kustom (editor JSON)**.

         1. Dalam kotak **Pola peristiwa**, tambahkan pola peristiwa untuk contoh ini.

   1. Pilih **Selanjutnya**.

1. Untuk **Pilih target**, lakukan hal berikut:

   1. Untuk **Tipe Target**, pilih **Layanan AWS **.

   1. Untuk **Memilih target**, pilih **topik SNS** untuk mengirim email, pesan teks, atau notifikasi push seluler saat peristiwa tersebut terjadi.

   1. Untuk **Topik**, pilih **fungsi Lambda**, dan untuk **Fungsi**, pilih fungsi yang Anda buat untuk merespons saat peristiwa terjadi.

   1. (Opsional) Di bawah **Pengaturan tambahan**, Anda dapat mengonfigurasi pengaturan tambahan secara opsional. Untuk informasi selengkapnya, lihat [Membuat EventBridge aturan Amazon yang bereaksi terhadap peristiwa](https://docs.aws.amazon.com//eventbridge/latest/userguide/eb-create-rule.html) (langkah 16) di *Panduan EventBridge Pengguna Amazon*.

   1. Pilih **Selanjutnya**.

1. (Opsional) Untuk **Tanda**, Anda dapat secara opsional menetapkan satu atau beberapa tanda ke aturan, lalu pilih **Berikutnya**.

1. Untuk **Tinjau dan buat**, lakukan hal berikut:

   1. Tinjau detail aturan dan modifikasi seperlunya.

   1. Pilih **Buat aturan**.

*Untuk tutorial tentang cara membuat fungsi Lambda dan EventBridge aturan yang menjalankan fungsi Lambda, lihat [Tutorial: Log Status Instans Amazon EC2 Menggunakan dalam Panduan Pengembang](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-log-ec2-instance-state.html). EventBridge AWS Lambda *

## Jenis acara Armada EC2
<a name="ec2-fleet-event-types"></a>

Ada lima jenis acara Armada EC2. Untuk setiap jenis acara, ada beberapa sub-jenis.

**Topics**
+ [Perubahan Status Armada EC2](#ec2-fleet-state-change)
+ [Perubahan Permintaan Instans Spot Armada EC2](#ec2-fleet-spot-instance-request-change)
+ [Perubahan Instans Armada EC2](#ec2-fleet-instance-change)
+ [Informasi Armada EC2](#ec2-fleet-info)
+ [Kesalahan Armada EC2](#ec2-fleet-config-not-valid)

### Perubahan Status Armada EC2
<a name="ec2-fleet-state-change"></a>

Armada EC2 mengirimkan `EC2 Fleet State Change` acara ke Amazon EventBridge saat Armada EC2 mengubah status.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "715ed6b3-b8fc-27fe-fad6-528c7b8bf8a2",
    "detail-type": "EC2 Fleet State Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:20Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "sub-type": "active"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`active`  
Armada EC2 telah divalidasi dan Amazon EC2 berupaya untuk mempertahankan jumlah target dari instans yang sedang berjalan.

`deleted`  
Permintaan Armada EC2 dihapus dan tidak ada instans yang berjalan. Armada EC2 akan dihapus dua hari setelah instansnya diakhiri.

`deleted_running`  
Permintaan Armada EC2 dihapus dan tidak meluncurkan instans tambahan. Instans yang ada terus berjalan hingga diinterupsi atau diakhiri. Permintaan tetap berada dalam status ini sampai semua instans diinterupsi atau diakhiri. 

`deleted_terminating`  
Permintaan Armada EC2 dihapus dan instansnya diakhiri. Permintaan tetap berada dalam status ini sampai semua instans diakhiri. 

`expired`  
Permintaan Armada EC2 telah kedaluwarsa. Jika permintaan itu dibuat dengan set `TerminateInstancesWithExpiration`, peristiwa `terminated` berikutnya menunjukkan bahwa instans diakhiri.

`modify_in_progress`  
Permintaan Armada EC2 sedang dimodifikasi. Permintaan tetap berada dalam status ini sampai modifikasi diproses sepenuhnya.

`modify_succeeded`  
Permintaan Armada EC2 telah dimodifikasi.

`submitted`  
Permintaan Armada EC2 sedang dievaluasi dan Amazon EC2 sedang bersiap untuk meluncurkan jumlah target instans. 

`progress`  
Permintaan Armada EC2 sedang dalam proses dipenuhi.

### Perubahan Permintaan Instans Spot Armada EC2
<a name="ec2-fleet-spot-instance-request-change"></a>

Armada EC2 mengirimkan `EC2 Fleet Spot Instance Request Change` peristiwa ke Amazon EventBridge saat permintaan Instans Spot di armada berubah status.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "19331f74-bf4b-a3dd-0f1b-ddb1422032b9",
    "detail-type": "EC2 Fleet Spot Instance Request Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:05Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-83fd4e48-552a-40ef-9532-82a3acca5f10"
    ],
    "detail": {
        "spot-instance-request-id": "sir-rmqske6h",
        "description": "SpotInstanceRequestId sir-rmqske6h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`active`  
Permintaan Instans Spot terpenuhi dan memiliki Instans Spot terkait.

`cancelled`  
Anda membatalkan permintaan Instans Spot atau permintaan Instans Spot kedaluwarsa.

`disabled`  
Anda menghentikan Instans Spot.

`submitted`  
Permintaan Instans Spot dikirim.

### Perubahan Instans Armada EC2
<a name="ec2-fleet-instance-change"></a>

EC2 Fleet mengirimkan`EC2 Fleet Instance Change` acara ke Amazon EventBridge ketika sebuah instance dalam armada berubah status.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "542ce428-c8f1-0608-c015-e8ed6522c5bc",
    "detail-type": "EC2 Fleet Instance Change",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T09:00:23Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-598fb973-87b7-422d-be4d-6b0809bfff0a"
    ],
    "detail": {
        "instance-id": "i-0c594155dd5ff1829",
        "description": "{\"instanceType\":\"c5.large\",\"image\":\"ami-6057e21a\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1d\"}",
        "sub-type": "launched"
    }
}
```

Nilai yang mungkin untuk`sub-type` adalah:

`launched`  
Instans baru sudah diluncurkan.

`terminated`  
Instans diakhiri.

`termination_notified`  
Notifikasi pengakhiran instans dikirim ketika Instans Spot diakhiri oleh Amazon EC2 selama penurunan skala, ketika kapasitas target armada diturunkan, misalnya, dari kapasitas target 4 ke kapasitas target 3.

### Informasi Armada EC2
<a name="ec2-fleet-info"></a>

Armada EC2 mengirimkan `EC2 Fleet Information` acara ke Amazon EventBridge ketika ada kesalahan selama pemenuhan. Peristiwa informasi tidak memblokir armada untuk mencoba memenuhi kapasitas targetnya.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "76529817-d605-4571-7224-d36cc1b2c0c4",
    "detail-type": "EC2 Fleet Information",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-11-09T08:17:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-8becf5fe-bb9e-415d-8f54-3fa5a8628b91"
    ],
    "detail": {
        "description": "c4.xlarge, ami-0947d2ba12ee1ff75, Linux/UNIX, us-east-1a, Spot price in either SpotFleetRequestConfigData or SpotFleetLaunchSpecification or LaunchTemplate or LaunchTemplateOverrides is less than Spot market price $0.0619",
        "sub-type": "launchSpecUnusable"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`fleetProgressHalted`  
Harga di setiap spesifikasi peluncuran tidak berlaku karena berada di bawah harga Spot (semua spesifikasi peluncuran telah menghasilkan peristiwa `launchSpecUnusable`). Spesifikasi peluncuran mungkin menjadi valid jika harga Spot berubah.

`launchSpecTemporarilyBlacklisted`  
Konfigurasi tidak valid dan beberapa upaya untuk meluncurkan instans gagal. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

`launchSpecUnusable`  
Harga dalam spesifikasi peluncuran tidak berlaku karena berada di bawah harga Spot.

`registerWithLoadBalancersFailed`  
Upaya untuk mendaftarkan instans dengan penyeimbang beban gagal. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

### Kesalahan Armada EC2
<a name="ec2-fleet-config-not-valid"></a>

Armada EC2 mengirimkan `EC2 Fleet Error` acara ke Amazon EventBridge ketika ada kesalahan selama pemenuhan. Peristiwa kesalahan memblokir armada untuk mencoba memenuhi kapasitas targetnya.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "69849a22-6d0f-d4ce-602b-b47c1c98240e",
    "detail-type": "EC2 Fleet Error",
    "source": "aws.ec2fleet",
    "account": "123456789012",
    "time": "2020-10-07T01:44:24Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:fleet/fleet-9bb19bc6-60d3-4fd2-ae47-d33e68eafa08"
    ],
    "detail": {
        "description": "m3.large, ami-00068cd7555f543d5, Linux/UNIX: IPv6 is not supported for the instance type 'm3.large'. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`iamFleetRoleInvalid`  
Armada EC2 tidak memiliki izin yang diperlukan untuk meluncurkan atau mengakhiri instans.

`allLaunchSpecsTemporarilyBlacklisted`  
Tidak ada konfigurasi yang valid, dan beberapa upaya untuk meluncurkan instans gagal. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

`spotInstanceCountLimitExceeded`  
Anda telah mencapai batas jumlah Instans Spot yang dapat diluncurkan.

`spotFleetRequestConfigurationInvalid`  
Konfigurasi tidak valid. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

## Tipe peristiwa Armada Spot
<a name="spot-fleet-event-types"></a>

Ada lima tipe peristiwa Armada Spot. Untuk setiap tipe peristiwa, ada beberapa subtipe.

**Topics**
+ [Perubahan Status Armada Spot EC2](#spot-fleet-state-change)
+ [Perubahan Permintaan Instans Spot Armada Spot EC2](#spot-fleet-spot-instance-request-change)
+ [Perubahan Instans Armada Spot EC2](#spot-fleet-instance-change)
+ [Informasi Armada Spot EC2](#spot-fleet-info)
+ [Kesalahan Armada Spot EC2](#spot-fleet-config-not-valid)

### Perubahan Status Armada Spot EC2
<a name="spot-fleet-state-change"></a>

Spot Fleet mengirimkan file`EC2 Spot Fleet State Change` acara ke Amazon EventBridge saat Fleet Spot berubah status.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "d1af1091-6cc3-2e24-203a-3b870e455d5b",
    "detail-type": "EC2 Spot Fleet State Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:57:06Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-4b6d274d-0cea-4b2c-b3be-9dc627ad1f55"
    ],
    "detail": {
        "sub-type": "submitted"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`active`  
Permintaan Armada Spot telah divalidasi dan Amazon EC2 berupaya untuk mempertahankan jumlah target instans yang sedang berjalan.

`cancelled`  
Permintaan Armada Spot dibatalkan dan tidak ada instans yang berjalan. Armada Spot akan dihapus dua hari setelah instansnya diakhiri.

`cancelled_running`  
Permintaan Armada Spot dibatalkan dan tidak meluncurkan instans tambahan. Instans yang ada terus berjalan hingga diinterupsi atau diakhiri. Permintaan tetap berada dalam status ini sampai semua instans diinterupsi atau diakhiri. 

`cancelled_terminating`  
Permintaan Armada Spot dibatalkan dan instansnya diakhiri. Permintaan tetap berada dalam status ini sampai semua instans diakhiri. 

`expired`  
Permintaan Armada Spot telah kedaluwarsa. Jika permintaan itu dibuat dengan set `TerminateInstancesWithExpiration`, peristiwa `terminated` berikutnya menunjukkan bahwa instans diakhiri.

`modify_in_progress`  
Permintaan Armada Spot sedang dimodifikasi. Permintaan tetap berada dalam status ini sampai modifikasi diproses sepenuhnya.

`modify_succeeded`  
Permintaan Armada Spot telah dimodifikasi.

`submitted`  
Permintaan Armada Spot sedang dievaluasi dan Amazon EC2 sedang bersiap untuk meluncurkan jumlah target instans. 

`progress`  
Permintaan Armada Spot sedang dalam proses dipenuhi.

### Perubahan Permintaan Instans Spot Armada Spot EC2
<a name="spot-fleet-spot-instance-request-change"></a>

Armada Spot mengirimkan `EC2 Spot Fleet Spot Instance Request Change` peristiwa ke Amazon EventBridge saat permintaan Instans Spot di armada berubah status.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "cd141ef0-14af-d670-a71d-fe46e9971bd2",
    "detail-type": "EC2 Spot Fleet Spot Instance Request Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T08:53:21Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-a98d2133-941a-47dc-8b03-0f94c6852ad1"
    ],
    "detail": {
        "spot-instance-request-id": "sir-a2w9gc5h",
        "description": "SpotInstanceRequestId sir-a2w9gc5h, PreviousState: cancelled_running",
        "sub-type": "cancelled"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`active`  
Permintaan Instans Spot terpenuhi dan memiliki Instans Spot terkait.

`cancelled`  
Anda membatalkan permintaan Instans Spot atau permintaan Instans Spot kedaluwarsa.

`disabled`  
Anda menghentikan Instans Spot.

`submitted`  
Permintaan Instans Spot dikirim.

### Perubahan Instans Armada Spot EC2
<a name="spot-fleet-instance-change"></a>

Armada Spot mengirimkan `EC2 Spot Fleet Instance Change` acara ke Amazon EventBridge saat instance di armada berubah status.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "11591686-5bd7-bbaa-eb40-d46529c2710f",
    "detail-type": "EC2 Spot Fleet Instance Change",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T07:25:02Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-c8a764a4-bedc-4b62-af9c-0095e6e3ba61"
    ],
    "detail": {
        "instance-id": "i-08b90df1e09c30c9b",
        "description": "{\"instanceType\":\"r4.2xlarge\",\"image\":\"ami-032930428bf1abbff\",\"productDescription\":\"Linux/UNIX\",\"availabilityZone\":\"us-east-1a\"}",
        "sub-type": "launched"
    }
}
```

Nilai yang mungkin untuk`sub-type` adalah:

`launched`  
Instans baru sudah diluncurkan.

`terminated`  
Instans diakhiri.

`termination_notified`  
Notifikasi pengakhiran instans dikirim ketika Instans Spot diakhiri oleh Amazon EC2 selama penurunan skala, ketika kapasitas target armada diturunkan, misalnya, dari kapasitas target 4 ke kapasitas target 3.

### Informasi Armada Spot EC2
<a name="spot-fleet-info"></a>

Spot Fleet mengirimkan file`EC2 Spot Fleet Information` acara ke Amazon EventBridge ketika ada kesalahan selama pemenuhan. Peristiwa informasi tidak memblokir armada untuk mencoba memenuhi kapasitas targetnya.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "73a60f70-3409-a66c-635c-7f66c5f5b669",
    "detail-type": "EC2 Spot Fleet Information",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-08T20:56:12Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-2531ea06-af18-4647-8757-7d69c94971b1"
    ],
    "detail": {
        "description": "r3.8xlarge, ami-032930428bf1abbff, Linux/UNIX, us-east-1a, Spot bid price is less than Spot market price $0.5291",
        "sub-type": "launchSpecUnusable"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`fleetProgressHalted`  
Harga di setiap spesifikasi peluncuran tidak berlaku karena berada di bawah harga Spot (semua spesifikasi peluncuran telah menghasilkan peristiwa `launchSpecUnusable`). Spesifikasi peluncuran mungkin menjadi valid jika harga Spot berubah.

`launchSpecTemporarilyBlacklisted`  
Konfigurasi tidak valid dan beberapa upaya untuk meluncurkan instans gagal. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

`launchSpecUnusable`  
Harga dalam spesifikasi peluncuran tidak berlaku karena berada di bawah harga Spot.

`registerWithLoadBalancersFailed`  
Upaya untuk mendaftarkan instans dengan penyeimbang beban gagal. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

### Kesalahan Armada Spot EC2
<a name="spot-fleet-config-not-valid"></a>

Armada Spot mengirimkan `EC2 Spot Fleet Error` acara ke Amazon EventBridge ketika ada kesalahan selama pemenuhan. Peristiwa kesalahan memblokir armada untuk mencoba memenuhi kapasitas targetnya.

Berikut adalah data contoh untuk peristiwa ini. 

```
{
    "version": "0",
    "id": "10adc4e7-675c-643e-125c-5bfa1b1ba5d2",
    "detail-type": "EC2 Spot Fleet Error",
    "source": "aws.ec2spotfleet",
    "account": "123456789012",
    "time": "2020-11-09T06:56:07Z",
    "region": "us-east-1",
    "resources": [
        "arn:aws:ec2:us-east-1:123456789012:spot-fleet-request/sfr-38725d30-25f1-4f30-83ce-2907c56dba17"
    ],
    "detail": {
        "description": "r4.2xlarge, ami-032930428bf1abbff, Linux/UNIX: The associatePublicIPAddress parameter can only be specified for the network interface with DeviceIndex 0. ",
        "sub-type": "spotFleetRequestConfigurationInvalid"
    }
}
```

Nilai yang mungkin untuk `sub-type` adalah:

`iamFleetRoleInvalid`  
Armada Spot tidak memiliki izin yang diperlukan untuk meluncurkan atau mengakhiri sebuah instans.

`allLaunchSpecsTemporarilyBlacklisted`  
Tidak ada konfigurasi yang valid, dan beberapa upaya untuk meluncurkan instans gagal. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

`spotInstanceCountLimitExceeded`  
Anda telah mencapai batas jumlah Instans Spot yang dapat diluncurkan.

`spotFleetRequestConfigurationInvalid`  
Konfigurasi tidak valid. Untuk informasi selengkapnya, lihat deskripsi peristiwa.

# Tutorial untuk Armada EC2
<a name="fleet-tutorials"></a>

Ada berbagai cara untuk mengkonfigurasi Armada EC2. Konfigurasi yang Anda pilih tergantung pada kasus penggunaan spesifik Anda.

Tutorial berikut mencakup beberapa kasus penggunaan yang mungkin dan menyediakan tugas yang diperlukan untuk mengimplementasikannya.


| Kasus penggunaan | Tautan ke tutorial | 
| --- | --- | 
|  **Gunakan pembobotan instans untuk mengelola ketersediaan dan kinerja Armada EC2 Anda.** Dengan pembobotan instans, Anda menetapkan bobot untuk setiap jenis instans di Armada EC2 Anda untuk mewakili kapasitas komputasi dan kinerjanya relatif satu sama lain. Berdasarkan bobot, armada dapat menggunakan kombinasi jenis instans yang ditentukan, asalkan dapat memenuhi kapasitas target yang diinginkan.  | [Tutorial: Konfigurasikan Armada EC2 untuk menggunakan pembobotan instance](ec2-fleet-instance-weighting-walkthrough.md) | 
|  **Gunakan kapasitas Sesuai Permintaan untuk memastikan ketersediaan selama periode puncak, tetapi manfaatkan kapasitas Spot tambahan dengan biaya lebih rendah.** Konfigurasikan Armada EC2 Anda untuk menggunakan Instans Sesuai Permintaan sebagai kapasitas utama untuk memastikan kapasitas yang tersedia selama periode puncak. Selain itu, alokasikan beberapa kapasitas ke Instans Spot untuk mendapatkan keuntungan dari harga diskon, sambil mengingat bahwa Instans Spot dapat terganggu jika Amazon EC2 membutuhkan kapasitasnya kembali.  | [Tutorial: Konfigurasikan Armada EC2 untuk menggunakan Instans Sesuai Permintaan sebagai kapasitas utama](ec2-fleet-on-demand-walkthrough.md) | 
|  **Gunakan Reservasi Kapasitas untuk memesan kapasitas komputasi untuk Instans Sesuai Permintaan Anda.** Konfigurasikan Armada EC2 Anda untuk menggunakan Reservasi `targeted` Kapasitas terlebih dahulu saat meluncurkan Instans Sesuai Permintaan. Jika Anda memiliki persyaratan kapasitas yang ketat, dan menjalankan beban kerja penting bisnis yang memerlukan jaminan kapasitas pada tingkat jangka panjang atau jangka pendek tertentu, kami sarankan Anda membuat Reservasi Kapasitas untuk memastikan bahwa Anda selalu memiliki akses ke kapasitas Amazon EC2 saat Anda membutuhkannya, selama Anda membutuhkannya.  | [Tutorial: Konfigurasikan Armada EC2 untuk meluncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md) | 
|  **Gunakan Blok Kapasitas untuk menyimpan instans GPU yang sangat dicari untuk beban kerja ML Anda.** Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Blok Kapasitas.  | [Tutorial: Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Blok Kapasitas](ec2-fleet-launch-instances-capacity-blocks-walkthrough.md) | 
|  **Gunakan Reservasi Kapasitas Interruptible untuk menggunakan kembali kapasitas idle sementara di seluruh Organisasi Anda AWS dan menghemat biaya.** Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Reservasi Kapasitas yang Dapat Diinterupsi, yang mewakili kapasitas cadangan dalam organisasi Anda. AWS Pemilik kapasitas dapat merebut kembali kapasitas kapan saja. Setelah direklamasi, EC2 menghentikan instans setelah pemberitahuan 2 menit.  | [Tutorial: Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Reservasi Kapasitas yang Dapat Diinterupsi](ec2-fleet-launch-instances-interruptible-cr-walkthrough.md) | 

# Tutorial: Konfigurasikan Armada EC2 untuk menggunakan pembobotan instance
<a name="ec2-fleet-instance-weighting-walkthrough"></a>

Tutorial ini menggunakan perusahaan fiktif bernama Example Corp untuk mengilustrasikan proses permintaan Armada EC2 menggunakan pembobotan instans.

## Tujuan
<a name="ec2-fleet-instance-weighting-walkthrough-objective"></a>

Example Corp, sebuah perusahaan farmasi, ingin menggunakan kekuatan komputasi Amazon EC2 untuk melakukan skrining senyawa kimia yang dapat digunakan untuk melawan kanker.

## Perencanaan
<a name="ec2-fleet-instance-weighting-walkthrough-planning"></a>

Pertama-tama, Example Corp meninjau [Praktik Terbaik Spot](https://aws.amazon.com/ec2/spot/getting-started/#bestpractices). Selanjutnya, Example Corp menentukan kebutuhan untuk Armada EC2 mereka.

**Jenis instance**  
Example Corp memiliki aplikasi intensif komputasi dan intensif memori yang memiliki performa terbaik dengan setidaknya 60 GB memori dan delapan virtual CPU (vCPU). Mereka ingin memaksimalkan sumber daya ini untuk aplikasi dengan harga serendah mungkin. Example Corp memutuskan bahwa tipe instans EC2 berikut akan memenuhi kebutuhan mereka:


| Jenis instans | Memori (GiB) | v CPUs | 
| --- | --- | --- | 
|  r3.2xlarge  |  61  |  8  | 
|  r3.4xlarge  |  122  |  16  | 
|  r3.8xlarge  |  244  |  32  | 

**Kapasitas target dalam unit**  
Dengan pembobotan instance, kapasitas target dapat sama dengan sejumlah instance (default) atau kombinasi faktor seperti inti (vCPU), memori (), dan penyimpanan (GBGiBs). Dengan mempertimbangkan dasar untuk aplikasi mereka (60 GB RAM dan delapan vCPU) sebagai satu unit, Example Corp memutuskan bahwa 20 kali jumlah ini akan memenuhi kebutuhan mereka. Jadi perusahaan menetapkan kapasitas target permintaan Armada EC2 mereka menjadi 20 unit.

**Bobot instans**  
Setelah menentukan kapasitas target, Example Corp menghitung bobot instans. Guna menghitung bobot instans untuk setiap tipe instans, mereka menentukan unit dari setiap tipe instans yang diperlukan untuk mencapai kapasitas target sebagai berikut:
+ r3.2xlarge (61.0 GB, 8 vCPUs) = 1 unit 20
+ r3.4xlarge (122.0 GB, 16 vCPUs) = 2 unit 20
+ r3.8xlarge (244.0 GB, 32 vCPUs) = 4 unit 20

Oleh karena itu, Example Corp menetapkan bobot instans 1, 2, dan 4 ke konfigurasi peluncuran masing-masing dalam permintaan Armada EC2.

**Harga per unit jam**  
Example Corp menggunakan [harga Sesuai Permintaan](https://aws.amazon.com/ec2/pricing/) per jam instans sebagai titik awal untuk harga mereka. Mereka juga dapat menggunakan harga Spot baru-baru ini, atau kombinasi keduanya. Untuk menghitung harga per unit jam, mereka membagi harga awal per jam instans berdasarkan bobot. Misalnya:


| Jenis instans | Harga Sesuai Permintaan | Bobot instans | Harga per unit jam | 
| --- | --- | --- | --- | 
|  r3.2xLarge  |  \$10,7  |  1  |  \$10,7  | 
|  r3.4xLarge  |  \$11,4  |  2  |  \$10,7  | 
|  r3.8xlarge  |  \$12,8  |  4  |  \$10,7  | 

Example Corp dapat menggunakan harga global per unit jam sebesar 0,7 USD dan kompetitif untuk ketiga tipe instans. Mereka juga dapat menggunakan harga global per unit jam 0,7 USD dan harga spesifik per unit jam 0,9 USD di spesifikasi peluncuran `r3.8xlarge`.

## Memverifikasi izin
<a name="ec2-fleet-instance-weighting-walkthrough-permissions"></a>

Sebelum membuat Armada EC2, Example Corp memverifikasi bahwa mereka memiliki peran IAM dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Prasyarat Armada EC2](ec2-fleet-prerequisites.md).

## Membuat templat peluncuran
<a name="ec2-fleet-instance-weighting-create-launch-template"></a>

Selanjutnya, Example Corp membuat templat peluncuran. ID templat peluncuran digunakan di langkah berikut. Untuk informasi selengkapnya, lihat [Buat template peluncuran Amazon EC2](create-launch-template.md).

## Membuat Armada EC2
<a name="ec2-fleet-instance-weighting-walkthrough-request"></a>

Example Corp membuat file, `config.json`, dengan konfigurasi sebagai berikut untuk Armada EC2 file tersebut. Dalam contoh berikut, ganti pengidentifikasi sumber daya dengan pengidentifikasi sumber daya Anda sendiri.

```
{ 
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851", 
                "Version": "1"
            }, 
            "Overrides": [
                {
                    "InstanceType": "r3.2xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 1
                },
                {
                    "InstanceType": "r3.4xlarge", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 2
                },
                {
                    "InstanceType": "r3.8xlarge", 
                    "MaxPrice": "0.90", 
                    "SubnetId": "subnet-482e4972", 
                    "WeightedCapacity": 4
                }
            ]
        }
    ], 
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20, 
        "DefaultTargetCapacityType": "spot"
    }
}
```

Example Corp membuat Armada EC2 menggunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) berikut.

```
aws ec2 create-fleet --cli-input-json file://config.json
```

Untuk informasi selengkapnya, lihat [Membuat Armada EC2](create-ec2-fleet.md).

## Pemenuhan
<a name="ec2-fleet-instance-weighting-walkthrough-fulfillment"></a>

Strategi alokasi menentukan asal dari kolam kapasitas Spot yang menjadi sumber Instans Spot Anda.

Dengan strategi `lowest-price` (yang merupakan strategi default), Instans Spot berasal dari kolam dengan harga terendah per unit pada saat pemenuhan. Untuk menyediakan kapasitas 20 unit, Armada EC2 meluncurkan 20 instans `r3.2xlarge` (20 dibagi 1), 10 instans `r3.4xlarge` (20 dibagi 2), atau 5 instans `r3.8xlarge` (20 dibagi 4).

Jika Example Corp menggunakan strategi `diversified`, Instans Spot akan berasal dari ketiga kolam. Armada EC2 akan meluncurkan 6 instans `r3.2xlarge` (yang menyediakan 6 unit), 3 instans `r3.4xlarge` (yang menyediakan 6 unit), dan 2 instans `r3.8xlarge` (yang menyediakan 8 unit), dengan total 20 unit.

# Tutorial: Konfigurasikan Armada EC2 untuk menggunakan Instans Sesuai Permintaan sebagai kapasitas utama
<a name="ec2-fleet-on-demand-walkthrough"></a>

Tutorial ini menggunakan perusahaan fiktif bernama ABC Online untuk menggambarkan proses permintaan Armada EC2 dengan Sesuai Permintaan sebagai kapasitas primer, dan kapasitas Spot jika tersedia.

## Tujuan
<a name="ec2-fleet-on-demand-walkthrough-objective"></a>

ABC Online, perusahaan pengiriman restoran, bertujuan untuk menyediakan kapasitas Amazon EC2 di seluruh jenis instans EC2 dan opsi pembelian untuk mencapai skala, kinerja, dan biaya yang diinginkan.

## Rencana
<a name="ec2-fleet-on-demand-walkthrough-planning"></a>

ABC Online membutuhkan kapasitas tetap untuk menangani periode puncak, tetapi ingin mendapatkan keuntungan dari kapasitas tambahan dengan biaya lebih rendah. Perusahaan menentukan persyaratan berikut untuk Armada EC2 mereka:
+ Kapasitas Instans Sesuai Permintaan – ABC Online memerlukan 15 Instans Sesuai Permintaan untuk memastikan bahwa mereka dapat mengakomodasi lalu lintas pada periode puncak.
+ Kapasitas Instans Spot — Untuk meningkatkan kinerja, tetapi dengan harga lebih murah, ABC Online berencana untuk menyediakan 5 Instans Spot.

## Memverifikasi izin
<a name="ec2-fleet-on-demand-walkthrough-permissions"></a>

Sebelum membuat Armada EC2, ABC Online memverifikasi bahwa mereka memiliki peran IAM dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Prasyarat Armada EC2](ec2-fleet-prerequisites.md).

## Membuat templat peluncuran
<a name="ec2-fleet-on-demand-walkthrough-create-launch-template"></a>

Selanjutnya, ABC Online membuat templat peluncuran. ID templat peluncuran digunakan di langkah berikut. Untuk informasi selengkapnya, lihat [Buat template peluncuran Amazon EC2](create-launch-template.md).

## Membuat Armada EC2
<a name="ec2-fleet-on-demand-walkthrough-request"></a>

ABC Online membuat file, `config.json`, dengan konfigurasi sebagai berikut untuk Armada EC2-nya. Dalam contoh berikut, ganti pengidentifikasi sumber daya dengan pengidentifikasi sumber daya Anda sendiri.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-07b3bc7625cdab851",
                "Version": "2"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 20,
        "OnDemandTargetCapacity":15,
        "DefaultTargetCapacityType": "spot"
    }
}
```

ABC Online membuat Armada EC2 menggunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) berikut.

```
aws ec2 create-fleet --cli-input-json file://config.json
```

Untuk informasi selengkapnya, lihat [Membuat Armada EC2](create-ec2-fleet.md).

## Pemenuhan
<a name="ec2-fleet-on-demand-walkthrough-fulfillment"></a>

Strategi alokasi menentukan bahwa kapasitas On-Demand selalu terpenuhi, sedangkan keseimbangan kapasitas target terpenuhi sebagai Spot jika ada kapasitas yang tersedia.

# Tutorial: Konfigurasikan Armada EC2 untuk meluncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan
<a name="ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough"></a>

Tutorial ini memandu Anda melalui semua langkah yang harus Anda lakukan agar Armada EC2 Anda meluncurkan Instans Sesuai Permintaan ke Reservasi Kapasitas `targeted`.

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.

**Konfigurasi Armada EC2**

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` dan `us-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 alokasi `lowest-price`.

**Untuk meluncurkan Instans Sesuai Permintaan ke Reservasi Kapasitas `targeted`, Anda harus menjalankan sejumlah langkah, sebagai berikut:**
+ [Langkah 1: Membuat Reservasi Kapasitas](#ec2-fleet-odcr-step1)
+ [Langkah 2: Membuat grup sumber daya Reservasi Kapasitas](#ec2-fleet-odcr-step2)
+ [Langkah 3: Menambahkan Reservasi Kapasitas ke grup sumber daya Reservasi Kapasitas](#ec2-fleet-odcr-step3)
+ [(Opsional) Langkah 4: Melihat Reservasi Kapasitas di grup sumber daya](#ec2-fleet-odcr-step4)
+ [Langkah 5: Membuat templat peluncuran yang menentukan bahwa Reservasi Kapasitas menargetkan grup sumber daya tertentu](#ec2-fleet-odcr-step5)
+ [(Opsional) Langkah 6: Mendeskripsikan templat peluncuran](#ec2-fleet-odcr-step6)
+ [Langkah 7: Membuat Armada EC2](#ec2-fleet-odcr-step7)
+ [(Opsional) Langkah 8: Melihat jumlah Reservasi Kapasitas yang tidak terpakai yang tersisa](#ec2-fleet-odcr-step8)

## Langkah 1: Membuat Reservasi Kapasitas
<a name="ec2-fleet-odcr-step1"></a>

Gunakan [create-capacity-reservation](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-capacity-reservation.html)perintah 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
<a name="ec2-fleet-odcr-step2"></a>

Gunakan layanan `resource-groups` dan perintah [create-group](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/create-group.html) 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](ec2-fleet-on-demand-capacity-reservations.md).

```
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
<a name="ec2-fleet-odcr-step3"></a>

Gunakan layanan `resource-groups` dan perintah [group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/group-resources.html) untuk menambahkan Reservasi Kapasitas yang Anda buat di Langkah 1 ke grup sumber daya Reservasi Kapasitas. Perhatikan bahwa Anda harus mereferensikan Reservasi Kapasitas Sesuai Permintaan berdasarkan Reservasi tersebut. 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
<a name="ec2-fleet-odcr-step4"></a>

Gunakan `resource-groups` layanan dan [list-group-resources](https://docs.aws.amazon.com/cli/latest/reference/resource-groups/list-group-resources.html)perintah 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
<a name="ec2-fleet-odcr-step5"></a>

Gunakan [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)perintah 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
<a name="ec2-fleet-odcr-step6"></a>

Gunakan [describe-launch-template-versions](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-launch-template-versions.html)perintah 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
<a name="ec2-fleet-odcr-step7"></a>

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 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` di `us-east-1a`
  + 3 Instans Sesuai Permintaan diluncurkan ke dalam 3 Reservasi Kapasitas `c5.xlarge` `targeted` di `us-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
<a name="ec2-fleet-odcr-step8"></a>

Setelah armada diluncurkan, Anda dapat menjalankan secara opsional [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)untuk 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
}
```

# Tutorial: Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Blok Kapasitas
<a name="ec2-fleet-launch-instances-capacity-blocks-walkthrough"></a>

Tutorial ini memandu Anda melalui langkah-langkah yang harus Anda lakukan sehingga Armada EC2 Anda meluncurkan instans ke Blok Kapasitas. 

Dalam kebanyakan kasus, kapasitas target permintaan Armada EC2 harus kurang dari atau sama dengan kapasitas yang tersedia dari reservasi Blok Kapasitas yang Anda targetkan. Permintaan kapasitas target yang melebihi batas reservasi Blok Kapasitas tidak akan dipenuhi. Jika permintaan kapasitas target melebihi batas reservasi Blok Kapasitas Anda, Anda akan menerima kapasitas yang melebihi batas reservasi Blok Kapasitas Anda. `Insufficient Capacity Exception`

**catatan**  
Untuk Blok Kapasitas, Armada EC2 tidak akan melakukan fallback guna meluncurkan Instans Sesuai Permintaan untuk sisa kapasitas target yang diinginkan.

Jika Armada EC2 tidak dapat memenuhi kapasitas target yang diminta dalam reservasi Blok Kapasitas yang tersedia, Armada EC2 akan memenuhi kapasitas sebanyak mungkin dan mengembalikan instans yang dapat diluncurkan. Anda dapat mengulangi panggilan ke Armada EC2 lagi hingga semua instans disediakan.

Setelah mengonfigurasi permintaan Armada EC2, Anda harus menunggu hingga tanggal mulai reservasi Blok Kapasitas Anda. Jika Anda mengajukan permintaan ke Armada EC2 untuk diluncurkan ke Blok Kapasitas yang belum dimulai, Anda akan menerima file`Insufficient Capacity Error`.

Setelah reservasi Blok Kapasitas aktif, Anda dapat membuat panggilan API Armada EC2 dan menyediakan instans ke dalam Blok Kapasitas berdasarkan parameter yang Anda pilih. Instans yang berjalan di Blok Kapasitas terus berjalan hingga Anda menghentikan atau menghentikannya secara manual atau hingga Amazon EC2 menghentikan instans saat reservasi Blok Kapasitas berakhir.

Untuk informasi selengkapnya tentang Blok Kapasitas, lihat[Blok Kapasitas untuk ML](ec2-capacity-blocks.md).

**Pertimbangan-pertimbangan**
+ Hanya jenis permintaan Armada EC2 `instant` yang didukung untuk meluncurkan instans ke Blok Kapasitas. Untuk informasi selengkapnya, lihat [Konfigurasikan jenis Armada EC2 instant](instant-fleet.md).
+ Beberapa Blok Kapasitas dalam permintaan Armada EC2 yang sama tidak didukung.
+ Menggunakan `OnDemandTargetCapacity` atau `SpotTargetCapacity` sekaligus juga mengatur `capacity-block` sebagai `DefaultTargetCapacity` tidak didukung.
+ Jika `DefaultTargetCapacityType` diatur ke `capacity-block`, Anda tidak dapat menyediakan `OnDemandOptions::CapacityReservationOptions`. Pengecualian akan terjadi.

**Untuk mengonfigurasi Armada EC2 untuk meluncurkan instans ke Blok Kapasitas**

1. **Buat template peluncuran.**

   Dalam template peluncuran, lakukan hal berikut:
   + Untuk`InstanceMarketOptionsRequest`, atur `MarketType` ke`capacity-block`.
   + Untuk menargetkan reservasi Blok Kapasitas, untuk`CapacityReservationID`, tentukan ID reservasi Blok Kapasitas.

   Catat nama dan versi template peluncuran. Anda akan menggunakan informasi ini di langkah berikutnya.

   Untuk informasi selengkapnya tentang membuat template peluncuran, lihat[Buat template peluncuran Amazon EC2](create-launch-template.md). 

1. **Konfigurasikan Armada EC2.**

   Buat file,`config.json`, dengan konfigurasi berikut untuk Armada EC2 Anda. Dalam contoh berikut, ganti pengidentifikasi sumber daya dengan pengidentifikasi sumber daya Anda sendiri. 

   Untuk informasi selengkapnya tentang mengonfigurasi Armada EC2, lihat. [Membuat Armada EC2](create-ec2-fleet.md)

   ```
   { 
       "LaunchTemplateConfigs": [
           {
               "LaunchTemplateSpecification": {
                   "LaunchTemplateName": "CBR-launch-template", 
                   "Version": "1"
               }, 
               "Overrides": [
                   {
                       "InstanceType": "p5.48xlarge", 
                       "AvailabilityZone": "us-east-1a"   
                   },
               ]
           }
       ], 
       "TargetCapacitySpecification": {
           "TotalTargetCapacity": 10, 
           "DefaultTargetCapacityType": "capacity-block"
       },
       "Type": "instant"
   }
   ```

1. **Luncurkan armada.**

   Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) berikut.

   ```
   aws ec2 create-fleet --cli-input-json file://config.json
   ```

   Untuk informasi selengkapnya, lihat [Membuat Armada EC2](create-ec2-fleet.md#create-ec2-fleet-procedure).

# Tutorial: Konfigurasikan Armada EC2 Anda untuk meluncurkan instans ke Reservasi Kapasitas yang Dapat Diinterupsi
<a name="ec2-fleet-launch-instances-interruptible-cr-walkthrough"></a>

Tutorial ini memandu Anda melalui langkah-langkah yang harus Anda lakukan sehingga Armada EC2 Anda meluncurkan instans ke Reservasi Kapasitas Interruptible.

Reservasi Kapasitas Interruptible mewakili kapasitas cadangan yang dipinjamkan kepada Anda oleh pemilik Reservasi Kapasitas Sesuai Permintaan dalam organisasi Anda. AWS Reservasi ini cocok untuk beban kerja yang dapat terputus karena pemilik kapasitas dapat merebut kembali kapasitas kapan saja dengan pemberitahuan interupsi 2 menit, setelah itu EC2 menghentikan instans. Untuk informasi selengkapnya tentang Reservasi Kapasitas yang Dapat Diinterupsi, lihat. [Reservasi Kapasitas yang Dapat Diputus](interruptible-capacity-reservations.md)

Kapasitas target permintaan Armada EC2 harus kurang dari atau sama dengan kapasitas yang tersedia dari Reservasi Kapasitas Interruptible yang Anda targetkan. Jika permintaan kapasitas target melebihi kapasitas yang tersedia dari Reservasi Kapasitas Interruptible Anda, Armada EC2 meluncurkan sebanyak mungkin instans dan melaporkan instans yang diluncurkan dalam respons API.

Instans yang berjalan dalam Reservasi Kapasitas yang Dapat Diinterupsi terus berjalan hingga Anda menghentikan atau menghentikannya secara manual, atau hingga pemilik kapasitas merebut kembali kapasitas tersebut. Saat pemilik kapasitas mengklaim kembali kapasitasnya, Amazon EC2 mengirimkan pemberitahuan EventBridge Amazon 2 menit sebelum menghentikan instans.

## Pertimbangan-pertimbangan
<a name="ec2-fleet-interruptible-cr-considerations"></a>
+ Hanya jenis `instant` permintaan Armada EC2 yang didukung untuk meluncurkan instans ke Reservasi Kapasitas yang Dapat Diinterupsi.
+ Menggunakan `OnDemandTargetCapacity` atau `SpotTargetCapacity` sementara juga mengatur `reserved-capacity` sebagai `DefaultTargetCapacityType` tidak didukung.
+ Saat Anda menentukan beberapa templat peluncuran, masing-masing menargetkan Reservasi Kapasitas Interruptible yang berbeda, Armada EC2 menyediakan instans di semua reservasi yang cocok.
+ Untuk Reservasi Kapasitas Interruptible, Armada EC2 tidak mundur untuk meluncurkan Instans Sesuai Permintaan atau Instans Spot untuk sisa kapasitas target yang diinginkan.

## Memverifikasi izin
<a name="ec2-fleet-interruptible-cr-verify-permissions"></a>

Sebelum membuat Armada EC2, verifikasi bahwa Anda memiliki peran IAM dengan izin yang diperlukan. Untuk informasi selengkapnya, lihat [Prasyarat Armada EC2](ec2-fleet-prerequisites.md).

Untuk meluncurkan instans ke Reservasi Kapasitas Interruptible, Anda harus melakukan langkah-langkah berikut:

## Langkah 1: Buat templat peluncuran
<a name="ec2-fleet-interruptible-cr-step1"></a>

Gunakan [create-launch-template](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-launch-template.html)perintah untuk membuat template peluncuran yang menentukan Reservasi Kapasitas Interruptible untuk ditargetkan. Dalam template peluncuran, atur `MarketType` ke `interruptible-capacity-reservation` dan tentukan `CapacityReservationId` Reservasi Kapasitas Interruptible Anda.

Contoh konfigurasi template peluncuran:

```
{
    "LaunchTemplateName": "interruptible-cr-launch-template",
    "LaunchTemplateData": {
        "InstanceType": "m5.large",
        "ImageId": "ami-0abcdef1234567890",
        "CapacityReservationSpecification": {
            "CapacityReservationTarget": {
                "CapacityReservationId": "cr-0123456789abcdef0"
            }
        },
        "InstanceMarketOptions": {
            "MarketType": "interruptible-capacity-reservation"
        }
    }
}
```

Contoh Output

```
{
    "LaunchTemplate": {
        "LaunchTemplateId": "lt-0123456789example",
        "LaunchTemplateName": "interruptible-cr-launch-template",
        "CreateTime": "2026-03-12T10:00:00.000Z",
        "CreatedBy": "arn:aws:iam::123456789012:user/Admin",
        "DefaultVersionNumber": 1,
        "LatestVersionNumber": 1
    }
}
```

Untuk informasi selengkapnya, lihat [Buat template peluncuran Amazon EC2](create-launch-template.md).

## Langkah 2: Konfigurasikan Armada EC2
<a name="ec2-fleet-interruptible-cr-step2"></a>

Buat file konfigurasi untuk Armada EC2 yang menentukan template peluncuran dan kapasitas target. Konfigurasi berikut menggunakan template peluncuran `interruptible-cr-launch-template` yang Anda buat di Langkah 1.

Anda harus menentukan `ReservedCapacityOptions` dengan `ReservationType` set ke `interruptible-capacity-reservation` saat menggunakan `reserved-capacity` sebagai`DefaultTargetCapacityType`.

Buat file bernama `config.json` dengan konten berikut:

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "interruptible-cr-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "m5.large",
                    "AvailabilityZone": "us-east-1a"
                }
            ]
        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 10,
        "DefaultTargetCapacityType": "reserved-capacity"
    },
    "ReservedCapacityOptions": {
        "ReservationType": ["interruptible-capacity-reservation"]
    },
    "Type": "instant"
}
```

Parameter konfigurasi kunci:


| Parameter | Deskripsi | 
| --- | --- | 
| DefaultTargetCapacityType | Setel reserved-capacity untuk menunjukkan bahwa instance harus diluncurkan ke kapasitas cadangan. | 
| ReservedCapacityOptions | Menentukan jenis kapasitas cadangan. Untuk Reservasi Kapasitas yang Dapat Diinterupsi, atur ke. ReservationType ["interruptible-capacity-reservation"] | 
| Type | Harus diatur ke instant. Hanya armada instan yang didukung untuk Reservasi Kapasitas Interruptible. | 

## Langkah 3: Luncurkan armada dan lihat hasilnya
<a name="ec2-fleet-interruptible-cr-step3"></a>

Gunakan perintah [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) untuk membuat armada:

```
aws ec2 create-fleet \
    --cli-input-json file://config.json
```

Setelah Anda membuat `instant` armada menggunakan konfigurasi sebelumnya, Armada EC2 meluncurkan 10 instans ke Reservasi Kapasitas Interruptible untuk memenuhi kapasitas target.

**catatan**  
Jika armada tidak dapat memenuhi kapasitas target penuh, respons mencakup contoh yang diluncurkan dan kesalahan untuk kapasitas yang tidak terpenuhi.

Contoh Output

```
{
    "FleetId": "fleet-12345678-1234-1234-1234-123456789012",
    "Instances": [
        {
            "LaunchTemplateAndOverrides": {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateId": "lt-0123456789example",
                    "Version": "1"
                },
                "Overrides": {
                    "InstanceType": "m5.large",
                    "AvailabilityZone": "us-east-1a"
                }
            },
            "Lifecycle": "interruptible-capacity-reservation",
            "InstanceIds": [
                "i-0123456789example1",
                "i-0123456789example2",
                "i-0123456789example3",
                "i-0123456789example4",
                "i-0123456789example5",
                "i-0123456789example6",
                "i-0123456789example7",
                "i-0123456789example8",
                "i-0123456789example9",
                "i-0123456789example0"
            ],
            "InstanceType": "m5.large",
            "Platform": "Linux/UNIX"
        }
    ],
    "Errors": []
}
```

Untuk informasi selengkapnya, lihat [Membuat Armada EC2](create-ec2-fleet.md).

## Bersihkan
<a name="ec2-fleet-interruptible-cr-cleanup"></a>

Untuk menghentikan biaya, hentikan kasus ketika mereka tidak lagi diperlukan. Perhatikan bahwa EC2 juga menghentikan instans yang diluncurkan ke Reservasi Kapasitas yang Dapat Diinterupsi secara otomatis ketika pemilik kapasitas merebut kembali kapasitas.

## Sumber daya terkait
<a name="ec2-fleet-interruptible-cr-related-resources"></a>
+ [Reservasi Kapasitas yang Dapat Diputus](interruptible-capacity-reservations.md)
+ [Cadangan kapasitas komputasi dengan Reservasi Kapasitas Sesuai Permintaan EC2](ec2-capacity-reservations.md)
+ [Bekerja dengan Armada EC2](manage-ec2-fleet.md)
+ [Membuat Armada EC2](create-ec2-fleet.md)
+ [Simpan parameter peluncuran instans di templat peluncuran Amazon EC2](ec2-launch-templates.md)

# Contoh konfigurasi CLI untuk Armada EC2
<a name="ec2-fleet-examples"></a>

Anda dapat menentukan konfigurasi Armada EC2 Anda dalam file JSON, dan kemudian mereferensikan file tersebut dengan perintah [create-fleet untuk membuat armada](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html) Anda, sebagai berikut:

```
aws ec2 create-fleet --cli-input-json file://file_name.json
```

Contoh berikut menggambarkan konfigurasi peluncuran untuk berbagai kasus penggunaan Armada EC2. Untuk informasi selengkapnya tentang parameter konfigurasi, lihat [create-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-fleet.html).

**Topics**
+ [Contoh 1: Meluncurkan Instans Spot sebagai opsi pembelian default](#ec2-fleet-config1)
+ [Contoh 2: Meluncurkan Instans Sesuai Permintaan sebagai opsi pembelian default](#ec2-fleet-config2)
+ [Contoh 3: Meluncurkan Instans Sesuai Permintaan sebagai kapasitas primer](#ec2-fleet-config3)
+ [Contoh 4: Luncurkan Instans Sesuai Permintaan menggunakan beberapa Reservasi Kapasitas](#ec2-fleet-config5)
+ [Contoh 5: Luncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas ketika total kapasitas target melebihi jumlah Reservasi Kapasitas yang tidak digunakan](#ec2-fleet-config6)
+ [Contoh 6: Luncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan](#ec2-fleet-config7)
+ [Contoh 7: Konfigurasikan Penyeimbangan Kembali Kapasitas untuk meluncurkan Instans Spot pengganti](#ec2-fleet-config8)
+ [Contoh 8: Luncurkan Instans Spot dalam armada yang dioptimalkan kapasitas](#ec2-fleet-config9)
+ [Contoh 9: Luncurkan Instans Spot dalam armada yang dioptimalkan kapasitas dengan prioritas](#ec2-fleet-config10)
+ [Contoh 10: Luncurkan Instans Spot di armada price-capacity-optimized](#ec2-fleet-config11)
+ [Contoh 11: Konfigurasikan pemilihan tipe instans berbasis atribut](#ec2-fleet-config12)

Untuk contoh CLI lainnya untuk armada tipe`instant`, lihat. [Konfigurasikan jenis Armada EC2 instant](instant-fleet.md)

## Contoh 1: Meluncurkan Instans Spot sebagai opsi pembelian default
<a name="ec2-fleet-config1"></a>

Contoh berikut menentukan parameter minimum yang diperlukan dalam Armada EC2: templat peluncuran, kapasitas target, dan opsi pembelian default. Templat peluncuran diidentifikasi dengan ID templat dan nomor versi peluncurannya. Kapasitas target untuk armada adalah 2 instans, dan opsi pembelian default adalah `spot`, yang menghasilkan armada meluncurkan 2 Instans Spot.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "DefaultTargetCapacityType": "spot"
    }
}
```

## Contoh 2: Meluncurkan Instans Sesuai Permintaan sebagai opsi pembelian default
<a name="ec2-fleet-config2"></a>

Contoh berikut menentukan parameter minimum yang diperlukan dalam Armada EC2: templat peluncuran, kapasitas target, dan opsi pembelian default. Templat peluncuran diidentifikasi dengan ID templat dan nomor versi peluncurannya. Kapasitas target untuk armada adalah 2 instans, dan opsi pembelian default adalah `on-demand`, yang menghasilkan armada meluncurkan 2 Instans Sesuai Permintaan.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "DefaultTargetCapacityType": "on-demand"
    }
}
```

## Contoh 3: Meluncurkan Instans Sesuai Permintaan sebagai kapasitas primer
<a name="ec2-fleet-config3"></a>

Contoh berikut menentukan total kapasitas target dari 2 instans untuk armada tersebut dan kapasitas target dari 1 Instans Sesuai Permintaan. Opsi pembelian default adalah `spot`. Armada meluncurkan 1 Instans Sesuai Permintaan sebagaimana ditentukan, tetapi perlu meluncurkan satu instans lagi untuk memenuhi total kapasitas target. Opsi pembelian untuk selisihnya dihitung sebagai `TotalTargetCapacity` – `OnDemandTargetCapacity` = `DefaultTargetCapacityType`, yang menghasilkan armada yang meluncurkan 1 Instans Spot.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            }

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 2,
        "OnDemandTargetCapacity": 1,
        "DefaultTargetCapacityType": "spot"
    }
}
```

## Contoh 4: Luncurkan Instans Sesuai Permintaan menggunakan beberapa Reservasi Kapasitas
<a name="ec2-fleet-config5"></a>

Anda dapat mengonfigurasi armada agar menggunakan Reservasi Kapasitas Sesuai Permintaan terlebih dahulu saat meluncurkan Instans Sesuai Permintaan dengan mengatur strategi penggunaan untuk Reservasi Kapasitas ke `use-capacity-reservations-first`. Contoh ini menunjukkan cara armada memilih Reservasi Kapasitas yang akan digunakan jika terdapat lebih banyak Reservasi Kapasitas daripada yang dibutuhkan untuk memenuhi kapasitas target.

Dalam contoh ini, konfigurasi armada adalah sebagai berikut:
+ Kapasitas target: 12 Instans Sesuai Permintaan
+ Total Reservasi Kapasitas yang tidak terpakai: 15 (lebih dari kapasitas target armada sebesar 12 Instans Sesuai Permintaan)
+ Jumlah kolam Reservasi Kapasitas: 3 (`m5.large`, `m4.xlarge`, dan `m4.2xlarge`)
+ Jumlah Reservasi Kapasitas per kolam: 5
+ Strategi alokasi Sesuai Permintaan: `lowest-price` (Jika terdapat lebih dari satu Reservasi Kapasitas yang tidak terpakai di lebih dari satu kolam instans, armada akan menentukan kolam tempat untuk meluncurkan Instans Sesuai Permintaan berdasarkan strategi alokasi Sesuai Permintaan.)

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

**Reservasi Kapasitas**

Akun tersebut memiliki 15 Reservasi Kapasitas yang tidak terpakai dalam 3 kolam yang berbeda. Jumlah Reservasi Kapasitas di setiap kolam ditunjukkan dengan `AvailableInstanceCount`.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "m4.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-333", 
    "InstanceType": "m4.2xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount":5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Konfigurasi Armada**

Konfigurasi armada berikut hanya menampilkan konfigurasi terkait untuk contoh ini. Total kapasitas target adalah 12, 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`. 

Dalam contoh ini, harga Instans Sesuai Permintaan adalah:
+ `m5.large` – 0,096 USD per jam
+ `m4.xlarge` – 0,20 USD per jam
+ `m4.2xlarge` – 0,40 USD per jam

**catatan**  
Tipe armada harus bertipe `instant`. Tipe armada lainnya tidak mendukung `use-capacity-reservations-first`.

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-abc1234567example",
                "Version": "1"
            },
            "Overrides": [
                {
                  "InstanceType": "m5.large",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.2xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                }
              ]

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 12,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price",
        "CapacityReservationOptions": {
            "UsageStrategy": "use-capacity-reservations-first"
        }
    },
    "Type": "instant"
}
```

Setelah Anda membuat armada `instant` menggunakan konfigurasi sebelumnya, 12 instans berikut diluncurkan untuk memenuhi kapasitas target:
+ 5 Instans Sesuai Permintaan `m5.large` di `us-east-1a` – `m5.large` di `us-east-1a` merupakan harga terendah, dan terdapat 5 Reservasi Kapasitas `m5.large` yang tidak terpakai yang tersedia
+ 5 Instans Sesuai Permintaan `m4.xlarge` di us-east-1a – `m4.xlarge` di `us-east-1a` merupakan harga terendah berikutnya, dan terdapat 5 Reservasi Kapasitas `m4.xlarge` yang tidak terpakai yang tersedia
+ 2 Instans Sesuai Permintaan `m4.2xlarge` di us-east-1a – `m4.2xlarge` di `us-east-1a` merupakan harga terendah ketiga, dan terdapat 5 Reservasi Kapasitas `m4.2xlarge` yang hanya dibutuhkan 2 untuk memenuhi target kapasitas

Setelah armada diluncurkan, Anda dapat berlari [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)untuk melihat berapa banyak Reservasi Kapasitas yang tidak terpakai yang tersisa. Dalam contoh ini, Anda akan melihat respons berikut, yang menunjukkan bahwa semua Reservasi Kapasitas `m5.large` dan `m4.xlarge` digunakan, dengan 3 Reservasi Kapasitas `m4.2xlarge` yang masih belum digunakan.

```
{
    "CapacityReservationId": "cr-111",
    "InstanceType": "m5.large",  
    "AvailableInstanceCount": 0
}

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

{
    "CapacityReservationId": "cr-333",
    "InstanceType": "m4.2xlarge", 
    "AvailableInstanceCount": 3
}
```

## Contoh 5: Luncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas ketika total kapasitas target melebihi jumlah Reservasi Kapasitas yang tidak digunakan
<a name="ec2-fleet-config6"></a>

Anda dapat mengonfigurasi armada agar menggunakan Reservasi Kapasitas Sesuai Permintaan terlebih dahulu saat meluncurkan Instans Sesuai Permintaan dengan mengatur strategi penggunaan untuk Reservasi Kapasitas ke `use-capacity-reservations-first`. Contoh ini juga menunjukkan cara armada memilih kolam instans tempat untuk meluncurkan Instans Sesuai Permintaan jika total kapasitas target melebihi jumlah Reservasi Kapasitas yang tidak terpakai yang tersedia.

Dalam contoh ini, konfigurasi armada adalah sebagai berikut:
+ Kapasitas target: 16 Instans Sesuai Permintaan
+ Total Reservasi Kapasitas yang tidak terpakai: 15 (kurang dari kapasitas target armada sebesar 16 Instans Sesuai Permintaan)
+ Jumlah kolam Reservasi Kapasitas: 3 (`m5.large`, `m4.xlarge`, dan `m4.2xlarge`)
+ Jumlah Reservasi Kapasitas per kolam: 5
+ 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 alokasi `lowest-price`.

**Reservasi Kapasitas**

Akun tersebut memiliki 15 Reservasi Kapasitas yang tidak terpakai dalam 3 kolam yang berbeda. Jumlah Reservasi Kapasitas di setiap kolam ditunjukkan dengan `AvailableInstanceCount`.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "m5.large", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "m4.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-333", 
    "InstanceType": "m4.2xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount":5, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Konfigurasi Armada**



Konfigurasi armada berikut hanya menampilkan konfigurasi terkait untuk contoh ini. Total kapasitas target adalah 16, 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`. 

Dalam contoh ini, harga Instans Sesuai Permintaan adalah:
+ m5.large – 0,096 USD per jam
+ m4.xlarge – 0,20 USD per jam
+ m4.2xlarge – 0,40 USD per jam

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

```
{
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateId": "lt-0e8c754449b27161c",
                "Version": "1"
            },
            "Overrides": [
                {
                  "InstanceType": "m5.large",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                },
                {
                  "InstanceType": "m4.2xlarge",
                  "AvailabilityZone": "us-east-1a",
                  "WeightedCapacity": 1
                }
              ]

        }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 16,
        "DefaultTargetCapacityType": "on-demand"
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price"
        "CapacityReservationOptions": {
            "UsageStrategy": "use-capacity-reservations-first"
        }
    },
    "Type": "instant",
}
```

Setelah Anda membuat armada `instant` menggunakan konfigurasi sebelumnya, 16 instans berikut diluncurkan untuk memenuhi kapasitas target:
+ 6 Instans Sesuai Permintaan `m5.large` di `us-east-1a` – `m5.large` di `us-east-1a` merupakan harga terendah, dan terdapat 5 Reservasi Kapasitas `m5.large` yang tidak terpakai yang tersedia. Reservasi Kapasitas digunakan terlebih dahulu untuk meluncurkan 5 Instans Sesuai Permintaan. Setelah sisa Reservasi Kapasitas `m4.xlarge` dan `m4.2xlarge` digunakan, untuk memenuhi kapasitas target, Instans Sesuai Permintaan tambahan diluncurkan sesuai dengan strategi alokasi Sesuai Permintaan, yaitu `lowest-price` dalam contoh ini.
+ 5 Instans Sesuai Permintaan `m4.xlarge` di `us-east-1a` – `m4.xlarge` di `us-east-1a` merupakan harga terendah berikutnya, dan terdapat 5 Reservasi Kapasitas `m4.xlarge` yang tidak terpakai yang tersedia
+ 5 Instans Sesuai Permintaan `m4.2xlarge` di `us-east-1a` – `m4.2xlarge` di `us-east-1a` merupakan harga terendah ketiga, dan terdapat 5 Reservasi Kapasitas `m4.2xlarge` yang tidak terpakai yang tersedia

Setelah armada diluncurkan, Anda dapat berlari [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)untuk 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": "m5.large",  
    "AvailableInstanceCount": 0
}

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

{
    "CapacityReservationId": "cr-333",
    "InstanceType": "m4.2xlarge", 
    "AvailableInstanceCount": 0
}
```

## Contoh 6: Luncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan
<a name="ec2-fleet-config7"></a>

Anda dapat mengonfigurasi armada agar menggunakan Reservasi Kapasitas Sesuai Permintaan `targeted` terlebih dahulu saat meluncurkan Instans Sesuai Permintaan dengan mengatur strategi penggunaan untuk Reservasi Kapasitas ke `use-capacity-reservations-first`. Contoh ini menunjukkan cara meluncurkan Instans Sesuai Permintaan ke dalam Reservasi Kapasitas `targeted`, jika atribut Reservasi Kapasitas sama kecuali untuk Zona Ketersediaan (`us-east-1a` dan `us-east-1b`). Contoh ini juga menunjukkan cara armada memilih kolam instans tempat untuk meluncurkan Instans Sesuai Permintaan jika total kapasitas target melebihi jumlah Reservasi Kapasitas yang tidak terpakai yang tersedia.

Dalam contoh ini, konfigurasi armada adalah 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` dan `us-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 alokasi `lowest-price`.

Untuk panduan prosedur yang harus Anda lakukan untuk menyelesaikan contoh ini, lihat [Tutorial: Konfigurasikan Armada EC2 untuk meluncurkan Instans Sesuai Permintaan menggunakan Reservasi Kapasitas yang ditargetkan](ec2-fleet-launch-on-demand-instances-using-targeted-capacity-reservations-walkthrough.md).

**Reservasi Kapasitas**

Akun tersebut memiliki 6 Reservasi Kapasitas yang tidak terpakai dalam 2 kolam yang berbeda. Dalam contoh ini, kolam berbeda-beda menurut Zona Ketersediaannya. Jumlah Reservasi Kapasitas di setiap kolam ditunjukkan dengan `AvailableInstanceCount`.

```
{
    "CapacityReservationId": "cr-111", 
    "InstanceType": "c5.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1a", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}

{
    "CapacityReservationId": "cr-222", 
    "InstanceType": "c5.xlarge", 
    "InstancePlatform": "Linux/UNIX", 
    "AvailabilityZone": "us-east-1b", 
    "AvailableInstanceCount": 3, 
    "InstanceMatchCriteria": "open", 
    "State": "active"
}
```

**Konfigurasi Armada**

Konfigurasi armada berikut hanya menampilkan konfigurasi terkait untuk contoh ini. 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`. 

Dalam contoh ini, harga Instans Sesuai Permintaan untuk `c5.xlarge` di `us-east-1` adalah 0,17 USD per jam.

**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` di `us-east-1a`
  + 3 Instans Sesuai Permintaan diluncurkan ke dalam 3 Reservasi Kapasitas `c5.xlarge` `targeted` di `us-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.

Setelah armada diluncurkan, Anda dapat berlari [describe-capacity-reservations](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-capacity-reservations.html)untuk 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
}
```

## Contoh 7: Konfigurasikan Penyeimbangan Kembali Kapasitas untuk meluncurkan Instans Spot pengganti
<a name="ec2-fleet-config8"></a>

Contoh berikut mengonfigurasi Armada EC2 untuk meluncurkan Instans Spot pengganti saat Amazon EC2 memancarkan rekomendasi penyeimbangan ulang untuk Instans Spot di armada. Untuk mengonfigurasi penggantian otomatis Instans Spot, untuk`ReplacementStrategy` , tentukan`launch-before-terminate` . Untuk mengonfigurasi penundaan waktu dari saat Instans Spot pengganti baru diluncurkan hingga saat Instans Spot lama dihapus secara otomatis, untuk `termination-delay`, tentukan nilai dalam detik. Untuk informasi selengkapnya, lihat [Opsi konfigurasi](ec2-fleet-capacity-rebalance.md#ec2-fleet-capacity-rebalance-config-options).

**catatan**  
Sebaiknya gunakan `launch-before-terminate` hanya jika Anda dapat memprediksi lamanya prosedur pematian instans akan selesai sehingga instans lama hanya dihentikan setelah prosedur ini selesai. Anda dikenai biaya untuk semua instans saat semuanya berjalan.

Efektivitas strategi Penyeimbangan Ulang Kapasitas bergantung pada jumlah kolam kapasitas Spot yang ditentukan dalam permintaan Armada EC2. Sebaiknya konfigurasikan armada dengan set tipe instans dan Zona Ketersediaan yang beragam, dan untuk `AllocationStrategy`, tentukan `capacity-optimized`. Untuk informasi selengkapnya tentang hal-hal yang harus Anda pertimbangkan saat mengonfigurasi Armada EC2 untuk Penyeimbangan Ulang Kapasitas, lihat [Gunakan Rebalancing Kapasitas di Armada EC2 dan Armada Spot untuk mengganti Instans Spot yang berisiko](ec2-fleet-capacity-rebalance.md).

```
{
    "ExcessCapacityTerminationPolicy": "termination",
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "LaunchTemplate",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "c3.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c4.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c5.large",
                           "WeightedCapacity": 1,
                            "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       }
                ] 
          }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 5,
        "DefaultTargetCapacityType": "spot"
    },
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        "MaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch-before-terminate",
                "TerminationDelay": "720"
            }
        }
    }
}
```

## Contoh 8: Luncurkan Instans Spot dalam armada yang dioptimalkan kapasitas
<a name="ec2-fleet-config9"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada EC2 dengan strategi alokasi yang mengoptimalkan kapasitas. Untuk mengoptimalkan kapasitas, Anda harus mengatur `AllocationStrategy` ke `capacity-optimized`.

Pada contoh berikut ini, tiga spesifikasi peluncuran menentukan tiga kolam kapasitas Spot. Kapasitas target adalah 50 Instans Spot. Armada EC2 berupaya meluncurkan 50 Instans Spot ke kolam kapasitas Spot dengan kapasitas optimal untuk jumlah instans yang diluncurkan.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized",
        },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "r4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                 ] 
           }
    ],
    "TargetCapacitySpecification": {
            "TotalTargetCapacity": 50,
            "DefaultTargetCapacityType": "spot"

    }
}
```

## Contoh 9: Luncurkan Instans Spot dalam armada yang dioptimalkan kapasitas dengan prioritas
<a name="ec2-fleet-config10"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada EC2 dengan strategi alokasi Spot yang mengoptimalkan kapasitas sambil menggunakan prioritas dengan upaya terbaik.

Jika menggunakan strategi alokasi `capacity-optimized-prioritized`, Anda dapat menggunakan parameter `Priority` untuk menentukan prioritas kolam kapasitas Spot, yaitu makin rendah angkanya, makin tinggi prioritasnya. Anda juga dapat mengatur prioritas yang sama untuk beberapa kolam kapasitas Spot jika Anda menginginkannya setara. Jika Anda tidak menetapkan prioritas, kolam akan dianggap yang terakhir dalam hal prioritas.

Untuk memprioritaskan kolam kapasitas Spot, Anda harus mengatur `AllocationStrategy` ke `capacity-optimized-prioritized`. Armada EC2 akan mengoptimalkan kapasitas terlebih dahulu, tetapi akan mempertimbangkan prioritas dengan upaya terbaik (misalnya, jika mempertimbangkan prioritas tidak akan secara signifikan memengaruhi kemampuan Armada EC2 untuk menyediakan kapasitas optimal). Ini adalah pilihan opsi yang bagus untuk beban kerja di mana kemungkinan gangguan harus diminimalkan dan preferensi untuk tipe instans tertentu menjadi penting.

Pada contoh berikut ini, tiga spesifikasi peluncuran menentukan tiga kolam kapasitas Spot. Setiap kolam diprioritaskan, yaitu makin rendah jumlahnya, makin tinggi prioritasnya. Kapasitas target adalah 50 Instans Spot. Armada EC2 berupaya meluncurkan 50 Instans Spot ke dalam kolam kapasitas Spot dengan prioritas tertinggi menggunakan upaya terbaik, tetapi mengoptimalkan kapasitas terlebih dahulu.

```
{
    "SpotOptions": {
        "AllocationStrategy": "capacity-optimized-prioritized"
        },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                        {
                           "InstanceType": "r4.2xlarge",    
                           "Priority": 1,
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Priority": 2,
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Priority": 3,
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                  ] 
             }
    ],
    "TargetCapacitySpecification": {
            "TotalTargetCapacity": 50,
            "DefaultTargetCapacityType": "spot"
}
```

## Contoh 10: Luncurkan Instans Spot di armada price-capacity-optimized
<a name="ec2-fleet-config11"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada EC2 dengan strategi alokasi Spot yang mengoptimalkan kapasitas dan harga terendah. Untuk mengoptimalkan kapasitas sambil mempertimbangkan harga, Anda harus mengatur Spot `AllocationStrategy` ke `price-capacity-optimized`.

Pada contoh berikut ini, tiga spesifikasi peluncuran menentukan tiga kolam kapasitas Spot. Kapasitas target adalah 50 Instans Spot. Armada EC2 berupaya meluncurkan 50 Instans Spot ke kolam kapasitas Spot dengan kapasitas optimal untuk jumlah instans yang diluncurkan sekaligus memilih kolam yang memiliki harga terendah.

```
{
    "SpotOptions": {
        "AllocationStrategy": "price-capacity-optimized",
        "MinTargetCapacity": 2,
        "SingleInstanceType": true
    },
    "OnDemandOptions": {
        "AllocationStrategy": "lowest-price"
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
                 "Overrides": [
                       {
                           "InstanceType": "r4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2a"
                           },
                      },
                       {
                           "InstanceType": "m4.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           },
                       }, 
                       {
                           "InstanceType": "c5.2xlarge",
                           "Placement": {
                               "AvailabilityZone": "us-west-2b"
                           }
                       }
                 ] 
           }
    ],
    "TargetCapacitySpecification": {
        "TotalTargetCapacity": 50,
        "OnDemandTargetCapacity":0,
        "SpotTargetCapacity":50,
        "DefaultTargetCapacityType": "spot"
    },
    "Type": "instant"
}
```

## Contoh 11: Konfigurasikan pemilihan tipe instans berbasis atribut
<a name="ec2-fleet-config12"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada EC2 untuk menggunakan pemilihan tipe instans berbasis atribut untuk mengidentifikasi tipe instans. Untuk menentukan atribut instans yang diperlukan, Anda menentukan atribut dalam struktur `InstanceRequirements`.

Pada contoh berikut ini, dua atribut instans ditentukan:
+ `VCpuCount`— Minimal 2 v CPUs ditentukan. Karena tidak ada jumlah maksimum yang ditentukan, maka tidak ada batas maksimum.
+ `MemoryMiB` – Minimum 4 MiB memori ditentukan. Karena tidak ada jumlah maksimum yang ditentukan, maka tidak ada batas maksimum.

Setiap jenis instance yang memiliki 2 atau lebih v CPUs dan 4 MiB atau lebih memori akan diidentifikasi. Namun, perlindungan harga dan strategi alokasi mungkin akan mengecualikan beberapa tipe instans jika [Armada EC2 menyediakan armada](ec2-fleet-attribute-based-instance-type-selection.md#how-ef-uses-abs).

Untuk daftar dan deskripsi semua kemungkinan atribut yang dapat Anda tentukan, lihat [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)di Referensi API *Amazon EC2*.

```
{
	"SpotOptions": {
		"AllocationStrategy": "price-capacity-optimized"
	},
	"LaunchTemplateConfigs": [{
		"LaunchTemplateSpecification": {
			"LaunchTemplateName": "my-launch-template",
			"Version": "1"
		},
		"Overrides": [{
			"InstanceRequirements": {
				"VCpuCount": {
					"Min": 2
				},
				"MemoryMiB": {
					"Min": 4
				}
			}
		}]
	}],
	"TargetCapacitySpecification": {
		"TotalTargetCapacity": 20,
		"DefaultTargetCapacityType": "spot"
	},
	"Type": "instant"
}
```

# Contoh konfigurasi CLI Spot Fleet
<a name="spot-fleet-examples"></a>

Anda dapat menentukan konfigurasi Spot Fleet Anda dalam file JSON, dan kemudian referensi file tersebut menggunakan [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html) AWS CLI perintah untuk membuat armada Anda, sebagai berikut:

```
aws ec2 request-spot-fleet --spot-fleet-request-config file://file_name.json
```

Contoh berikut menggambarkan konfigurasi peluncuran untuk berbagai kasus penggunaan Armada Spot. Untuk informasi selengkapnya tentang parameter konfigurasi, lihat [request-spot-fleet](https://docs.aws.amazon.com/cli/latest/reference/ec2/request-spot-fleet.html). Untuk informasi selengkapnya tentang membuat Armada Spot, lihat[Membuat Armada Spot](create-spot-fleet.md).

**catatan**  
Untuk Armada Spot, Anda tidak dapat menentukan ID antarmuka jaringan di templat peluncuran atau spesifikasi peluncuran. Pastikan Anda menghilangkan parameter `NetworkInterfaceID` di templat peluncuran atau spesifikasi peluncuran.

**Topics**
+ [Contoh 1: Luncurkan Instans Spot menggunakan Availability Zone dengan harga terendah di Region](#fleet-config1)
+ [Contoh 2: Luncurkan Instans Spot menggunakan Availability Zone dengan harga terendah dari daftar](#fleet-config2)
+ [Contoh 3: Luncurkan Instans Spot menggunakan jenis instans dengan harga terendah dari daftar](#fleet-config3)
+ [Contoh 4. Menimpa harga untuk permintaan](#fleet-config4)
+ [Contoh 5: Meluncurkan Armada Spot menggunakan strategi alokasi yang terdiversifikasi](#fleet-config5)
+ [Contoh 6: Meluncurkan Armada Spot menggunakan pembobotan instans](#fleet-config6)
+ [Contoh 7: Luncurkan Armada Spot menggunakan kapasitas On-Demand](#fleet-config7)
+ [Contoh 8: Mengonfigurasikan Penyeimbangan Ulang Kapasitas untuk meluncurkan Instans Spot pengganti](#fleet-config8)
+ [Contoh 9: Meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas](#fleet-config9)
+ [Contoh 10: Meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas dengan prioritas](#fleet-config10)
+ [Contoh 11: Luncurkan Instans Spot di armada priceCapacityOptimized](#fleet-config11)
+ [Contoh 12: Mengonfigurasi pemilihan tipe instans berbasis atribut](#fleet-config12)

## Contoh 1: Luncurkan Instans Spot menggunakan Availability Zone dengan harga terendah di Region
<a name="fleet-config1"></a>

Contoh berikut menentukan spesifikasi peluncuran tunggal tanpa Zona Ketersediaan atau subnet. Armada Spot meluncurkan instans di Zona Ketersediaan dengan harga terendah yang memiliki subnet default. Harga yang Anda bayarkan tidak melebihi harga Sesuai Permintaan.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

## Contoh 2: Luncurkan Instans Spot menggunakan Availability Zone dengan harga terendah dari daftar
<a name="fleet-config2"></a>

Contoh berikut menentukan dua spesifikasi peluncuran dengan Zona Ketersediaan atau subnet yang berbeda, tetapi dengan tipe instans dan AMI yang sama.

**Zona Ketersediaan**

Armada Spot meluncurkan instans di subnet default Zona Ketersediaan dengan harga terendah yang Anda tentukan.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "Placement": {
              "AvailabilityZone": "us-west-2a, us-west-2b"
          },
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

**Subnet**

Anda dapat menentukan subnet default atau subnet non-default, dan subnet non-default dapat berasal dari VPC default atau VPC non-default. Layanan Spot meluncurkan instans di subnet mana pun yang berada di Zona Ketersediaan dengan harga terendah.

Anda tidak dapat menentukan subnet yang berbeda dari Zona Ketersediaan yang sama dalam permintaan Armada Spot.

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "m3.medium",
          "SubnetId": "subnet-a61dafcf, subnet-65ea5f08",
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ]
}
```

Jika instance diluncurkan dalam VPC default, mereka menerima alamat IPv4 publik secara default. Jika instance diluncurkan dalam VPC nondefault, mereka tidak menerima alamat publik IPv4 secara default. Gunakan antarmuka jaringan dalam spesifikasi peluncuran untuk menetapkan IPv4 alamat publik ke instance yang diluncurkan di VPC nondefault. Saat Anda menentukan antarmuka jaringan, Anda harus menyertakan ID subnet dan ID grup keamanan menggunakan antarmuka jaringan.

```
  ...       
      {
          "ImageId": "ami-1a2b3c4d",
          "KeyName": "my-key-pair",
          "InstanceType": "m3.medium",
          "NetworkInterfaces": [
              {
                  "DeviceIndex": 0,
                  "SubnetId": "subnet-1a2b3c4d",
                  "Groups": [ "sg-1a2b3c4d" ],
                  "AssociatePublicIpAddress": true
              }
          ],
          "IamInstanceProfile": {
              "Arn": "arn:aws:iam::123456789012:instance-profile/my-iam-role"
          }
      }
  ...
```

## Contoh 3: Luncurkan Instans Spot menggunakan jenis instans dengan harga terendah dari daftar
<a name="fleet-config3"></a>

Contoh berikut menentukan dua konfigurasi peluncuran dengan tipe instans yang berbeda, tetapi dengan AMI dan Zona Ketersediaan atau subnet yang sama. Armada Spot meluncurkan instans menggunakan tipe instans yang ditentukan dengan harga terendah.

**Zona Ketersediaan**

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "c5.4xlarge",
          "Placement": {
            "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "r3.8xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
  ]
}
```

**Subnet**

```
{
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "c5.4xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "SecurityGroups": [
              {
                  "GroupId": "sg-1a2b3c4d"
              }
          ],
          "InstanceType": "r3.8xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      }
  ]
}
```

## Contoh 4. Menimpa harga untuk permintaan
<a name="fleet-config4"></a>

Sebaiknya gunakan harga maksimum default, yaitu harga Sesuai Permintaan. Jika Anda memilih, Anda dapat menentukan harga maksimum untuk permintaan armada dan harga maksimum untuk spesifikasi peluncuran individu.

Contoh berikut menentukan harga maksimum untuk permintaan armada dan harga maksimum untuk dua dari tiga spesifikasi peluncuran. Harga maksimum permintaan armada digunakan untuk spesifikasi peluncuran apa pun yang tidak menentukan harga maksimum. Armada Spot meluncurkan instans menggunakan tipe instans dengan harga terendah.

**Zona Ketersediaan**

```
{
  "SpotPrice": "1.00",
  "TargetCapacity": 30,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "SpotPrice": "0.10"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.4xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "SpotPrice": "0.20"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.8xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
    ]
}
```

**Subnet**

```
{
  "SpotPrice": "1.00",
  "TargetCapacity": 30,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.2xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "SpotPrice": "0.10"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.4xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "SpotPrice": "0.20"
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.8xlarge",
          "SubnetId": "subnet-1a2b3c4d"
      }
  ]
}
```

## Contoh 5: Meluncurkan Armada Spot menggunakan strategi alokasi yang terdiversifikasi
<a name="fleet-config5"></a>

Contoh berikut menggunakan strategi alokasi `diversified`. Spesifikasi peluncuran memiliki tipe instans yang berbeda, tetapi AMI dan Zona Ketersediaan atau subnet yang sama. Armada Spot mendistribusikan 30 instans di tiga spesifikasi peluncuran, sehingga terdapat 10 instans untuk setiap tipe. Untuk informasi selengkapnya, lihat [Gunakan strategi alokasi untuk menentukan bagaimana Armada EC2 atau Armada Spot memenuhi kapasitas Spot dan Sesuai Permintaan](ec2-fleet-allocation-strategy.md).

**Zona Ketersediaan**

```
{
  "SpotPrice": "0.70", 
  "TargetCapacity": 30,
  "AllocationStrategy": "diversified",
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c4.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "m3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      }
  ]
}
```

**Subnet**

```
{
    "SpotPrice": "0.70", 
    "TargetCapacity": 30,
    "AllocationStrategy": "diversified",
    "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
    "LaunchSpecifications": [
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "c4.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "m3.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "r3.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        }
    ]
}
```

Praktik terbaik untuk meningkatkan peluang permintaan spot dapat dipenuhi oleh kapasitas EC2 jika terjadi pemadaman di salah satu Zona Ketersediaan adalah dengan melakukan diversifikasi di seluruh zona. Untuk skenario ini, sertakan setiap Zona Ketersediaan yang tersedia untuk Anda dalam spesifikasi peluncuran. Selain itu, alih-alih menggunakan subnet yang sama setiap kalinya, gunakan tiga subnet unik (masing-masing memetakan ke zona yang berbeda). 

**Zona Ketersediaan**

```
{
  "SpotPrice": "0.70", 
  "TargetCapacity": 30,
  "AllocationStrategy": "diversified",
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c4.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2a"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "m3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          }
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2c"
          }
      }
  ]
}
```

**Subnet**

```
{
    "SpotPrice": "0.70", 
    "TargetCapacity": 30,
    "AllocationStrategy": "diversified",
    "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
    "LaunchSpecifications": [
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "c4.2xlarge",
            "SubnetId": "subnet-1a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "m3.2xlarge",
            "SubnetId": "subnet-2a2b3c4d"
        },
        {
            "ImageId": "ami-1a2b3c4d",
            "InstanceType": "r3.2xlarge",
            "SubnetId": "subnet-3a2b3c4d"
        }
    ]
}
```

## Contoh 6: Meluncurkan Armada Spot menggunakan pembobotan instans
<a name="fleet-config6"></a>

Contoh berikut menggunakan pembobotan instans, yang berarti harga adalah per unit jam, bukan per jam instans. Setiap konfigurasi peluncuran mencantumkan tipe instans yang berbeda dan bobot yang berbeda. Armada Spot memilih tipe instans dengan harga terendah per unit jam. Armada Spot menghitung jumlah Instans Spot yang akan diluncurkan dengan membagi kapasitas target dengan bobot instans. Jika hasilnya bukan bilangan bulat, Armada Spot akan membulatkannya ke bilangan bulat berikutnya, sehingga ukuran armada Anda tidak berada di bawah kapasitas targetnya.

Jika permintaan `r3.2xlarge` berhasil, Spot akan menyediakan 4 instans ini. Bagilah 20 dengan 6 untuk total 3,33 instans, lalu bulatkan menjadi 4 instans.

Jika permintaan `c3.xlarge` berhasil, Spot akan menyediakan 7 instans ini. Bagilah 20 dengan 3 untuk total 6,66 instans, lalu bulatkan menjadi 7 instans.

Untuk informasi selengkapnya, lihat [Gunakan pembobotan instans untuk mengelola biaya dan kinerja Armada EC2 atau Armada Spot Anda](ec2-fleet-instance-weighting.md).

**Zona Ketersediaan**

```
{
  "SpotPrice": "0.70",
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "WeightedCapacity": 6
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.xlarge",
          "Placement": {
              "AvailabilityZone": "us-west-2b"
          },
          "WeightedCapacity": 3
      }
    ]
}
```

**Subnet**

```
{
  "SpotPrice": "0.70",
  "TargetCapacity": 20,
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "LaunchSpecifications": [
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "r3.2xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "WeightedCapacity": 6
      },
      {
          "ImageId": "ami-1a2b3c4d",
          "InstanceType": "c3.xlarge",
          "SubnetId": "subnet-1a2b3c4d",
          "WeightedCapacity": 3
      }
  ]
}
```

## Contoh 7: Luncurkan Armada Spot menggunakan kapasitas On-Demand
<a name="fleet-config7"></a>

Untuk memastikan bahwa Anda selalu memiliki kapasitas instans, Anda dapat menyertakan permintaan kapasitas Sesuai Permintaan dalam permintaan Armada Spot. Jika terdapat kapasitas, permintaan Sesuai Permintaan akan selalu terpenuhi. Keseimbangan kapasitas target akan terpenuhi sebagai Spot jika terdapat kapasitas dan ketersediaan.

Contoh berikut menentukan kapasitas target yang diinginkan sebagai 10, yang 5 di antaranya harus merupakan kapasitas Sesuai Permintaan. Kapasitas spot tidak ditentukan; hal tersebut tersirat dalam keseimbangan kapasitas target dikurangi kapasitas Sesuai Permintaan. Amazon EC2 meluncurkan 5 unit kapasitas sebagai Sesuai Permintaan, dan 5 unit kapasitas (10-5 = 5) sebagai Spot jika tersedia kapasitas dan ketersediaan Amazon EC2. 

```
{
  "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
  "AllocationStrategy": "lowestPrice",
  "TargetCapacity": 10,
  "SpotPrice": null,
  "ValidFrom": "2018-04-04T15:58:13Z",
  "ValidUntil": "2019-04-04T15:58:13Z",
  "TerminateInstancesWithExpiration": true,
  "LaunchSpecifications": [],
  "Type": "maintain",
  "OnDemandTargetCapacity": 5,
  "LaunchTemplateConfigs": [
    {
      "LaunchTemplateSpecification": {
        "LaunchTemplateId": "lt-0dbb04d4a6cca5ad1",
        "Version": "2"
      },
      "Overrides": [
        {
          "InstanceType": "t2.medium",
          "WeightedCapacity": 1,
          "SubnetId": "subnet-d0dc51fb"
        }
      ]
    }
  ]
}
```

## Contoh 8: Mengonfigurasikan Penyeimbangan Ulang Kapasitas untuk meluncurkan Instans Spot pengganti
<a name="fleet-config8"></a>

Contoh berikut mengonfigurasi Armada Spot untuk meluncurkan Instans Spot pengganti saat Amazon EC2 memancarkan rekomendasi penyeimbangan ulang untuk Instans Spot di armada. Untuk mengonfigurasi penggantian otomatis Instans Spot, untuk `ReplacementStrategy`, tentukan `launch-before-terminate`. Untuk mengonfigurasi waktu tunda dari peluncuran Instans Spot pengganti baru ke penghapusan otomatis Instans Spot lama, untuk `termination-delay`, tentukan nilai dalam hitungan detik. Untuk informasi selengkapnya, lihat [Opsi konfigurasi](ec2-fleet-capacity-rebalance.md#ec2-fleet-capacity-rebalance-config-options).

**catatan**  
Sebaiknya gunakan `launch-before-terminate` hanya jika Anda dapat memprediksi lamanya prosedur pematian instans Anda akan selesai. Hal ini memastikan bahwa instans lama diakhiri hanya setelah prosedur pematian selesai. Anda dikenai biaya untuk semua instans saat semuanya berjalan.

Efektivitas strategi Penyeimbangan Ulang Kapasitas bergantung pada jumlah kolam kapasitas Spot yang ditentukan dalam permintaan Armada Spot. Sebaiknya konfigurasikan armada dengan set tipe instans dan Zona Ketersediaan yang beragam, dan untuk `AllocationStrategy`, tentukan `capacityOptimized`. Untuk informasi selengkapnya tentang hal-hal yang harus Anda pertimbangkan saat mengonfigurasi Armada Spot untuk Penyeimbangan Ulang Kapasitas, lihat [Gunakan Rebalancing Kapasitas di Armada EC2 dan Armada Spot untuk mengganti Instans Spot yang berisiko](ec2-fleet-capacity-rebalance.md).

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimized",
        "IamFleetRole": "arn:aws:iam::123456789012:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateName": "LaunchTemplate",
                    "Version": "1"
                },
                 "Overrides": [
                       {
                           "InstanceType": "c3.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c4.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       },
                       {
                           "InstanceType": "c5.large",
                           "WeightedCapacity": 1,
                           "Placement": {
                               "AvailabilityZone": "us-east-1a"
                           }
                       }
                ] 
          }
    ],
        "TargetCapacity": 5,
        "SpotMaintenanceStrategies": {
            "CapacityRebalance": {
                "ReplacementStrategy": "launch-before-terminate",
                "TerminationDelay": "720"
            }
        }
    }
}
```

## Contoh 9: Meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas
<a name="fleet-config9"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada Spot dengan strategi alokasi Spot yang mengoptimalkan kapasitas. Untuk mengoptimalkan kapasitas, Anda harus mengatur `AllocationStrategy` ke `capacityOptimized`.

Pada contoh berikut ini, tiga spesifikasi peluncuran menentukan tiga kolam kapasitas Spot. Kapasitas target adalah 50 Instans Spot. Armada Spot berupaya meluncurkan 50 Instans Spot ke kolam kapasitas Spot dengan kapasitas optimal untuk jumlah instans yang diluncurkan.

```
{
    "TargetCapacity": "50",
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimized",
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "r4.2xlarge",  
                    "AvailabilityZone": "us-west-2a"
                },
                {
                    "InstanceType": "m4.2xlarge",
                    "AvailabilityZone": "us-west-2b"
                }, 
                {
                    "InstanceType": "c5.2xlarge",
                    "AvailabilityZone": "us-west-2b"
                }
            ] 
        }
    ]
}
```

## Contoh 10: Meluncurkan Instans Spot dalam armada yang dioptimalkan kapasitas dengan prioritas
<a name="fleet-config10"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada Spot dengan strategi alokasi Spot yang mengoptimalkan kapasitas sambil menggunakan prioritas dengan upaya terbaik.

Jika menggunakan strategi alokasi `capacityOptimizedPrioritized`, Anda dapat menggunakan parameter `Priority` untuk menentukan prioritas kolam kapasitas Spot, yaitu makin rendah angkanya, makin tinggi prioritasnya. Anda juga dapat mengatur prioritas yang sama untuk beberapa kolam kapasitas Spot jika Anda menginginkannya setara. Jika Anda tidak menetapkan prioritas, kolam akan dianggap yang terakhir dalam hal prioritas.

Untuk memprioritaskan kolam kapasitas Spot, Anda harus mengatur `AllocationStrategy` ke `capacityOptimizedPrioritized`. Armada Spot akan mengoptimalkan kapasitas terlebih dahulu, tetapi akan mempertimbangkan prioritas dengan upaya terbaik (misalnya, jika mempertimbangkan prioritas tidak akan secara signifikan memengaruhi kemampuan Armada Spot untuk menyediakan kapasitas optimal). Ini adalah pilihan opsi yang bagus untuk beban kerja di mana kemungkinan gangguan harus diminimalkan dan preferensi untuk tipe instans tertentu menjadi penting.

Pada contoh berikut ini, tiga spesifikasi peluncuran menentukan tiga kolam kapasitas Spot. Setiap kolam diprioritaskan, yaitu makin rendah jumlahnya, makin tinggi prioritasnya. Kapasitas target adalah 50 Instans Spot. Armada Spot berupaya meluncurkan 50 Instans Spot ke dalam kolam kapasitas Spot dengan prioritas tertinggi menggunakan upaya terbaik, tetapi mengoptimalkan kapasitas terlebih dahulu.

```
{
    "TargetCapacity": "50",
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "capacityOptimizedPrioritized"
    },
    "LaunchTemplateConfigs": [
        {
            "LaunchTemplateSpecification": {
                "LaunchTemplateName": "my-launch-template",
                "Version": "1"
            },
            "Overrides": [
                {
                    "InstanceType": "r4.2xlarge",    
                   "Priority": 1,
                    "AvailabilityZone": "us-west-2a"
                },
                {
                           "InstanceType": "m4.2xlarge",
                           "Priority": 2,
                           "AvailabilityZone": "us-west-2b"
                }, 
                {
                           "InstanceType": "c5.2xlarge",
                           "Priority": 3,
                           "AvailabilityZone": "us-west-2b"
                }
            ] 
        }
    ]
}
```

## Contoh 11: Luncurkan Instans Spot di armada priceCapacityOptimized
<a name="fleet-config11"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada Spot dengan strategi alokasi Spot yang mengoptimalkan kapasitas dan harga terendah. Untuk mengoptimalkan kapasitas sambil mempertimbangkan harga, Anda harus mengatur Spot `AllocationStrategy` ke `priceCapacityOptimized`.

Pada contoh berikut ini, tiga spesifikasi peluncuran menentukan tiga kolam kapasitas Spot. Kapasitas target adalah 50 Instans Spot. Armada Spot berupaya meluncurkan 50 Instans Spot ke kolam kapasitas Spot dengan kapasitas optimal untuk jumlah instans yang diluncurkan sekaligus memilih kolam yang memiliki harga terendah.

```
{
    "SpotFleetRequestConfig": {
        "AllocationStrategy": "priceCapacityOptimized",
        "OnDemandAllocationStrategy": "lowestPrice",
        "ExcessCapacityTerminationPolicy": "default",
        "IamFleetRole": "arn:aws:iam::111111111111:role/aws-ec2-spot-fleet-tagging-role",
        "LaunchTemplateConfigs": [
            {
                "LaunchTemplateSpecification": {
                    "LaunchTemplateId": "lt-0123456789example",
                    "Version": "1"
                },
                "Overrides": [
                     {
                           "InstanceType": "r4.2xlarge",  
                           "AvailabilityZone": "us-west-2a"
                      },
                      {
                           "InstanceType": "m4.2xlarge",
                           "AvailabilityZone": "us-west-2b"
                      }, 
                      {
                           "InstanceType": "c5.2xlarge",
                           "AvailabilityZone": "us-west-2b"
                      }
                ]
            }
        ],
        "TargetCapacity": 50,
        "Type": "request"
    }
}
```

## Contoh 12: Mengonfigurasi pemilihan tipe instans berbasis atribut
<a name="fleet-config12"></a>

Contoh berikut menunjukkan cara mengonfigurasi Armada Spot untuk menggunakan pemilihan tipe instans berbasis atribut untuk mengidentifikasi tipe instans. Untuk menentukan atribut instans yang diperlukan, Anda menentukan atribut dalam struktur `InstanceRequirements`.

Pada contoh berikut ini, dua atribut instans ditentukan:
+ `VCpuCount`— Minimal 2 v CPUs ditentukan. Karena tidak ada jumlah maksimum yang ditentukan, maka tidak ada batas maksimum.
+ `MemoryMiB` – Minimum 4 MiB memori ditentukan. Karena tidak ada jumlah maksimum yang ditentukan, maka tidak ada batas maksimum.

Setiap jenis instance yang memiliki 2 atau lebih v CPUs dan 4 MiB atau lebih memori akan diidentifikasi. Namun, perlindungan harga dan strategi alokasi mungkin akan mengecualikan beberapa tipe instans jika [Armada Spot menyediakan armada](ec2-fleet-attribute-based-instance-type-selection.md#how-ef-uses-abs).

Untuk daftar dan deskripsi semua kemungkinan atribut yang dapat Anda tentukan, lihat [InstanceRequirements](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceRequirements.html)di Referensi API *Amazon EC2*.

```
{
	"AllocationStrategy": "priceCapacityOptimized",
	"TargetCapacity": 20,
	"Type": "request",
	"LaunchTemplateConfigs": [{
		"LaunchTemplateSpecification": {
			"LaunchTemplateName": "my-launch-template",
			"Version": "1"
		},
		"Overrides": [{
			"InstanceRequirements": {
				"VCpuCount": {
					"Min": 2
				},
				"MemoryMiB": {
					"Min": 4
				}
			}
		}]
	}]
}
```

# Kuota untuk Armada EC2 dan Armada Spot
<a name="fleet-quotas"></a>

Anda Akun AWS memiliki kuota default, sebelumnya disebut sebagai batas, untuk setiap layanan. AWS Kecuali dinyatakan lain, setiap kuota bersifat khusus per Wilayah.

[Kuota Amazon EC2 biasa berlaku untuk instans yang diluncurkan oleh Armada EC2 atau Armada Spot, seperti batas [Instans Spot](using-spot-limits.md) dan batas volume.](volume_limits.md)

Selain itu, Anda Akun AWS memiliki kuota berikut yang terkait dengan Armada EC2 dan Armada Spot:


****  

| Deskripsi kuota | Kuota | 
| --- | --- | 
| Jumlah Armada EC2 dan Armada Spot per Wilayah jenis maintain dan request diactive,, deleted\$1running dan negara bagian cancelled\$1running | 1,000 ¹ ² ³ | 
| Jumlah Armada EC2 tipe instant | Tidak terbatas. | 
| Jumlah kumpulan kapasitas Spot (kombinasi unik dari tipe instans dan subnet) untuk Armada EC2 dan Armada Spot jenis dan maintain request | 300 ¹ | 
| Jumlah kumpulan kapasitas Spot (kombinasi unik dari tipe instans dan subnet) untuk jenis Armada EC2 instant | Tidak terbatas. | 
| Ukuran data pengguna dalam spesifikasi peluncuran | 16 KB ² | 
| Kapasitas target per Armada EC2 atau Armada Spot | 10.000 | 
| Kapasitas target di semua Armada EC2 dan Armada Spot di suatu Wilayah | 100.000 ¹ | 
|  Permintaan Armada EC2 atau permintaan Armada Spot tidak dapat menjangkau Wilayah.  |  | 
| Permintaan Armada EC2 atau permintaan Armada Spot tidak dapat menjangkau subnet yang berbeda dari Zona Ketersediaan yang sama. |  | 

¹ Kuota ini berlaku untuk Armada EC2 dan Armada Spot Anda.

² Kuota ini merupakan kuota hard. Anda tidak dapat meminta kenaikan untuk kuota ini.

³ Setelah Anda menghapus Armada EC2 atau membatalkan permintaan Armada Spot, dan jika Anda menentukan bahwa armada *tidak* boleh mengakhiri Instans Spot-nya saat Anda menghapus atau membatalkan permintaan, permintaan armada akan memasuki status `deleted_running` (Armada EC2) atau `cancelled_running` (Armada Spot) dan instans terus berjalan hingga terinterupsi atau Anda mengakhirinya secara manual. Jika Anda menghentikan instans, permintaan armada akan memasuki status `deleted_terminating` (Armada EC2) atau `cancelled_terminating` (Armada Spot) dan tidak dihitung dalam kuota ini. Untuk informasi selengkapnya, lihat [Menghapus permintaan Armada EC2 dan instans di armada](delete-fleet.md) dan [Membatalkan (menghapus) permintaan Armada Spot](cancel-spot-fleet.md).

## Meminta peningkatan kuota untuk kapasitas target
<a name="fleet-quota-increase-request"></a>

Jika Anda membutuhkan lebih dari kuota default untuk kapasitas target, Anda dapat meminta peningkatan kuota.

**Untuk meminta peningkatan kuota pada kapasitas target**

1. Buka formulir Dukungan Center [Create case](https://console.aws.amazon.com/support/home#/case/create?issueType=service-limit-increase&limitType=service-code-ec2-fleet).

1. Pilih **Peningkatan batas layanan**.

1. Untuk **Tipe batas**, pilih **Armada EC2**.

1. Untuk **Wilayah**, pilih AWS Wilayah tempat permintaan kenaikan kuota.

1. Untuk **Batas**, pilih **Kapasitas Armada Target per Armada (dalam unit)** atau **Kapasitas Armada Target per Wilayah (dalam unit)**, bergantung pada kuota yang ingin Anda tingkatkan.

1. Untuk **Nilai batas baru**, masukkan nilai kuota baru.

1. Untuk meminta peningkatan kuota lain, pilih **Tambahkan permintaan lain**, dan ulangi Langkah 4–6.

1. Untuk **Deskripsi kasus penggunaan**, masukkan alasan Anda meminta peningkatan kuota.

1. Di **Opsi kontak**, tentukan bahasa kontak dan metode kontak pilihan Anda.

1. Pilih **Kirim**.