Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat AWS Cloud Map namespace untuk mengelompokkan layanan aplikasi
Anda dapat membuat namespace untuk mengelompokkan layanan untuk aplikasi Anda dengan nama ramah yang memungkinkan penemuan sumber daya aplikasi melalui panggilan API atau kueri DNS.
Opsi penemuan instans
Tabel berikut merangkum berbagai opsi penemuan instance AWS Cloud Map dan jenis namespace yang sesuai yang dapat Anda buat, tergantung pada layanan dan penyiapan aplikasi Anda.
Jenis namespace |
Metode penemuan instance |
Cara kerjanya |
Informasi tambahan |
HTTP |
Panggilan API |
Sumber daya dalam aplikasi Anda dapat menemukan sumber daya lain hanya dengan memanggil DiscoverInstances API. |
|
DNS privat |
Panggilan API dan kueri DNS di VPC |
Sumber daya dalam aplikasi Anda dapat menemukan sumber daya lain dengan memanggil DiscoverInstances API, dan dengan menanyakan server nama di zona host Route 53 pribadi yang dibuat secara otomatis. AWS Cloud Map
Zona host yang dibuat oleh AWS Cloud Map memiliki nama yang sama dengan namespace dan berisi catatan DNS yang memiliki nama dalam format nama layanan. namespace-nama .
Penyelesai Route 53 menyelesaikan kueri DNS yang berasal dari VPC menggunakan catatan di zona yang dihosting privat. Jika zona yang di-hosting privat tidak termasuk catatan yang cocok dengan nama domain dalam kueri DNS, Route 53 menanggapi kueri dengan NXDOMAIN (domain yang tidak ada).
|
|
DNS Publik |
Panggilan API dan kueri DNS publik |
Sumber daya dalam aplikasi Anda dapat menemukan sumber daya lain dengan memanggil DiscoverInstances API dan dengan menanyakan server nama di zona host Route 53 publik yang dibuat secara otomatis. AWS Cloud Map
Zona yang dihosting publik memiliki nama yang sama dengan namespace dan berisi catatan DNS yang memiliki nama dalam format nama layanan. namespace-nama .
Nama namespace dalam hal ini harus berupa nama domain yang telah Anda daftarkan.
|
|
Prosedur
Anda dapat mengikuti langkah-langkah ini untuk membuat namespace menggunakan AWS CLI, AWS Management Console, atau SDK untuk Python.
- AWS Management Console
-
Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/.
-
Pilih Buat namespace.
-
Untuk nama Namespace, masukkan nama yang akan digunakan untuk menemukan instance.
-
Ruang nama yang dikonfigurasi untuk kueri DNS publik harus diakhiri dengan domain tingkat atas. Misalnya, .com
.
-
Anda dapat menentukan nama domain yang diinternasionalisasi (IDN) jika Anda mengubah namanya menjadi Punycode terlebih dahulu. Untuk informasi tentang pengubah online, lakukan pencarian internet di "punycode converter".
Anda juga dapat mengubah nama domain yang diinternasionalisasi menjadi Punycode saat Anda membuat namespace secara terprogram. Misalnya, jika Anda menggunakan Java, Anda dapat mengkonversi nilai Unicode ke Punycode dengan menggunakan toASCII
metode perpustakaan java.net.IDN.
-
(Opsional) Untuk deskripsi Namespace, masukkan informasi tentang namespace yang akan terlihat di halaman Namespaces dan di bawah informasi Namespace. Anda dapat menggunakan informasi ini untuk mengidentifikasi namespace dengan mudah.
-
Untuk penemuan Instance, Anda dapat memilih antara panggilan API, panggilan API, dan kueri DNS di VPC, dan panggilan API dan kueri DNS publik untuk membuat ruang nama HTTP, DNS pribadi, atau DNS publik. Untuk informasi selengkapnya, lihat Opsi penemuan instans.
Berdasarkan pilihan Anda, ikuti langkah-langkah ini.
-
Jika Anda memilih panggilan API dan kueri DNS di VPC, untuk VPC, pilih virtual private cloud (VPC) yang ingin Anda kaitkan dengan namespace.
-
Jika Anda memilih panggilan API dan kueri DNS di VPC atau panggilan API dan kueri DNS publik, untuk TTL, tentukan nilai numerik dalam hitungan detik. Nilai time to live (TTL) menentukan berapa lama DNS menyelesaikan informasi cache untuk catatan DNS start of authority (SOA) dari zona host Route 53 yang dibuat dengan namespace Anda. Untuk informasi selengkapnya tentang TTL, lihat TTL (detik) di Panduan Pengembang Amazon Route 53.
-
(Opsional) Di bawah Tag, pilih Tambahkan tag lalu tentukan kunci dan nilai untuk menandai namespace Anda. Anda dapat menentukan satu atau lebih tag untuk ditambahkan ke namespace Anda. Tag memungkinkan Anda untuk mengkategorikan AWS sumber daya Anda sehingga Anda dapat lebih mudah mengelolanya. Untuk informasi selengkapnya, lihat Menandai sumber daya Anda AWS Cloud Map.
-
Pilih Buat namespace. Anda dapat melihat status operasi dengan menggunakan ListOperations. Untuk informasi selengkapnya, lihat ListOperationsdi Referensi AWS Cloud Map API
- AWS CLI
-
-
Buat namespace dengan perintah untuk jenis penemuan instance yang Anda inginkan (ganti nilai merah
dengan milik Anda sendiri).
-
Buat namespace HTTP menggunakan. create-http-namespace
Contoh layanan yang terdaftar menggunakan namespace HTTP dapat ditemukan menggunakan DiscoverInstances
permintaan, tetapi tidak dapat ditemukan menggunakan DNS.
aws servicediscovery create-http-namespace --name name-of-namespace
-
Buat namespace pribadi berdasarkan DNS dan hanya terlihat di dalam VPC Amazon tertentu menggunakan. create-private-dns-namespace
Anda dapat menemukan instance yang terdaftar dengan namespace DNS pribadi dengan menggunakan permintaan atau menggunakan DNS DiscoverInstances
aws servicediscovery create-private-dns-namespace --name name-of-namespace
--vpc vpc-xxxxxxxxx
-
Buat namespace publik berdasarkan DNS yang terlihat di internet menggunakan. create-public-dns-namespace
Anda dapat menemukan instans yang didaftarkan dengan namespace DNS publik dengan menggunakan permintaan DiscoverInstances
atau menggunakan DNS.
aws servicediscovery create-public-dns-namespace --name name-of-namespace
- AWS SDK for Python (Boto3)
-
-
Jika Anda belum Boto3
menginstal, Anda dapat menemukan petunjuk untuk menginstal, mengkonfigurasi, dan menggunakan Boto3
di sini.
-
Impor Boto3
dan gunakan servicediscovery
sebagai layanan Anda.
import boto3
client = boto3.client('servicediscovery')
-
Buat namespace dengan perintah untuk jenis penemuan instance yang Anda inginkan (ganti nilai merah
dengan milik Anda sendiri):
-
Buat namespace HTTP menggunakan. create_http_namespace()
Contoh layanan yang terdaftar menggunakan namespace HTTP dapat ditemukan menggunakandiscover_instances()
, tetapi tidak dapat ditemukan menggunakan DNS.
response = client.create_http_namespace(
Name='name-of-namespace
',
)
# If you want to see the response
print(response)
-
Buat namespace pribadi berdasarkan DNS dan hanya terlihat di dalam VPC Amazon tertentu menggunakan. create_private_dns_namespace()
Anda dapat menemukan instance yang terdaftar dengan namespace DNS pribadi dengan menggunakan salah satu atau menggunakan DNS discover_instances()
response = client.create_private_dns_namespace(
Name='name-of-namespace
',
Vpc='vpc-1c56417b
',
)
# If you want to see the response
print(response)
-
Buat namespace publik berdasarkan DNS yang terlihat di internet menggunakan. create_public_dns_namespace()
Anda dapat menemukan instance yang terdaftar dengan namespace DNS publik dengan menggunakan salah satu atau discover_instances()
menggunakan DNS.
response = client.create_public_dns_namespace(
Name='name-of-namespace
',
)
# If you want to see the response
print(response)
-
Contoh keluaran respons
{
'OperationId': 'gv4g5meo7ndmeh4fqskygvk23d2fijwa-k9302yzd',
'ResponseMetadata': {
'...': '...',
},
}
Langkah selanjutnya
Setelah membuat namespace, Anda dapat membuat layanan di namespace untuk mengelompokkan sumber daya aplikasi yang secara kolektif melayani tujuan tertentu dalam aplikasi Anda. Layanan bertindak sebagai templat untuk mendaftarkan sumber daya aplikasi sebagai instance. Untuk informasi selengkapnya tentang membuat AWS Cloud Map layanan, lihatMembuat AWS Cloud Map layanan untuk komponen aplikasi.