

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

# Pelajari cara menggunakan penemuan AWS Cloud Map layanan dengan kueri DNS dan panggilan API
<a name="tutorial-private-namespace"></a>

Tutorial berikut mensimulasikan arsitektur microservice dengan dua layanan backend. Layanan pertama akan ditemukan menggunakan kueri DNS. Layanan kedua akan dapat ditemukan hanya menggunakan AWS Cloud Map API.

**catatan**  
Rincian sumber daya, seperti nama domain dan alamat IP, hanya untuk tujuan simulasi. Mereka tidak dapat diselesaikan melalui internet.

Untuk end-to-end AWS CLI versi tutorial ini, lihat[Pelajari cara menggunakan penemuan AWS Cloud Map layanan dengan kueri DNS dan panggilan API menggunakan AWS CLI](tutorial-private-namespace-cli.md).

## Prasyarat
<a name="getting-started-prerequisites"></a>

Prasyarat berikut harus dipenuhi untuk menyelesaikan tutorial dengan sukses.
+ Sebelum memulai, selesaikan langkah-langkah di [Siapkan untuk digunakan AWS Cloud Map](setting-up-cloud-map.md).
+ Jika Anda belum menginstal AWS Command Line Interface, ikuti langkah-langkah di [Menginstal atau memperbarui versi terbaru AWS CLI untuk menginstalnya](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html).

  Tutorial ini membutuhkan terminal baris perintah atau shell untuk menjalankan perintah. Di Linux dan macOS, gunakan shell dan manajer paket pilihan Anda.
