

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

# Memulai MSK Connect
<a name="msk-connect-getting-started"></a>

Ini adalah step-by-step tutorial yang menggunakan Konsol Manajemen AWS untuk membuat cluster MSK dan konektor sink yang mengirimkan data dari cluster ke bucket S3.

**Topics**
+ [Menyiapkan sumber daya yang diperlukan untuk MSK Connect](mkc-tutorial-setup.md)
+ [Buat plugin kustom](mkc-create-plugin.md)
+ [Buat mesin klien dan topik Apache Kafka](mkc-create-topic.md)
+ [Buat konektor](mkc-create-connector.md)
+ [Kirim data ke cluster MSK](mkc-send-data.md)

# Menyiapkan sumber daya yang diperlukan untuk MSK Connect
<a name="mkc-tutorial-setup"></a>

Pada langkah ini Anda membuat sumber daya berikut yang Anda butuhkan untuk skenario memulai ini:
+ Bucket Amazon S3 berfungsi sebagai tujuan yang menerima data dari konektor.
+ Cluster MSK tempat Anda akan mengirim data. Konektor kemudian akan membaca data dari cluster ini dan mengirimkannya ke bucket S3 tujuan.
+ Kebijakan IAM yang berisi izin untuk menulis ke bucket S3 tujuan.
+ Peran IAM yang memungkinkan konektor untuk menulis ke bucket S3 tujuan. Anda akan menambahkan kebijakan IAM yang Anda buat ke peran ini.
+ Titik akhir VPC Amazon untuk memungkinkan pengiriman data dari VPC Amazon yang memiliki cluster dan konektor ke Amazon S3.

**Untuk membuat bucket S3**

1. Masuk ke Konsol Manajemen AWS dan buka konsol Amazon S3 di. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Pilih **Buat bucket**.

1. Untuk nama bucket, masukkan nama deskriptif seperti`amzn-s3-demo-bucket-mkc-tutorial`.

1. Gulir ke bawah dan pilih **Buat ember**.

1. Dalam daftar ember, pilih bucket yang baru dibuat.

1. Pilih **Buat folder**.

1. Masukkan `tutorial` nama folder, lalu gulir ke bawah dan pilih **Buat folder**.

**Untuk membuat cluster**

