

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

# 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
}
```