**catatan**  
Di Windows, beberapa perintah Bash CLI yang biasa Anda gunakan dengan Lambda (`zip`seperti) tidak didukung oleh terminal bawaan sistem operasi. Untuk mendapatkan versi terintegrasi Windows dari Ubuntu dan Bash, [instal Windows Subsystem untuk](https://learn.microsoft.com/en-us/windows/wsl/install) Linux.
+ Tutorial ini membutuhkan lingkungan lokal dengan perintah utilitas pencarian `dig` DNS.

## Langkah 1: Buat AWS Cloud Map namespace
<a name="tutorial-microservices-step1"></a>

Pada langkah ini, Anda membuat AWS Cloud Map namespace publik. AWS Cloud Map membuat zona yang dihosting Route 53 atas nama Anda dengan nama yang sama ini. Ini memberi Anda kemampuan untuk menemukan instance layanan yang dibuat di namespace ini baik menggunakan catatan DNS publik atau dengan menggunakan panggilan API. AWS Cloud Map 

1. Masuk ke Konsol Manajemen AWS dan buka AWS Cloud Map konsol di [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Pilih **Buat namespace**.

1. Untuk **nama Namespace, tentukan**. `cloudmap-tutorial.com`
**catatan**  
Jika Anda akan menggunakan ini dalam produksi, Anda ingin memastikan bahwa Anda menentukan nama domain yang Anda miliki atau memiliki akses ke. Tapi untuk keperluan tutorial ini, itu tidak perlu untuk menjadi domain aktual yang sedang digunakan.

1. (Opsional) Untuk **deskripsi Namespace**, tentukan deskripsi untuk tujuan Anda menggunakan namespace.

1. Untuk **penemuan Instance**, pilih **panggilan API dan kueri DNS publik**.

1. Tinggalkan sisa nilai default dan pilih **Buat namespace**.

## Langkah 2: Buat AWS Cloud Map layanan
<a name="tutorial-microservices-step2"></a>

Pada langkah ini, Anda membuat dua layanan. Layanan pertama akan dapat ditemukan menggunakan DNS publik dan panggilan API. Layanan kedua akan ditemukan hanya menggunakan panggilan API.

1. Masuk ke Konsol Manajemen AWS dan buka AWS Cloud Map konsol di [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Di panel navigasi kiri, pilih **Namespaces** untuk mencantumkan ruang nama yang telah Anda buat.

1. **Dari daftar ruang nama, pilih `cloudmap-tutorial.com` namespace dan pilih Lihat detail.**

1. Di bagian **Layanan**, pilih **Buat layanan** dan lakukan hal berikut untuk membuat layanan pertama.

   1. Untuk **nama Layanan**, masukkan`public-service`. Nama layanan akan diterapkan ke catatan DNS yang AWS Cloud Map dibuat. Format yang digunakan adalah `<service-name>.<namespace-name>`

   1. Untuk **Konfigurasi Penemuan Layanan**, pilih **API dan DNS**.

   1. Di bagian **konfigurasi DNS**, untuk **kebijakan Routing, pilih **Multivalue** answer routing**.
**catatan**  
Konsol akan menerjemahkan ini ke **MULTIVALUE** setelah dipilih. Untuk informasi selengkapnya tentang opsi perutean yang tersedia, lihat [Memilih kebijakan perutean di Panduan](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html) *Pengembang Route 53*.

   1. Tinggalkan sisa nilai default dan pilih **Buat layanan** yang akan mengembalikan Anda ke halaman detail namespace.

1. Di bagian **Layanan**, pilih **Buat layanan** dan lakukan hal berikut untuk membuat layanan kedua.

   1. Untuk **nama Layanan**, masukkan`backend-service`.

   1. Untuk **Konfigurasi Penemuan Layanan**, pilih **API saja**.

   1. Tinggalkan sisa nilai default dan pilih **Buat layanan**.

## Langkah 3: Daftarkan instance AWS Cloud Map layanan
<a name="tutorial-microservices-step3"></a>

Pada langkah ini, Anda membuat dua instance layanan, satu untuk setiap layanan di namespace kami.

1. Masuk ke Konsol Manajemen AWS dan buka AWS Cloud Map konsol di [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. **Dari daftar ruang nama, pilih namespace yang Anda buat di langkah 1 dan pilih Lihat detail.**

1. Pada halaman detail namespace, dari daftar layanan, pilih `public-service` layanan dan pilih **Lihat** detail.

1. Di bagian **Service instance**, pilih **Register service instance** dan lakukan hal berikut untuk membuat instance layanan pertama.

   1. Untuk **ID contoh Layanan**, tentukan`first`.

   1. Untuk **IPv4 alamat**, tentukan`192.168.2.1`.

   1. Tinggalkan sisa nilai default dan pilih **Register service instance**.

1. Menggunakan breadcrumb di bagian atas halaman, pilih **cloudmap-tutorial.com** untuk menavigasi kembali ke halaman detail namespace.

1. **Pada halaman detail namespace, dari daftar layanan, pilih layanan **backend-service** dan pilih Lihat detail.**

1. Di bagian **Service instance**, pilih **Register service instance** dan lakukan hal berikut untuk membuat instance layanan kedua.

   1. Untuk **ID contoh Layanan**, tentukan `second` untuk menunjukkan bahwa ini adalah instance layanan kedua.

   1. Untuk **jenis Instance**, pilih **Mengidentifikasi informasi untuk sumber daya lain**.

   1. Untuk **atribut Custom**, tambahkan pasangan kunci-nilai dengan `service-name` sebagai kunci dan `backend` sebagai nilai.

   1. Pilih **Daftarkan instans layanan**.

## Langkah 4: Temukan contoh AWS Cloud Map layanan
<a name="tutorial-microservices-step4"></a>

Sekarang setelah AWS Cloud Map namespace, layanan, dan instance layanan dibuat, Anda dapat memverifikasi semuanya berfungsi dengan menemukan instance. Gunakan `dig` perintah untuk memverifikasi pengaturan DNS publik dan AWS Cloud Map API untuk memverifikasi layanan backend. Untuk informasi selengkapnya tentang `dig` perintah, lihat [dig - DNS lookup utility](https://downloads.isc.org/isc/bind9/cur/9.19/doc/arm/html/manpages.html#dig-dns-lookup-utility).

1. Masuk ke Konsol Manajemen AWS dan buka konsol Route 53 di [https://console.aws.amazon.com/route53/](https://console.aws.amazon.com/route53/).

1. Pada navigasi di sebelah kiri, pilih **Zona yang di-hosting**.

1. Pilih zona yang dihosting **cloudmap-tutorial.com**. Ini menampilkan detail zona yang dihosting di panel terpisah. Perhatikan **server Nama** yang terkait dengan zona host Anda karena kami akan menggunakannya di langkah berikutnya.

1. Menggunakan perintah dig dan salah satu server nama Route 53 untuk zona host Anda, kueri catatan DNS untuk instance layanan Anda.

   ```
   dig @hosted-zone-nameserver public-service.cloudmap-tutorial.com
   ```

   Output `ANSWER SECTION` dalam harus menampilkan IPv4 alamat yang Anda kaitkan dengan `public-service` layanan Anda.

   ```
   ;; ANSWER SECTION:
   public-service.cloudmap-tutorial.com. 300 IN A	192.168.2.1
   ```

1. Menggunakan AWS CLI, kueri atribut untuk instance layanan kedua Anda.

   ```
   aws servicediscovery discover-instances --namespace-name cloudmap-tutorial.com --service-name backend-service --region region
   ```

   Output menampilkan atribut yang Anda kaitkan dengan layanan sebagai pasangan kunci-nilai.

   ```
   {
       "Instances": [
           {
               "InstanceId": "second",
               "NamespaceName": "cloudmap-tutorial.com",
               "ServiceName": "backend-service",
               "HealthStatus": "UNKNOWN",
               "Attributes": {
                   "service-name": "backend"
               }
           }
       ],
       "InstancesRevision": 71462688285136850
   }
   ```

## Langkah 5: Bersihkan sumber daya
<a name="tutorial-microservices-step5"></a>

Setelah Anda menyelesaikan tutorial, Anda dapat menghapus sumber daya. AWS Cloud Map mengharuskan Anda membersihkannya dalam urutan terbalik, instance layanan terlebih dahulu, lalu layanan, dan akhirnya namespace. AWS Cloud Map akan membersihkan sumber daya Route 53 atas nama Anda ketika Anda melalui langkah-langkah ini.

1. Masuk ke Konsol Manajemen AWS dan buka AWS Cloud Map konsol di [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. **Dari daftar ruang nama, pilih `cloudmap-tutorial.com` namespace dan pilih Lihat detail.**

1. Pada halaman detail namespace, dari daftar layanan, pilih `public-service` layanan dan pilih **Lihat** detail.

1. Di bagian **Service instance**, pilih `first` instance dan pilih **Deregister**.

1. Menggunakan breadcrumb di bagian atas halaman, pilih **cloudmap-tutorial.com** untuk menavigasi kembali ke halaman detail namespace.

1. **Pada halaman detail namespace, dari daftar layanan, pilih layanan layanan **publik dan pilih Hapus**.**

1. Ulangi langkah 3-6 untuk. `backend-service`

1. Di navigasi kiri, pilih **Namespaces**.

1. **Pilih `cloudmap-tutorial.com` namespace dan pilih Delete.**
**catatan**  
Meskipun AWS Cloud Map membersihkan sumber daya Route 53 atas nama Anda, Anda dapat menavigasi ke konsol Route 53 untuk memverifikasi bahwa zona yang `cloudmap-tutorial.com` dihosting dihapus.