1. Buka konsol MSK Amazon di [https://console.aws.amazon.com/msk/rumah? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/).

1. **Di panel kiri, di bawah **MSK Clusters, pilih Cluster**.**

1. Pilih **Buat klaster**.

1. Dalam **metode Creation**, pilih **Custom create**.

1. Untuk nama cluster masukkan**mkc-tutorial-cluster**.

1. Pada **tipe Cluster**, pilih **Provisioned**.

1. Pilih **Berikutnya**.

1. Di bawah **Networking**, pilih VPC Amazon. Kemudian pilih Availability Zones dan subnet yang ingin Anda gunakan. Ingat VPC Amazon dan subnet yang Anda pilih karena Anda membutuhkannya nanti dalam tutorial ini. IDs 

1. Pilih **Berikutnya**.

1. Di bawah **Metode kontrol akses** memastikan bahwa hanya akses **Tidak Diautentikasi yang dipilih**.

1. Di bawah **Enkripsi** pastikan bahwa hanya **Plaintext** yang dipilih.

1. Lanjutkan melalui wizard dan kemudian pilih **Buat cluster**. Ini membawa Anda ke halaman detail untuk cluster. Pada halaman itu, di bawah **Grup keamanan diterapkan**, temukan ID grup keamanan. Ingat ID itu karena Anda membutuhkannya nanti dalam tutorial ini.

**Untuk membuat kebijakan IAM dengan izin untuk menulis ke bucket S3**

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. Di **Editor kebijakan**, pilih **JSON**, lalu ganti JSON di jendela editor dengan JSON berikut.

   Dalam contoh berikut, ganti *<amzn-s3-demo-bucket-my-tutorial>* dengan nama bucket S3 Anda.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Sid": "AllowListBucket",
         "Effect": "Allow",
         "Action": [
           "s3:ListBucket",
           "s3:GetBucketLocation"
         ],
         "Resource": "arn:aws:s3:::<amzn-s3-demo-bucket-my-tutorial>"
       },
       {
         "Sid": "AllowObjectActions",
         "Effect": "Allow",
         "Action": [
           "s3:PutObject",
           "s3:GetObject",
           "s3:DeleteObject",
           "s3:AbortMultipartUpload",
           "s3:ListMultipartUploadParts",
           "s3:ListBucketMultipartUploads"
         ],
         "Resource": "arn:aws:s3:::<amzn-s3-demo-bucket-my-tutorial>/*"
       }
     ]
   }
   ```

------

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

1. Pilih **Berikutnya**.

1. Pada halaman **Review dan create**, lakukan hal berikut:

   1. Untuk **nama Kebijakan**, masukkan nama deskriptif, seperti**mkc-tutorial-policy**.

   1. Di **Izin yang ditentukan dalam kebijakan ini**, tinjau and/or edit izin yang ditentukan dalam kebijakan Anda.

   1. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari kebijakan, pilih **Tambahkan tag baru** untuk menambahkan tag sebagai pasangan nilai kunci. Misalnya, tambahkan tag ke kebijakan Anda dengan pasangan nilai kunci dan**Environment**. **Test**

      Untuk informasi selengkapnya tentang penggunaan tag, lihat [Tag untuk AWS Identity and Access Management sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

1. Pilih **Buat kebijakan**.

**Untuk membuat peran IAM yang dapat menulis ke bucket tujuan**

1. Pada panel navigasi konsol IAM, pilih **Peran, lalu pilih **Buat** peran**.

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

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

   1. Untuk **Service atau use case**, pilih **S3**.

   1. Di bawah **Kasus penggunaan**, pilih **S3**.

1. Pilih **Berikutnya**.

1. Pada halaman **Tambahkan izin**, lakukan hal berikut:

   1. Di kotak pencarian di bawah **Kebijakan izin**, masukkan nama kebijakan yang sebelumnya Anda buat untuk tutorial ini. Misalnya, **mkc-tutorial-policy**. Kemudian, pilih kotak di sebelah kiri nama kebijakan.

   1. (Opsional) Tetapkan [batas izin](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_boundaries.html). Ini adalah fitur lanjutan yang tersedia untuk peran layanan, tetapi bukan peran tertaut layanan. *Untuk informasi tentang menyetel batas izin, lihat [Membuat peran dan melampirkan kebijakan (konsol)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_job-functions_create-policies.html) di Panduan Pengguna IAM.*

1. Pilih **Berikutnya**.

1. Pada halaman **Nama, tinjau, dan buat**, lakukan hal berikut:

   1. Untuk **nama Peran**, masukkan nama deskriptif, seperti**mkc-tutorial-role**.
**penting**  
Saat Anda memberi nama peran, perhatikan hal berikut:  
Nama peran harus unik di dalam diri Anda Akun AWS, dan tidak dapat dibuat unik berdasarkan kasus.  
Misalnya, jangan membuat peran bernama keduanya **PRODROLE** dan**prodrole**. Ketika nama peran digunakan dalam kebijakan atau sebagai bagian dari ARN, nama peran tersebut peka huruf besar/kecil, namun ketika nama peran muncul kepada pelanggan di konsol, seperti selama proses masuk, nama peran tersebut tidak peka huruf besar/kecil.
Anda tidak dapat mengedit nama peran setelah dibuat karena entitas lain mungkin mereferensikan peran tersebut.

   1. (Opsional) Untuk **Deskripsi**, masukkan deskripsi untuk peran tersebut.

   1. **(Opsional) Untuk mengedit kasus penggunaan dan izin untuk peran, di **Langkah 1: Pilih entitas tepercaya** atau **Langkah 2: Tambahkan bagian izin**, pilih Edit.**

   1. (Opsional) Untuk membantu mengidentifikasi, mengatur, atau mencari peran, pilih **Tambahkan tag baru** untuk menambahkan tag sebagai pasangan nilai kunci. Misalnya, tambahkan tag ke peran Anda dengan pasangan nilai kunci dan**ProductManager**. **John**

      Untuk informasi selengkapnya tentang penggunaan tag, lihat [Tag untuk AWS Identity and Access Management sumber daya](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_tags.html) di *Panduan Pengguna IAM*.

1. Tinjau peran lalu pilih **Buat peran**.

**Untuk memungkinkan MSK Connect untuk mengambil peran**

1. **Di konsol IAM, di panel kiri, di bawah **Manajemen akses**, pilih Peran.**

1. Temukan `mkc-tutorial-role` dan pilih.

1. Di bawah **Ringkasan** peran, pilih tab **Trust relationship**.

1. Pilih **Edit trust relationship** (Edit Hubungan Kepercayaan).

1. Ganti kebijakan kepercayaan yang ada dengan JSON berikut.

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

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Allow",
         "Principal": {
           "Service": "kafkaconnect.amazonaws.com"
         },
         "Action": "sts:AssumeRole"
       }
     ]
   }
   ```

