Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat AWS Cloud Map layanan untuk komponen aplikasi
Setelah membuat namespace, Anda dapat membuat layanan untuk mewakili berbagai komponen aplikasi Anda yang melayani tujuan tertentu. Misalnya, Anda dapat membuat layanan untuk sumber daya di aplikasi Anda yang memproses pembayaran.
Anda tidak dapat membuat beberapa layanan yang dapat diakses oleh DNS kueri dengan nama yang hanya berbeda menurut kasus (seperti EXAMPLE dan contoh). Mencoba melakukannya akan mengakibatkan layanan ini memiliki DNS nama yang sama. Jika Anda menggunakan namespace yang hanya dapat diakses melalui API panggilan, maka Anda dapat membuat layanan yang dengan nama yang hanya berbeda berdasarkan kasus.
Ikuti langkah-langkah ini untuk membuat layanan menggunakan AWS Management Console, AWS CLI, dan SDK untuk Python.
- AWS Management Console
-
Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/.
-
Di panel navigasi, pilih Namespace.
-
Pada Namespace halaman, pilih namespace yang Anda ingin menambahkan layanan.
-
Pada namespace-name
halaman Namespace: pilih Buat layanan.
-
Untuk nama Layanan, masukkan nama yang menjelaskan contoh yang Anda daftarkan saat menggunakan layanan ini. Nilai digunakan untuk menemukan instance AWS Cloud Map layanan baik dalam API panggilan atau dalam DNS kueri.
Jika Anda AWS Cloud Map ingin membuat SRVcatatan saat mendaftarkan instance dan menggunakan sistem yang memerlukan SRVformat tertentu (seperti HAProxy), tentukan yang berikut ini untuk nama Layanan:
-
Mulai nama dengan garis bawah (_), misalnya _exampleservice.
-
Akhiri nama dengan._protocol
, misalnya. _tcp.
Saat Anda mendaftarkan instance, AWS Cloud Map membuat SRVcatatan dan menetapkan nama dengan menggabungkan nama layanan dan nama namespace, misalnya:
_exampleservice. _tcp.example.com
-
(Opsional) Untuk deskripsi Layanan, masukkan deskripsi untuk layanan. Deskripsi yang Anda masukkan di sini muncul di halaman Layanan dan pada halaman detail untuk setiap layanan.
-
Jika namespace mendukung DNS kueri, di bawah konfigurasi Penemuan layanan, Anda dapat mengonfigurasi kemampuan penemuan di tingkat layanan. Pilih antara mengizinkan API panggilan dan DNS kueri atau hanya API panggilan untuk penemuan instance dalam layanan ini.
Jika Anda memilih APIpanggilan, tidak AWS Cloud Map akan membuat SRV catatan ketika Anda mendaftarkan sebuah instance.
Jika Anda memilih APIdan DNS, ikuti langkah-langkah ini untuk mengonfigurasi DNS catatan. Anda dapat menambah atau menghapus DNS catatan.
-
Untuk kebijakan Perutean, pilih kebijakan perutean Amazon Route 53 untuk DNS catatan yang AWS Cloud Map
dibuat saat Anda mendaftarkan instance. Anda dapat memilih antara routing tertimbang dan routing jawaban Multivalue. Untuk informasi selengkapnya, lihat Kebijakan perutean.
Anda tidak dapat menggunakan konsol untuk mengonfigurasi AWS Cloud Map untuk membuat catatan alias Route 53 saat mendaftarkan instance. Jika Anda ingin membuat catatan alias AWS Cloud Map untuk penyeimbang beban Elastic Load Balancing saat Anda mendaftarkan instance secara terprogram, pilih Perutean tertimbang untuk kebijakan Perutean.
-
Untuk jenis Rekaman, pilih jenis DNS rekaman yang menentukan apa yang dikembalikan Route 53 sebagai respons terhadap DNS kueri oleh AWS Cloud Map. Untuk informasi selengkapnya, lihat Jenis catatan.
-
Untuk TTL, tentukan nilai numerik untuk menentukan nilai time to live (TTL), dalam detik, di tingkat layanan. Nilai TTL menentukan berapa lama DNS resolver menyimpan informasi cache untuk catatan ini sebelum resolver meneruskan kueri lain ke Amazon Route 53 DNS untuk mendapatkan pengaturan yang diperbarui.
-
Di bawah Konfigurasi pemeriksaan Kesehatan, untuk opsi pemeriksaan Kesehatan, pilih jenis pemeriksaan kesehatan yang berlaku untuk instance layanan. Anda dapat memilih untuk tidak mengonfigurasi pemeriksaan kesehatan apa pun, atau Anda dapat memilih antara pemeriksaan kesehatan Route 53 atau pemeriksaan kesehatan eksternal untuk instans Anda. Untuk informasi selengkapnya, lihat AWS Cloud Map konfigurasi pemeriksaan kesehatan layanan.
Pemeriksaan kesehatan Route 53 hanya dapat dikonfigurasi untuk layanan di ruang DNS nama publik.
Jika Anda memilih pemeriksaan kesehatan Rute 53, berikan informasi berikut.
-
Untuk ambang kegagalan, berikan angka antara 1 dan 10 yang menentukan jumlah pemeriksaan kesehatan Rute 53 berturut-turut yang harus dilewati atau gagal jika status kesehatannya berubah.
-
Untuk protokol pemeriksaan Kesehatan, pilih metode yang akan digunakan Route 53 untuk memeriksa kesehatan instance layanan.
-
Jika Anda memilih HTTPatau protokol pemeriksaan HTTPSkesehatan, untuk jalur pemeriksaan Kesehatan, berikan jalur yang Anda inginkan untuk diminta Amazon Route 53 saat melakukan pemeriksaan kesehatan. Jalur dapat berupa nilai apapun seperti file /docs/route53-health-check.html
. Ketika sumber daya sehat, nilai yang dikembalikan adalah kode HTTP status format 2xx atau 3xx. Anda juga dapat menyertakan parameter rangkaian kueri, misalnya, /welcome.html?language=jp&login=y
. AWS Cloud Map Konsol tersebut secara otomatis menambahkan garis miring (/) karakter.
Untuk informasi lebih lanjut tentang pemeriksaan kesehatan Route 53, lihat Bagaimana Amazon Route 53 Menentukan Apakah Pemeriksaan Kesehatan Sehat 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 layanan.
- AWS CLI
-
-
Buat layanan dengan create-service
perintah. Ganti red
nilai dengan nilai Anda sendiri.
aws servicediscovery create-service \
--name service-name
\
--namespace-id ns-xxxxxxxxxxx
\
--dns-config "NamespaceId=ns-xxxxxxxxxxx
,RoutingPolicy=MULTIVALUE,DnsRecords=[{Type=A
,TTL=60
}]"
Output:
{
"Service": {
"Id": "srv-xxxxxxxxxxx",
"Arn": "arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx",
"Name": "service-name",
"NamespaceId": "ns-xxxxxxxxxxx",
"DnsConfig": {
"NamespaceId": "ns-xxxxxxxxxxx",
"RoutingPolicy": "MULTIVALUE",
"DnsRecords": [
{
"Type": "A",
"TTL": 60
}
]
},
"CreateDate": 1587081768.334,
"CreatorRequestId": "567c1193-6b00-4308-bd57-ad38a8822d25"
}
}
- 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 layanan dengancreate_service()
. Ganti red
nilai dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat create_service.
response = client.create_service(
DnsConfig={
'DnsRecords': [
{
'TTL': 60
,
'Type': 'A
',
},
],
'NamespaceId': 'ns-xxxxxxxxxxx
',
'RoutingPolicy': 'MULTIVALUE
',
},
Name='service-name
',
NamespaceId='ns-xxxxxxxxxxx
',
)
Contoh keluaran respons
{
'Service': {
'Arn': 'arn:aws:servicediscovery:us-west-2:123456789012:service/srv-xxxxxxxxxxx',
'CreateDate': 1587081768.334,
'DnsConfig': {
'DnsRecords': [
{
'TTL': 60,
'Type': 'A',
},
],
'NamespaceId': 'ns-xxxxxxxxxxx',
'RoutingPolicy': 'MULTIVALUE',
},
'Id': 'srv-xxxxxxxxxxx',
'Name': 'service-name',
'NamespaceId': 'ns-xxxxxxxxxxx',
},
'ResponseMetadata': {
'...': '...',
},
}
Langkah selanjutnya
Setelah membuat layanan, Anda dapat mendaftarkan sumber daya aplikasi Anda sebagai instance layanan yang berisi informasi tentang bagaimana aplikasi Anda dapat menemukan sumber daya. Untuk informasi selengkapnya tentang mendaftarkan instance AWS Cloud Map layanan, lihatMendaftarkan sumber daya sebagai instance AWS Cloud Map layanan.
Anda juga dapat menentukan metadata kustom seperti bobot titik akhir, API batas waktu, dan kebijakan coba lagi sebagai atribut layanan setelah membuat layanan. Untuk informasi lebih lanjut, lihat ServiceAttributesdan UpdateServiceAttributes
di AWS Cloud Map APIReferensi.