Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tutorial ini 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
Untuk keperluan tutorial ini, rincian sumber daya, seperti nama domain dan alamat IP, hanya untuk tujuan simulasi. Mereka tidak dapat diselesaikan melalui internet.
Prasyarat
Prasyarat berikut harus dipenuhi untuk menyelesaikan tutorial ini dengan sukses.
-
Sebelum memulai, selesaikan langkah-langkah di Siapkan untuk digunakan AWS Cloud Map.
-
Jika Anda belum menginstal AWS Command Line Interface, ikuti langkah-langkah di Menginstal atau memperbarui versi terbaru AWS CLI untuk menginstalnya.
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 untukLinux. Tutorial ini membutuhkan lingkungan lokal dengan perintah utilitas pencarian
dig
DNS. Untuk informasi selengkapnya tentangdig
perintah, lihat dig - DNS lookup utility.
Langkah 1: Buat AWS Cloud Map namespace
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
Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/
. -
Pilih Buat namespace.
-
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. Tetapi untuk tujuan tuturial ini, tidak perlu menjadi domain aktual yang sedang digunakan.
-
(Opsional) Untuk deskripsi Namespace, tentukan deskripsi untuk tujuan Anda menggunakan namespace.
-
Untuk penemuan Instance, pilih panggilan API dan kueri DNS publik.
-
Tinggalkan sisa nilai default dan pilih Buat namespace.
Langkah 2: Buat AWS Cloud Map layanan
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.
Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/
. -
Di panel navigasi kiri, pilih Namespaces untuk mencantumkan ruang nama yang telah Anda buat.
-
Dari daftar ruang nama, pilih
cloudmap-tutorial.com
namespace dan pilih Lihat detail. -
Di bagian Layanan, pilih Buat layanan dan lakukan hal berikut untuk membuat layanan pertama.
-
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>
-
Untuk Konfigurasi Penemuan Layanan, pilih API dan DNS.
-
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 Pengembang Route 53.
-
Tinggalkan sisa nilai default dan pilih Buat layanan yang akan mengembalikan Anda ke halaman detail namespace.
-
-
Di bagian Layanan, pilih Buat layanan dan lakukan hal berikut untuk membuat layanan kedua.
-
Untuk nama Layanan, masukkan
backend-service
. -
Untuk Konfigurasi Penemuan Layanan, pilih API saja.
-
Tinggalkan sisa nilai default dan pilih Buat layanan.
-
Langkah 3: Daftarkan instance AWS Cloud Map layanan
Pada langkah ini, Anda membuat dua instance layanan, satu untuk setiap layanan di namespace kami.
Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/
. -
Dari daftar ruang nama, pilih namespace yang Anda buat di langkah 1 dan pilih Lihat detail.
-
Pada halaman detail namespace, dari daftar layanan, pilih
public-service
layanan dan pilih Lihat detail. -
Di bagian Service instance, pilih Register service instance dan lakukan hal berikut untuk membuat instance layanan pertama.
-
Untuk ID contoh Layanan, tentukan
first
. -
Untuk IPv4 alamat, tentukan
192.168.2.1
. -
Tinggalkan sisa nilai default dan pilih Register service instance.
-
-
Menggunakan breadcrumb di bagian atas halaman, pilih cloudmap-tutorial.com untuk menavigasi kembali ke halaman detail namespace.
-
Pada halaman detail namespace, dari daftar layanan, pilih layanan backend-service dan pilih Lihat detail.
-
Di bagian Service instance, pilih Register service instance dan lakukan hal berikut untuk membuat instance layanan kedua.
-
Untuk ID contoh Layanan, tentukan
second
untuk menunjukkan bahwa ini adalah instance layanan kedua. -
Untuk jenis Instance, pilih Mengidentifikasi informasi untuk sumber daya lain.
-
Untuk atribut Custom, tambahkan pasangan kunci-nilai dengan
service-name
sebagai kunci danbackend
sebagai nilai. -
Pilih Daftarkan instans layanan.
-
Langkah 4: Temukan contoh AWS Cloud Map layanan
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
Masuk ke AWS Management Console dan buka konsol Route 53 di https://console.aws.amazon.com/route53/
. -
Pada navigasi di sebelah kiri, pilih Zona yang di-hosting.
-
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.
-
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.comOutput
ANSWER SECTION
dalam harus menampilkan IPv4 alamat yang Anda kaitkan denganpublic-service
layanan Anda.;; ANSWER SECTION: public-service.cloudmap-tutorial.com. 300 IN A 192.168.2.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
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.
Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/
. -
Dari daftar ruang nama, pilih
cloudmap-tutorial.com
namespace dan pilih Lihat detail. -
Pada halaman detail namespace, dari daftar layanan, pilih
public-service
layanan dan pilih Lihat detail. -
Di bagian Service instance, pilih
first
instance dan pilih Deregister. -
Menggunakan breadcrumb di bagian atas halaman, pilih cloudmap-tutorial.com untuk menavigasi kembali ke halaman detail namespace.
-
Pada halaman detail namespace, dari daftar layanan, pilih layanan layanan publik dan pilih Hapus.
-
Ulangi langkah 3-6 untuk.
backend-service
-
Di navigasi kiri, pilih Namespaces.
-
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.