

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

# Dukungan versi Amazon MSK
<a name="version-support"></a>

Topik ini menjelaskan [Kebijakan dukungan versi MSK Amazon](#version-support-policy) dan prosedur untuk[Tingkatkan versi Apache Kafka](version-upgrades.md). Jika Anda meningkatkan versi Kafka Anda, ikuti praktik terbaik yang diuraikan di. [Praktik terbaik untuk peningkatan versi](version-upgrades-best-practices.md)

**Topics**
+ [Kebijakan dukungan versi MSK Amazon](#version-support-policy)
+ [Tingkatkan versi Apache Kafka](version-upgrades.md)
+ [Praktik terbaik untuk peningkatan versi](version-upgrades-best-practices.md)

## Kebijakan dukungan versi MSK Amazon
<a name="version-support-policy"></a>

Bagian ini menjelaskan kebijakan dukungan untuk Amazon MSK mendukung versi Kafka.
+ Semua versi Kafka didukung hingga mereka mencapai akhir tanggal dukungan mereka. Untuk detail tentang akhir tanggal dukungan, lihat[Versi Apache Kafka yang didukung](supported-kafka-versions.md). Tingkatkan klaster MSK Anda ke versi Kafka yang direkomendasikan atau versi yang lebih tinggi sebelum akhir tanggal dukungan. Untuk detail tentang meningkatkan versi Apache Kafka Anda, lihat. [Tingkatkan versi Apache Kafka](version-upgrades.md) Cluster yang menggunakan versi Kafka setelah akhir tanggal dukungannya ditingkatkan secara otomatis ke versi Kafka yang direkomendasikan. Upgrade otomatis dapat terjadi kapan saja setelah akhir tanggal dukungan. Anda tidak akan menerima pemberitahuan apa pun sebelum peningkatan.
+ MSK akan menghapus dukungan untuk cluster yang baru dibuat yang menggunakan versi Kafka dengan tanggal akhir dukungan yang diterbitkan.

# Tingkatkan versi Apache Kafka
<a name="version-upgrades"></a>

Anda dapat meningkatkan kluster MSK yang ada ke versi Apache Kafka yang lebih baru. Sebelum memutakhirkan versi Kafka cluster Anda, verifikasi bahwa versi perangkat lunak sisi klien Anda mendukung fitur dalam versi Kafka yang baru.

Untuk informasi tentang cara membuat klaster sangat tersedia selama peningkatan, lihat[Bangun cluster yang sangat tersedia](bestpractices.md#ensure-high-availability).

**Tingkatkan versi Apache Kafka menggunakan Konsol Manajemen AWS**

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

1. Di bilah navigasi, pilih Wilayah tempat Anda membuat cluster MSK.

1. Pilih kluster MSK yang ingin Anda tingkatkan.

1. Pada tab **Properties**, pilih **Upgrade** di bagian **versi Apache Kafka**.

1. Di bagian **versi Apache Kafka**, lakukan hal berikut:

   1. Dalam daftar dropdown *Pilih versi Apache Kafka*, pilih versi target yang ingin Anda tingkatkan. Misalnya, pilih **3.9.x**.

   1. (Opsional) Pilih **Lihat kompatibilitas versi** untuk memverifikasi kompatibilitas antara versi kluster Anda saat ini dan versi pemutakhiran yang tersedia. Kemudian, pilih **Pilih** untuk melanjutkan.
**catatan**  
Amazon MSK mendukung peningkatan di tempat ke sebagian besar versi Apache Kafka. Namun, saat memutakhirkan dari versi Kafka ZooKeeper berbasis ke versi KRaft berbasis, Anda harus membuat cluster baru. Kemudian, salin data Anda ke cluster baru, dan alihkan klien ke cluster baru.

   1. (Opsional) Pilih kotak centang **Perbarui konfigurasi klaster** untuk menerapkan pembaruan konfigurasi yang kompatibel dengan versi baru. Ini memungkinkan fitur dan peningkatan versi baru.

      Anda dapat melewati langkah ini jika Anda perlu mempertahankan konfigurasi kustom yang ada.
**catatan**  
Upgrade sisi server tidak secara otomatis memperbarui aplikasi klien.
Untuk menjaga stabilitas klaster, penurunan versi tidak didukung.

   1. Pilih **Upgrade** untuk memulai proses.

**Tingkatkan versi Apache Kafka menggunakan AWS CLI**

1. Jalankan perintah berikut, ganti *ClusterArn* dengan Amazon Resource Name (ARN) yang Anda peroleh saat membuat cluster Anda. Jika Anda tidak memiliki ARN untuk cluster Anda, Anda dapat menemukannya dengan mencantumkan semua cluster. Untuk informasi selengkapnya, lihat [Daftar kluster MSK Amazon](msk-list-clusters.md).

   ```
   aws kafka get-compatible-kafka-versions --cluster-arn ClusterArn
   ```

   Output dari perintah ini mencakup daftar versi Apache Kafka yang dapat Anda tingkatkan cluster. Sepertinya contoh berikut.

   ```
   {
       "CompatibleKafkaVersions": [
           {
               "SourceVersion": "2.2.1",
               "TargetVersions": [
                   "2.3.1",
                   "2.4.1",
                   "2.4.1.1",
                   "2.5.1"
               ]
           }
       ]
   }
   ```

1. Jalankan perintah berikut, ganti *ClusterArn* dengan Amazon Resource Name (ARN) yang Anda peroleh saat membuat cluster Anda. Jika Anda tidak memiliki ARN untuk cluster Anda, Anda dapat menemukannya dengan mencantumkan semua cluster. Untuk informasi selengkapnya, lihat [Daftar kluster MSK Amazon](msk-list-clusters.md).

   Ganti *Current-Cluster-Version* dengan versi cluster saat ini. Untuk *TargetVersion* Anda dapat menentukan salah satu versi target dari output dari perintah sebelumnya.
**penting**  
Versi cluster bukan bilangan bulat sederhana. Untuk menemukan versi cluster saat ini, gunakan [DescribeCluster](https://docs.aws.amazon.com/msk/1.0/apireference/clusters-clusterarn.html#DescribeCluster)operasi atau [perintah AWS CLI deskripsi-cluster](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/kafka/describe-cluster.html). Contoh versi adalah`KTVPDKIKX0DER`.

   ```
   aws kafka update-cluster-kafka-version --cluster-arn ClusterArn --current-version Current-Cluster-Version --target-kafka-version TargetVersion
   ```

   Output dari perintah sebelumnya terlihat seperti JSON berikut.

   ```
   {
       
       "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2",
       "ClusterOperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef"
   }
   ```

1. Untuk mendapatkan hasil `update-cluster-kafka-version` operasi, jalankan perintah berikut, ganti *ClusterOperationArn* dengan ARN yang Anda peroleh dalam output perintah. `update-cluster-kafka-version`

   ```
   aws kafka describe-cluster-operation --cluster-operation-arn ClusterOperationArn
   ```

   Output dari `describe-cluster-operation` perintah ini terlihat seperti contoh JSON berikut.

   ```
   {
       "ClusterOperationInfo": {
           "ClientRequestId": "62cd41d2-1206-4ebf-85a8-dbb2ba0fe259",
           "ClusterArn": "arn:aws:kafka:us-east-1:012345678012:cluster/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2",
           "CreationTime": "2021-03-11T20:34:59.648000+00:00",
           "OperationArn": "arn:aws:kafka:us-east-1:012345678012:cluster-operation/exampleClusterName/abcdefab-1234-abcd-5678-cdef0123ab01-2/0123abcd-abcd-4f7f-1234-9876543210ef",
           "OperationState": "UPDATE_IN_PROGRESS",
           "OperationSteps": [
               {
                   "StepInfo": {
                       "StepStatus": "IN_PROGRESS"
                   },
                   "StepName": "INITIALIZE_UPDATE"
               },
               {
                   "StepInfo": {
                       "StepStatus": "PENDING"
                   },
                   "StepName": "UPDATE_APACHE_KAFKA_BINARIES"
               },
               {
                   "StepInfo": {
                       "StepStatus": "PENDING"
                   },
                   "StepName": "FINALIZE_UPDATE"
               }
           ],
           "OperationType": "UPDATE_CLUSTER_KAFKA_VERSION",
           "SourceClusterInfo": {
               "KafkaVersion": "2.4.1"
           },
           "TargetClusterInfo": {
               "KafkaVersion": "2.6.1"
           }
       }
   }
   ```

   Jika `OperationState` memiliki nilai`UPDATE_IN_PROGRESS`, tunggu sebentar, lalu jalankan `describe-cluster-operation` perintah lagi. Ketika operasi selesai, nilai `OperationState` menjadi`UPDATE_COMPLETE`. Karena waktu yang diperlukan Amazon MSK untuk menyelesaikan operasi bervariasi, Anda mungkin perlu memeriksa berulang kali hingga operasi selesai. 

**Tingkatkan versi Apache Kafka menggunakan API**

1. Panggil [GetCompatibleKafkaVersions](https://docs.aws.amazon.com//msk/1.0/apireference/compatible-kafka-versions.html#GetCompatibleKafkaVersions)operasi untuk mendapatkan daftar versi Apache Kafka yang dapat Anda tingkatkan cluster.

1. Panggil [UpdateClusterKafkaVersion](https://docs.aws.amazon.com//msk/1.0/apireference/clusters-clusterarn-version.html#UpdateClusterKafkaVersion)operasi untuk meningkatkan cluster ke salah satu versi Apache Kafka yang kompatibel.

# Praktik terbaik untuk peningkatan versi
<a name="version-upgrades-best-practices"></a>

Untuk memastikan kontinuitas klien selama pembaruan bergulir yang dilakukan sebagai bagian dari proses peningkatan versi Kafka, tinjau konfigurasi klien Anda dan topik Apache Kafka Anda sebagai berikut:
+ Tetapkan faktor replikasi topik (RF) ke nilai minimum untuk cluster dua-AZ dan nilai minimum `2` untuk cluster tiga-AZ. `3` Nilai RF `2` dapat menyebabkan partisi offline selama penambalan.
+ Tetapkan replika in-sync minimum (miniSR) ke nilai maksimum 1 kurang dari Faktor Replikasi (RF) Anda, yaitu. `miniISR = (RF) - 1` Ini memastikan bahwa set replika partisi dapat mentolerir satu replika yang sedang offline atau kurang direplikasi.
+ Konfigurasikan klien untuk menggunakan beberapa string koneksi broker. Memiliki beberapa broker dalam string koneksi klien memungkinkan untuk failover jika broker tertentu yang mendukung klien I/O mulai ditambal. Untuk informasi tentang cara mendapatkan string koneksi dengan beberapa broker, lihat [Mendapatkan broker bootstrap untuk klaster MSK Amazon](https://docs.aws.amazon.com//msk/latest/developerguide/msk-get-bootstrap-brokers.html).
+ Kami menyarankan Anda meningkatkan menghubungkan klien ke versi yang disarankan atau lebih tinggi untuk mendapatkan manfaat dari fitur yang tersedia di versi baru. Upgrade klien tidak tunduk pada tanggal akhir masa pakai (EOL) versi Kafka klaster MSK Anda, dan tidak perlu diselesaikan pada tanggal EOL. Apache Kafka menyediakan [kebijakan kompatibilitas klien dua arah yang memungkinkan klien](https://kafka.apache.org/protocol#protocol_compatibility) lama bekerja dengan cluster yang lebih baru dan sebaliknya.
+ Klien Kafka yang menggunakan versi 3.xx kemungkinan akan datang dengan default berikut: dan. `acks=all` `enable.idempotence=true` `acks=all`berbeda dari default sebelumnya `acks=1` dan memberikan daya tahan ekstra dengan memastikan bahwa semua replika yang sinkron mengakui permintaan produksi. Demikian pula, default untuk `enable.idempotence` sebelumnya`false`. Perubahan menjadi `enable.idempotence=true` sebagai default menurunkan kemungkinan pesan duplikat. Perubahan ini dianggap sebagai pengaturan praktik terbaik dan dapat memperkenalkan sejumlah kecil latensi tambahan yang berada dalam parameter kinerja normal.
+ Gunakan versi Kafka yang direkomendasikan saat membuat cluster MSK baru. Menggunakan versi Kafka yang direkomendasikan memungkinkan Anda untuk mendapatkan keuntungan dari fitur Kafka dan MSK terbaru.