

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

# Lakukan pembaruan infrastruktur
<a name="infrastructure-updates"></a>

Pembaruan infrastruktur menggantikan instans di lingkungan komputasi Anda dengan instans baru yang telah memperbarui pengaturan. Strategi pembaruan ini membutuhkan waktu lebih lama daripada penskalaan pembaruan dan memerlukan pengaturan peran layanan dan strategi alokasi tertentu. Pembaruan infrastruktur menyediakan cara untuk memodifikasi konfigurasi lingkungan komputasi mendasar sambil mempertahankan ketersediaan layanan.

**penting**  
Pembaruan infrastruktur memerlukan peran *AWSServiceRoleForBatch*terkait layanan dan strategi alokasi`BEST_FIT_PROGRESSIVE`,, `SPOT_CAPACITY_OPTIMIZED` atau. `SPOT_PRICE_CAPACITY_OPTIMIZED` Jika lingkungan Anda tidak memenuhi persyaratan ini, gunakan blue/green pembaruan sebagai gantinya.

## Perubahan yang memicu pembaruan infrastruktur
<a name="infrastructure-updates-triggers"></a>

Saat Anda memodifikasi salah satu pengaturan berikut AWS Batch , lakukan pembaruan infrastruktur. Pembaruan infrastruktur juga terjadi ketika Anda mengubah pengaturan ini bersama dengan pengaturan pembaruan penskalaan.

Pengaturan berikut memicu pembaruan infrastruktur:

**Konfigurasi komputasi**
+ `allocationStrategy`— Menentukan bagaimana AWS Batch memilih jenis instance.
+ `instanceTypes`- Menentukan jenis instans EC2 yang akan digunakan.
+ `bidPercentage`— Persentase maksimum harga On-Demand untuk instans Spot.
+ `type`— Menghitung jenis lingkungan (`EC2`atau`SPOT`).

**AMI dan konfigurasi peluncuran**
+ `imageId`— AMI khusus untuk digunakan untuk instance.
+ `ec2Configuration`- Konfigurasi EC2 termasuk`imageIdOverride`.
+ `launchTemplate`- Pengaturan template peluncuran EC2.
+ `ec2KeyPair`- SSH key pair misalnya akses.
+ `updateToLatestImageVersion`— Pengaturan pembaruan AMI otomatis.

**Jaringan dan keamanan**
+ `subnets`— Subnet VPC tempat instance diluncurkan (untuk lingkungan komputasi EC2).
+ `securityGroupIds`— Grup keamanan untuk instance (untuk lingkungan komputasi EC2).
+ `placementGroup`- Konfigurasi grup penempatan EC2.

**Pengaturan lainnya**
+ `instanceRole`— Peran IAM untuk instans EC2.
+ `tags`— Tag diterapkan ke instans EC2.

**penting**  
Jika Anda mengubah setelan pembaruan infrastruktur bersama dengan pengaturan pembaruan penskalaan (seperti `desiredvCpus``maxvCpus`,, atau`minvCpus`), AWS Batch lakukan pembaruan infrastruktur. Pembaruan infrastruktur membutuhkan waktu lebih lama daripada penskalaan pembaruan.

## Pemilihan AMI selama pembaruan infrastruktur
<a name="updating-compute-environments-ami"></a>

Selama pembaruan infrastruktur, ID AMI lingkungan komputasi mungkin berubah, tergantung pada AMIs apakah ditentukan dalam salah satu dari tiga pengaturan ini. AMIs ditentukan dalam `imageId` (in`computeResources`), `imageIdOverride` (in`ec2Configuration`), atau template peluncuran yang ditentukan dalam`launchTemplate`. Misalkan tidak IDs ada AMI yang ditentukan dalam pengaturan tersebut dan `updateToLatestImageVersion` pengaturannya`true`. Kemudian, AMI Amazon ECS terbaru yang dioptimalkan didukung oleh AWS Batch digunakan untuk pembaruan infrastruktur apa pun.

Jika ID AMI ditentukan dalam setidaknya satu pengaturan ini, pembaruan bergantung pada pengaturan mana yang diberikan ID AMI yang digunakan sebelum pembaruan. Saat Anda membuat lingkungan komputasi, prioritas untuk memilih ID AMI adalah pertama template peluncuran, lalu `imageId` pengaturan, dan terakhir `imageIdOverride` pengaturan. Namun, jika ID AMI yang digunakan berasal dari template peluncuran, memperbarui `imageId` atau `imageIdOverride` pengaturan tidak akan memperbarui ID AMI. Satu-satunya cara untuk memperbarui ID AMI yang dipilih dari template peluncuran adalah dengan memperbarui template peluncuran. Jika parameter versi template peluncuran adalah `$Default` atau`$Latest`, versi default atau terbaru dari template peluncuran yang ditentukan dievaluasi. Jika ID AMI yang berbeda dipilih secara default atau versi terbaru dari template peluncuran dipilih, ID AMI tersebut digunakan dalam pembaruan.

Jika template peluncuran tidak digunakan untuk memilih ID AMI, ID AMI yang ditentukan dalam `imageIdOverride` parameter `imageId` atau akan digunakan. Jika keduanya ditentukan, ID AMI yang ditentukan dalam `imageIdOverride` parameter digunakan.

Misalkan lingkungan komputasi menggunakan ID AMI yang ditentukan oleh`imageId`,, atau `launchTemplate` parameter`imageIdOverride`, dan Anda ingin menggunakan AMI Amazon ECS terbaru yang dioptimalkan didukung oleh. AWS Batch Kemudian, pembaruan harus menghapus pengaturan yang disediakan AMI IDs. Untuk`imageId`, ini membutuhkan menentukan string kosong untuk parameter itu. Untuk`imageIdOverride`, ini membutuhkan menentukan string kosong untuk `ec2Configuration` parameter.