------

1. Pilih **Perbarui Kebijakan Kepercayaan**.

**Untuk membuat titik akhir VPC Amazon dari VPC cluster ke Amazon S3**

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

1. Di panel kiri, pilih **Endpoints**.

1. Pilih **Buat titik akhir**.

1. **Di bawah **Nama Layanan** pilih layanan **com.amazonaws.us-east-1.s3** dan tipe Gateway.**

1. Pilih VPC cluster dan kemudian pilih kotak di sebelah kiri tabel rute yang terkait dengan subnet cluster.

1. Pilih **Buat titik akhir**.

**Langkah Selanjutnya**

[Buat plugin kustom](mkc-create-plugin.md)

# Buat plugin kustom
<a name="mkc-create-plugin"></a>

Plugin berisi kode yang mendefinisikan logika konektor. Pada langkah ini Anda membuat plugin khusus yang memiliki kode untuk Lensa Konektor Sink Amazon S3. Pada langkah selanjutnya, saat Anda membuat konektor MSK, Anda menentukan bahwa kodenya ada di plugin khusus ini. Anda dapat menggunakan plugin yang sama untuk membuat beberapa konektor MSK dengan konfigurasi yang berbeda.

**Untuk membuat plugin kustom**

1. Unduh [konektor S3](https://www.confluent.io/hub/confluentinc/kafka-connect-s3).

1. Unggah file ZIP ke bucket S3 yang dapat Anda akses. Untuk informasi tentang cara mengunggah file ke Amazon S3, lihat [Mengunggah objek](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html) di panduan pengguna Amazon S3.

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

1. Di panel kiri perluas **MSK Connect**, lalu pilih Plugin **kustom**.

1. Pilih **Buat plugin kustom**.

1. Pilih **Jelajahi S3**.

1. Dalam daftar bucket, temukan bucket tempat Anda mengunggah file ZIP, dan pilih bucket itu.

1. Dalam daftar objek di ember, pilih tombol radio di sebelah kiri file ZIP, lalu pilih tombol berlabel **Pilih**.

1. Masukkan `mkc-tutorial-plugin` untuk nama plugin kustom, lalu pilih **Buat plugin kustom**.

Mungkin perlu AWS beberapa menit untuk menyelesaikan pembuatan plugin khusus. Ketika proses pembuatan selesai, Anda melihat pesan berikut di spanduk di bagian atas jendela browser.

```
Custom plugin mkc-tutorial-plugin was successfully created
The custom plugin was created. You can now create a connector using this custom plugin.
```

**Langkah Selanjutnya**

[Buat mesin klien dan topik Apache Kafka](mkc-create-topic.md)

# Buat mesin klien dan topik Apache Kafka
<a name="mkc-create-topic"></a>

Pada langkah ini Anda membuat instans Amazon EC2 untuk digunakan sebagai instans klien Apache Kafka. Anda kemudian menggunakan instance ini untuk membuat topik di cluster.

**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** untuk mesin klien Anda, seperti**mkc-tutorial-client**.

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

1. Pilih jenis **instans t2.xlarge**.

1. Di bawah **Key pair (login)**, pilih **Create a new key pair**. Masukkan **mkc-tutorial-key-pair** **nama pasangan Kunci**, lalu pilih **Unduh Pasangan Kunci**. Alternatifnya, Anda dapat menggunakan pasangan kunci yang sudah ada.

1. Pilih **Luncurkan instans**.

1. Pilih **Lihat Instans.** Kemudian, di kolom **Grup Keamanan**, pilih grup keamanan yang terkait dengan instans baru Anda. Salin ID grup keamanan, dan simpan untuk nanti.

**Untuk memungkinkan klien yang baru dibuat mengirim data ke cluster**

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

1. Di panel kiri, di bawah **KEAMANAN**, pilih **Grup Keamanan**. Di kolom **ID grup Keamanan**, cari grup keamanan klaster. Anda menyimpan ID grup keamanan ini saat Anda membuat klaster di[Menyiapkan sumber daya yang diperlukan untuk MSK Connect](mkc-tutorial-setup.md). Pilih grup keamanan ini dengan memilih kotak di sebelah kiri barisnya. Pastikan tidak ada grup keamanan lain yang dipilih secara bersamaan.

1. Di bagian bawah layar, pilih tab **Aturan masuk**.

1. Pilih **Edit aturan masuk**.

1. Di kiri bawah layar, pilih **Tambahkan aturan**.

1. Dalam aturan baru, pilih **Semua lalu lintas** di kolom **Jenis**. Di bidang di sebelah kanan kolom **Sumber**, masukkan ID grup keamanan mesin klien. Ini adalah ID grup keamanan yang Anda simpan setelah Anda membuat mesin klien.

1. Pilih **Simpan aturan**. Cluster MSK Anda sekarang akan menerima semua lalu lintas dari klien yang Anda buat dalam prosedur sebelumnya.

**Cara membuat topik**

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

1. Dalam tabel contoh pilih`mkc-tutorial-client`.

1. Di dekat bagian atas layar, pilih **Connect**, lalu ikuti petunjuk untuk terhubung ke instance.

1. Instal Java pada instance klien dengan menjalankan perintah berikut:

   ```
   sudo yum install java-1.8.0
   ```

1. Jalankan perintah berikut untuk mengunduh Apache Kafka. 

   ```
   wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz
   ```
**catatan**  
Jika Anda ingin menggunakan situs cermin selain yang digunakan dalam perintah ini, Anda dapat memilih yang berbeda di situs web [Apache](https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.1/kafka_2.11-1.1.1.tgz).

1. Jalankan perintah berikut di direktori tempat Anda mengunduh file TAR pada langkah sebelumnya.

   ```
   tar -xzf kafka_2.12-2.2.1.tgz
   ```

1. Buka direktori **kafka\$12.12-2.2.1**.

1. Buka konsol MSK Amazon di [https://console.aws.amazon.com/msk/rumah? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/).

1. Di panel kiri pilih **Cluster**, lalu pilih namanya. `mkc-tutorial-cluster`

1. Pilih **Lihat informasi klien**.

1. Salin string koneksi **Plaintext**.

1. Pilih **Selesai**.

1. Jalankan perintah berikut pada instance klien (`mkc-tutorial-client`), ganti *bootstrapServerString* dengan nilai yang Anda simpan saat melihat informasi klien klaster.

   ```
   <path-to-your-kafka-installation>/bin/kafka-topics.sh --create --bootstrap-server bootstrapServerString --replication-factor 2 --partitions 1 --topic mkc-tutorial-topic
   ```

   Jika perintah berhasil, Anda melihat pesan berikut: `Created topic mkc-tutorial-topic.`

**Langkah Selanjutnya**

[Buat konektor](mkc-create-connector.md)

# Buat konektor
<a name="mkc-create-connector"></a>

Prosedur ini menjelaskan cara membuat konektor menggunakan Konsol Manajemen AWS.

**Untuk membuat konektor**

1. Masuk ke Konsol Manajemen AWS, dan buka konsol MSK Amazon di [https://console.aws.amazon.com/msk/rumah? region=us-east-1\$1/home/](https://console.aws.amazon.com/msk/home?region=us-east-1#/home/).

1. **Di panel kiri, perluas **MSK Connect**, lalu pilih Connectors.**

1. Pilih **Buat konektor**.

1. Dalam daftar plugin, pilih`mkc-tutorial-plugin`, lalu pilih **Berikutnya**.

1. Untuk nama konektor masukkan`mkc-tutorial-connector`.

1. Dalam daftar cluster, pilih`mkc-tutorial-cluster`.

1. Di bagian **Pengaturan jaringan konektor**, pilih salah satu dari berikut ini untuk jenis jaringan:
   + **IPv4**(default) - Untuk konektivitas ke tujuan IPv4 hanya
   + **Dual-stack** - Untuk konektivitas ke tujuan melalui keduanya IPv4 dan IPv6 (hanya tersedia jika subnet Anda memiliki IPv4 dan blok IPv6 CIDR yang terkait dengannya)

1. Salin konfigurasi berikut dan tempel ke bidang konfigurasi konektor.

   Pastikan Anda mengganti wilayah dengan kode Wilayah AWS tempat Anda membuat konektor. Selain itu, ganti nama bucket Amazon S3 *<amzn-s3-demo-bucket-my-tutorial>* dengan nama bucket Anda dalam contoh berikut.

   ```
   connector.class=io.confluent.connect.s3.S3SinkConnector
   s3.region=us-east-1
   format.class=io.confluent.connect.s3.format.json.JsonFormat
   flush.size=1
   schema.compatibility=NONE
   tasks.max=2
   topics=mkc-tutorial-topic
   partitioner.class=io.confluent.connect.storage.partitioner.DefaultPartitioner
   storage.class=io.confluent.connect.s3.storage.S3Storage
   s3.bucket.name=<amzn-s3-demo-bucket-my-tutorial>
   topics.dir=tutorial
   ```

1. Di bawah **Izin akses** pilih`mkc-tutorial-role`.

1. Pilih **Berikutnya**. Pada halaman **Keamanan**, pilih **Berikutnya** lagi.

1. Pada halaman **Log** pilih **Berikutnya**.

1. Pada halaman **Tinjau dan buat**, tinjau konfigurasi konektor Anda dan pilih **Buat konektor**.

**Langkah Selanjutnya**

[Kirim data ke cluster MSK](mkc-send-data.md)

# Kirim data ke cluster MSK
<a name="mkc-send-data"></a>

Pada langkah ini Anda mengirim data ke topik Apache Kafka yang Anda buat sebelumnya, dan kemudian mencari data yang sama di bucket S3 tujuan.

**Untuk mengirim data ke cluster MSK**

1. Di `bin` folder instalasi Apache Kafka pada instance klien, buat file teks bernama `client.properties` dengan konten berikut.

   ```
   security.protocol=SASL_SSL
   sasl.mechanism=AWS_MSK_IAM
   ```

1. Jalankan perintah berikut untuk membuat produser konsol. Ganti *BootstrapBrokerString* dengan nilai yang Anda peroleh saat menjalankan perintah sebelumnya.

   ```
   <path-to-your-kafka-installation>/bin/kafka-console-producer.sh --broker-list BootstrapBrokerString --producer.config client.properties --topic mkc-tutorial-topic
   ```

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 Apache Kafka Anda sebagai pesan terpisah.

1. Lihat di bucket Amazon S3 tujuan untuk menemukan pesan yang Anda kirim pada langkah sebelumnya.