

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

# Menggunakan klaster MSK Nirserver
<a name="serverless-getting-started"></a>

Tutorial ini menunjukkan contoh bagaimana Anda dapat membuat kluster MSK Tanpa Server, membuat mesin klien yang dapat mengaksesnya, dan menggunakan klien untuk membuat topik di cluster dan menulis data ke topik tersebut. Latihan ini tidak mewakili semua opsi yang dapat Anda pilih saat membuat cluster tanpa server. Di berbagai bagian latihan ini, kami memilih opsi default untuk kesederhanaan. Ini tidak berarti bahwa mereka adalah satu-satunya opsi yang berfungsi untuk menyiapkan cluster tanpa server. Anda juga dapat menggunakan AWS CLI atau Amazon MSK API. Untuk informasi selengkapnya, lihat [Amazon MSK API Referensi 2.0](https://docs.aws.amazon.com/MSK/2.0/APIReference/what-is-msk.html).

**Topics**
+ [Buat kluster MSK Tanpa Server](create-serverless-cluster.md)
+ [Buat peran IAM untuk topik di MSK Serverless cluster](create-iam-role.md)
+ [Buat mesin klien untuk mengakses kluster MSK Tanpa Server](create-serverless-cluster-client.md)
+ [Buat topik Apache Kafka](msk-serverless-create-topic.md)
+ [Menghasilkan dan mengkonsumsi data di MSK Serverless](msk-serverless-produce-consume.md)
+ [Hapus sumber daya yang Anda buat untuk MSK Tanpa Server](delete-resources.md)

# Buat kluster MSK Tanpa Server
<a name="create-serverless-cluster"></a>

Pada langkah ini, Anda melakukan dua tugas. Pertama, Anda membuat kluster MSK Tanpa Server dengan pengaturan default. Kedua, Anda mengumpulkan informasi tentang cluster. Ini adalah informasi yang Anda butuhkan di langkah selanjutnya ketika Anda membuat klien yang dapat mengirim data ke cluster.

**Untuk membuat cluster tanpa server**

1. Masuk ke Konsol Manajemen AWS, dan buka konsol MSK Amazon di [https://console.aws.amazon.com/msk/rumah](https://console.aws.amazon.com/msk/home).

1. Pilih **Buat klaster**.

1. Untuk **metode Creation**, biarkan opsi **Quick create** dipilih. Opsi **Quick create** memungkinkan Anda membuat cluster tanpa server dengan pengaturan default.

1. Untuk **nama Cluster**, masukkan nama deskriptif, seperti**msk-serverless-tutorial-cluster**.

1. Untuk **properti klaster Umum**, pilih **Tanpa Server sebagai tipe** **Cluster**. Gunakan nilai default untuk properti **cluster Umum** yang tersisa.

1. Perhatikan tabel di bawah **Semua pengaturan cluster**. Tabel ini mencantumkan nilai default untuk pengaturan penting seperti jaringan dan ketersediaan, dan menunjukkan apakah Anda dapat mengubah setiap pengaturan setelah Anda membuat cluster. Untuk mengubah pengaturan sebelum Anda membuat cluster, Anda harus memilih opsi **Custom create** di bawah **metode Creation**.
**catatan**  
Anda dapat menghubungkan klien dari hingga lima yang berbeda VPCs dengan kluster MSK Tanpa Server. Untuk membantu aplikasi klien beralih ke Availability Zone lain jika terjadi pemadaman, Anda harus menentukan setidaknya dua subnet di setiap VPC.

1. Pilih **Buat klaster**.

**Untuk mengumpulkan informasi tentang cluster**

1. Di bagian **Ringkasan klaster**, pilih **Lihat informasi klien**. Tombol ini tetap berwarna abu-abu sampai Amazon MSK selesai membuat cluster. Anda mungkin perlu menunggu beberapa menit sampai tombol menjadi aktif sehingga Anda dapat menggunakannya.

1. Salin string di bawah label **Endpoint**. Ini adalah string server bootstrap Anda.

1. Pilih tab **Properti**.

1. Di bawah bagian **Pengaturan jaringan**, salin subnet dan grup keamanan dan simpan karena Anda memerlukan informasi ini nanti untuk membuat mesin klien. IDs 

1. Pilih salah satu subnet. Ini membuka Konsol VPC Amazon. Temukan ID VPC Amazon yang terkait dengan subnet. Simpan ID VPC Amazon ini untuk digunakan nanti.

**Langkah Selanjutnya**

[Buat peran IAM untuk topik di MSK Serverless cluster](create-iam-role.md)

# Buat peran IAM untuk topik di MSK Serverless cluster
<a name="create-iam-role"></a>

Pada langkah ini, Anda melakukan dua tugas. Tugas pertama adalah membuat kebijakan IAM yang memberikan akses untuk membuat topik di cluster dan mengirim data ke topik tersebut. Tugas kedua adalah membuat peran IAM dan mengaitkan kebijakan ini dengannya. Pada langkah selanjutnya, kami membuat mesin klien yang mengasumsikan peran ini dan menggunakannya untuk membuat topik di cluster dan mengirim data ke topik itu.

**Untuk membuat kebijakan IAM yang memungkinkan untuk membuat topik dan menulis kepada mereka**

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

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

1. Pilih **Buat Kebijakan**.

1. Pilih tab **JSON**, lalu ganti JSON di jendela editor dengan JSON berikut. 

   Dalam contoh berikut, ganti yang berikut ini:
   + *region*dengan kode Wilayah AWS tempat Anda membuat cluster Anda.
   + Contoh ID akun,*123456789012*, dengan Akun AWS ID Anda.
   + *msk-serverless-tutorial-cluster*/*c07c74ea-5146-4a03-add1-9baa787a5b14-s3*dan *msk-serverless-tutorial-cluster* dengan ID cluster tanpa server dan nama topik Anda.

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:Connect",
                   "kafka-cluster:DescribeCluster"
               ],
               "Resource": [
                   "arn:aws:kafka:us-east-1:123456789012:cluster/msk-serverless-tutorial-cluster/c07c74ea-5146-4a03-add1-9baa787a5b14-s3"
               ]
           },
           {
               "Effect": "Allow",
               "Action": [
                   "kafka-cluster:CreateTopic",
                   "kafka-cluster:WriteData",
                   "kafka-cluster:DescribeTopic"
               ],
               "Resource": [
               "arn:aws:kafka:us-east-1:123456789012:topic/msk-serverless-tutorial-cluster/*"
               ]
           }
       ]
   }
   ```

------

   Untuk petunjuk tentang cara menulis kebijakan aman, lihat[Kontrol akses IAM](iam-access-control.md).

1. Pilih **Berikutnya: Tanda**.

1. Pilih **Berikutnya: Tinjau**.

1. Untuk nama kebijakan, masukkan nama deskriptif, seperti**msk-serverless-tutorial-policy**.

1. Pilih **Buat kebijakan**.

**Untuk membuat peran IAM dan melampirkan kebijakan padanya**

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

1. Pilih **Buat peran**.

1. Di bawah **Kasus penggunaan umum**, pilih **EC2**, lalu pilih **Berikutnya: Izin**.

1. Di kotak pencarian, masukkan nama kebijakan yang sebelumnya Anda buat untuk tutorial ini. Kemudian pilih kotak di sebelah kiri kebijakan.

1. Pilih **Berikutnya: Tanda**.

1. Pilih **Berikutnya: Tinjau**.

1. Untuk nama peran, masukkan nama deskriptif, seperti**msk-serverless-tutorial-role**.

1. Pilih **Buat peran**.

**Langkah Selanjutnya**

[Buat mesin klien untuk mengakses kluster MSK Tanpa Server](create-serverless-cluster-client.md)

# Buat mesin klien untuk mengakses kluster MSK Tanpa Server
<a name="create-serverless-cluster-client"></a>

Pada langkah tersebut, Anda melakukan dua tugas. Tugas pertama adalah membuat instans Amazon EC2 untuk digunakan sebagai mesin klien Apache Kafka. Tugas kedua adalah menginstal alat Java dan Apache Kafka pada mesin.

**Untuk membuat mesin klien**

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

1. Pilih **Luncurkan instans**.

1. Masukkan **Nama** deskriptif untuk mesin klien Anda, seperti**msk-serverless-tutorial-client**.

1. Biarkan **Amazon Linux 2 AMI (HVM) - Kernel 5.10, Jenis Volume SSD dipilih untuk jenis** **Amazon Machine Image (AMI)**.

1. Biarkan tipe instans **t2.micro** dipilih.

1. Di bawah **Key pair (login)**, pilih **Create a new key pair**. Masukkan **MSKServerlessKeyPair** untuk **nama pasangan kunci**. Kemudian pilih **Download Key Pair**. Alternatifnya, Anda dapat menggunakan pasangan kunci yang sudah ada.

1. Untuk **pengaturan Jaringan**, pilih **Edit**.

1. Di bawah **VPC**, masukkan ID virtual private cloud (VPC) untuk cluster tanpa server Anda. Ini adalah VPC berdasarkan layanan VPC Amazon yang IDnya Anda simpan setelah Anda membuat cluster.

1. Untuk **Subnet**, pilih subnet yang IDnya Anda simpan setelah Anda membuat cluster.

1. Untuk **Firewall (grup keamanan)**, pilih grup keamanan yang terkait dengan cluster. Nilai ini berfungsi jika grup keamanan tersebut memiliki aturan masuk yang memungkinkan lalu lintas dari grup keamanan ke dirinya sendiri. Dengan aturan seperti itu, anggota kelompok keamanan yang sama dapat berkomunikasi satu sama lain. Untuk informasi selengkapnya, lihat [Aturan grup keamanan](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_SecurityGroups.html#SecurityGroupRules) di Panduan Pengembang Amazon VPC.

1. Perluas bagian **Detail lanjutan** dan pilih peran IAM yang Anda buat. [Buat peran IAM untuk topik di MSK Serverless cluster](create-iam-role.md)

1. Pilih **Luncurkan**.

1. Di panel navigasi kiri, pilih **Instans**. Kemudian pilih kotak centang di baris yang mewakili instans Amazon EC2 yang baru dibuat. Dari titik ini ke depan, kami menyebut contoh ini *mesin klien*.

1. Pilih **Connect** dan ikuti petunjuk untuk terhubung ke mesin klien.

**Untuk mengatur alat klien Apache Kafka pada mesin klien**

1. Untuk menginstal Java, jalankan perintah berikut pada mesin klien:

   ```
   sudo yum -y install java-11
   ```

1. Untuk mendapatkan alat Apache Kafka yang kita butuhkan untuk membuat topik dan mengirim data, jalankan perintah berikut:

   ```
   wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz
   ```

   ```
   tar -xzf kafka_2.12-2.8.1.tgz
   ```
**catatan**  
Setelah mengekstrak arsip Kafka, pastikan skrip di `bin` direktori memiliki izin eksekusi yang tepat. Untuk melakukan ini, jalankan perintah berikut.  

   ```
   chmod +x kafka_2.12-2.8.1/bin/*.sh
   ```

1. Buka `kafka_2.12-2.8.1/libs` direktori, lalu jalankan perintah berikut untuk mengunduh file Amazon MSK IAM JAR. Amazon MSK IAM JAR memungkinkan mesin klien untuk mengakses cluster.

   ```
   wget https://github.com/aws/aws-msk-iam-auth/releases/download/v2.3.0/aws-msk-iam-auth-2.3.0-all.jar
   ```

   Dengan menggunakan perintah ini, Anda juga dapat [mengunduh file Amazon MSK IAM JAR versi lain atau](https://github.com/aws/aws-msk-iam-auth/releases) yang lebih baru.

1. Pergi ke `kafka_2.12-2.8.1/bin` direktori. Salin pengaturan properti berikut dan tempel ke file baru. Beri nama file `client.properties` dan simpan.

   ```
   security.protocol=SASL_SSL
   sasl.mechanism=AWS_MSK_IAM
   sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;
   sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
   ```

**Langkah Selanjutnya**

[Buat topik Apache Kafka](msk-serverless-create-topic.md)

# Buat topik Apache Kafka
<a name="msk-serverless-create-topic"></a>

Pada langkah ini, Anda menggunakan mesin klien yang dibuat sebelumnya untuk membuat topik di klaster tanpa server.

**Topics**
+ [Menyiapkan lingkungan Anda untuk membuat topik](#msk-serverless-create-topic-prerequisites)
+ [Membuat topik dan menulis data untuk itu](#msk-serverless-create-topic-procedure)

## Menyiapkan lingkungan Anda untuk membuat topik
<a name="msk-serverless-create-topic-prerequisites"></a>
+ Sebelum membuat topik, pastikan Anda telah mengunduh file AWS MSK IAM JAR ke direktori instalasi Kafka Anda. `libs/` Jika Anda belum melakukan ini, jalankan perintah berikut di `libs/` direktori Kafka Anda.

  ```
  wget https://github.com/aws/aws-msk-iam-auth/releases/download/v2.3.0/aws-msk-iam-auth-2.3.0-all.jar
  ```

  File JAR ini diperlukan untuk otentikasi IAM dengan kluster MSK Serverless Anda.
+ Saat menjalankan perintah Kafka, Anda mungkin perlu memastikan `classpath` menyertakan file AWS MSK IAM JAR. Untuk melakukannya, lakukan salah satu hal berikut:
  + Tetapkan variabel `CLASSPATH` lingkungan untuk menyertakan pustaka Kafka Anda seperti yang ditunjukkan pada contoh berikut.

    ```
    export CLASSPATH=<path-to-your-kafka-installation>/libs/*:<path-to-your-kafka-installation>/libs/aws-msk-iam-auth-2.3.0-all.jar
    ```
  + Jalankan perintah Kafka menggunakan perintah Java lengkap dengan eksplisit`classpath`, seperti yang ditunjukkan pada contoh berikut.

    ```
    java -cp "<path-to-your-kafka-installation>/libs/*:<path-to-your-kafka-installation>/libs/aws-msk-iam-auth-2.3.0-all.jar" org.apache.kafka.tools.TopicCommand --bootstrap-server $BS --command-config client.properties --create --topic msk-serverless-tutorial --partitions 6
    ```

## Membuat topik dan menulis data untuk itu
<a name="msk-serverless-create-topic-procedure"></a>

1. Dalam `export` perintah berikut, ganti *my-endpoint* dengan string bootstrap-server yang Anda simpan setelah Anda membuat cluster. Kemudian, pergi ke `kafka_2.12-2.8.1/bin` direktori pada mesin klien dan jalankan `export` perintah.

   ```
   export BS=my-endpoint
   ```

1. Jalankan perintah berikut untuk membuat topik yang disebut`msk-serverless-tutorial`.

   ```
   <path-to-your-kafka-installation>/bin/kafka-topics.sh --bootstrap-server $BS --command-config client.properties --create --topic msk-serverless-tutorial --partitions 6
   ```

**Langkah Selanjutnya**

[Menghasilkan dan mengkonsumsi data di MSK Serverless](msk-serverless-produce-consume.md)

# Menghasilkan dan mengkonsumsi data di MSK Serverless
<a name="msk-serverless-produce-consume"></a>

Pada langkah ini, Anda menghasilkan dan mengkonsumsi data menggunakan topik yang Anda buat pada langkah sebelumnya.

**Untuk menghasilkan dan mengkonsumsi pesan**

1. Jalankan perintah berikut untuk membuat produser konsol.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list $BS --producer.config client.properties --topic msk-serverless-tutorial
   ```

1. Masukkan pesan apa pun yang Anda inginkan, dan tekan **Enter**. Ulangi langkah ini dua atau tiga kali. Setiap kali Anda memasukkan baris dan tekan **Enter**, baris itu dikirim ke cluster Anda sebagai pesan terpisah.

1. Biarkan koneksi ke mesin klien tetap terbuka, dan kemudian buka koneksi kedua yang terpisah ke mesin itu di jendela baru.

1. Gunakan koneksi kedua Anda ke mesin klien untuk membuat konsumen konsol dengan perintah berikut. Ganti *my-endpoint* dengan string server bootstrap yang Anda simpan setelah Anda membuat cluster.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-consumer.sh --bootstrap-server my-endpoint --consumer.config client.properties --topic msk-serverless-tutorial --from-beginning
   ```

   Anda mulai melihat pesan yang Anda masukkan sebelumnya saat Anda menggunakan perintah produser konsol.

1. Masukkan lebih banyak pesan di jendela produser, dan saksikan mereka muncul di jendela konsumen.

Jika Anda mengalami `classpath` masalah saat menjalankan perintah ini, pastikan Anda menjalankannya dari direktori yang benar. Juga, pastikan bahwa AWS MSK IAM JAR ada di direktori. `libs` Atau, Anda dapat menjalankan perintah Kafka menggunakan perintah Java lengkap dengan eksplisit`classpath`, seperti yang ditunjukkan pada contoh berikut.

```
java -cp "kafka_2.12-2.8.1/libs/*:kafka_2.12-2.8.1/libs/aws-msk-iam-auth-2.3.0-all.jar" org.apache.kafka.tools.ConsoleProducer —broker-list $BS —producer.config client.properties —topic msk-serverless-tutorial
```

**Langkah Selanjutnya**

[Hapus sumber daya yang Anda buat untuk MSK Tanpa Server](delete-resources.md)

# Hapus sumber daya yang Anda buat untuk MSK Tanpa Server
<a name="delete-resources"></a>

Pada langkah ini, Anda menghapus sumber daya yang Anda buat dalam tutorial ini.

**Untuk menghapus klaster**

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

1. Dalam daftar cluster, pilih cluster yang Anda buat untuk tutorial ini.

1. Untuk **Tindakan**, pilih **Hapus klaster**.

1. Masukkan `delete` di bidang, lalu pilih **Hapus**.

**Untuk menghentikan mesin klien**

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

1. Dalam daftar instans Amazon EC2, pilih mesin klien yang Anda buat untuk tutorial ini.

1. Pilih **status Instance**, lalu pilih **Terminate instance**.

1. Pilih **Akhiri**.

**Untuk menghapus kebijakan IAM**

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

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

1. Di kotak pencarian, masukkan nama peran IAM yang Anda buat untuk tutorial ini.

1. Pilih peran. Kemudian pilih **Hapus peran**, dan konfirmasikan penghapusan.

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

1. Di kotak pencarian, masukkan nama kebijakan yang Anda buat untuk tutorial ini.

1. Pilih kebijakan untuk membuka halaman ringkasannya. Pada halaman **Ringkasan** kebijakan, pilih **Hapus kebijakan**.

1. Pilih **Hapus**.