Jika ID AMI berasal dari template peluncuran, Anda dapat mengubah ke AMI Amazon ECS terbaru yang dioptimalkan yang didukung AWS Batch oleh salah satu cara berikut:
+ Hapus template peluncuran dengan menentukan string kosong untuk `launchTemplateName` parameter `launchTemplateId` or. Ini menghapus seluruh template peluncuran, bukan ID AMI saja.
+ Jika versi terbaru dari template peluncuran tidak menentukan ID AMI, `updateToLatestImageVersion` parameter harus disetel ke`true`.

## Penanganan Job selama pembaruan
<a name="infrastructure-updates-job-handling"></a>

Konfigurasikan cara penanganan pekerjaan yang sedang berjalan selama pembaruan infrastruktur menggunakan kebijakan pembaruan. Saat Anda menyetel`terminateJobsOnUpdate=true`, pekerjaan yang sedang berjalan segera dihentikan, `jobExecutionTimeoutMinutes` pengaturan diabaikan, dan pembaruan berlangsung segera setelah instance dapat diganti. Saat Anda menetapkan`terminateJobsOnUpdate=false`, menjalankan pekerjaan berlanjut untuk periode waktu tunggu yang ditentukan dengan batas waktu default 30 menit, dan pekerjaan dihentikan jika melebihi batas waktu.

**catatan**  
Untuk mencoba kembali pekerjaan yang dihentikan selama pembaruan, konfigurasikan strategi coba ulang pekerjaan. Untuk informasi selengkapnya, lihat [Percobaan kembali tugas secara otomatis](job_retries.md).

------
#### [ Performing infrastructure updates using the Konsol Manajemen AWS ]

**catatan**  
Untuk hanya memperbarui ke versi AMI terbaru di konsol, lihat[Memperbarui versi AMI](managing-ami-versions.md#updating-ami-versions).

1. Buka AWS Batch konsol di [https://console.aws.amazon.com/batch/](https://console.aws.amazon.com/batch/).

1. Di panel navigasi, pilih **Environments** lalu tab **Compute environment**.

1. Pilih lingkungan komputasi yang akan diperbarui.

1. Pilih **Tindakan** dan kemudian **Edit**.

1. Di bagian **Perbarui perilaku**, konfigurasikan cara menangani pekerjaan yang sedang berjalan:
   + Pilih **Perbarui AMI ke versi terbaru** untuk memperbarui AMI ke versi terbaru.
   + Pilih **Hentikan pekerjaan segera pada pembaruan** untuk menghentikan pekerjaan saat proses pembaruan dijalankan.
   + Untuk **batas waktu eksekusi Job**, masukkan jumlah menit untuk menunggu sebelum memulai proses pembaruan.

1. Ubah satu atau lebih [pengaturan yang memerlukan pembaruan infrastruktur](#infrastructure-updates-triggers). Contoh:
   + **Peran contoh**
   + **Gunakan instans EC2 Spot**
   + **Jenis contoh yang diizinkan**
   + **Grup penempatan**
   + **EC2 key pair**
   + **Konfigurasi EC2**
   + **Luncurkan template**
   + **Subnet**
   + **Grup keamanan**

1. Pilih **Simpan perubahan**.

1. Pantau status lingkungan komputasi. Lingkungan akan ditampilkan `UPDATING` selama proses pembaruan.

------
#### [ Performing infrastructure updates using the AWS CLI ]

Gunakan **update-compute-environment** perintah dengan perubahan ke satu atau lebih [pengaturan yang memerlukan pembaruan infrastruktur](#infrastructure-updates-triggers). Tiga contoh berikut adalah operasi infrastruktur umum.
+ Contoh ini memperbarui jenis instance dan mengonfigurasi kebijakan pembaruan:

  ```
  aws batch update-compute-environment \
      --compute-environment {{your-compute-environment-name}} \
      --compute-resources instanceTypes={{default_x86_64}} \
      --update-policy terminateJobsOnUpdate={{false}},jobExecutionTimeoutMinutes={{30}}
  ```
+ Contoh ini memperbarui subnet VPC dan grup keamanan:

  ```
  aws batch update-compute-environment \
      --compute-environment {{your-compute-environment-name}} \
      --compute-resources subnets={{subnet-abcd1234}},{{subnet-efgh5678}} securityGroupIds={{sg-abcd1234}} \
      --update-policy terminateJobsOnUpdate={{true}}
  ```
+ Contoh ini memungkinkan pembaruan otomatis ke AMI Amazon ECS terbaru yang dioptimalkan:

  ```
  aws batch update-compute-environment \
      --compute-environment {{your-compute-environment-name}} \
      --compute-resources updateToLatestImageVersion={{true}} \
      --update-policy terminateJobsOnUpdate={{false}},jobExecutionTimeoutMinutes={{60}}
  ```

------

## Memantau pembaruan infrastruktur
<a name="infrastructure-updates-monitoring"></a>

Pantau pembaruan infrastruktur Anda menggunakan AWS Batch konsol untuk melihat perubahan status lingkungan komputasi`UPDATING`, memantau kemajuan penggantian instans, dan memeriksa pembaruan yang gagal. Pembaruan berhasil setelah status lingkungan komputasi. `VAILD` Anda juga dapat menggunakan CloudWatch untuk melacak peristiwa penghentian instans dan memantau status pekerjaan selama pembaruan. Dengan AWS CLI, gunakan **describe-compute-environments** perintah untuk memeriksa status dan memantau kejadian siklus hidup instance.