Membuat AWS Cloud Map layanan untuk komponen aplikasi - AWS Cloud Map

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.

catatan

Anda tidak dapat membuat beberapa layanan yang dapat diakses oleh kueri DNS dengan nama yang hanya berbeda menurut kasus (seperti CONTOH dan contoh). Mencoba melakukannya akan menghasilkan layanan ini memiliki nama DNS yang sama. Jika Anda menggunakan namespace yang hanya dapat diakses oleh panggilan API, maka Anda dapat membuat layanan yang dengan nama yang berbeda hanya berdasarkan huruf.

Ikuti langkah-langkah ini untuk membuat layanan menggunakan AWS Management Console, AWS CLI, dan SDK untuk Python.

AWS Management Console
  1. Masuk ke AWS Management Console dan buka AWS Cloud Map konsol di https://console.aws.amazon.com/cloudmap/.

  2. Di panel navigasi, pilih Namespace.

  3. Pada Namespace halaman, pilih namespace yang Anda ingin menambahkan layanan.

  4. Pada Namespace: nama-namespace halaman, pilih Buat layanan.

  5. 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 panggilan API atau dalam kueri DNS.

    catatan

    Jika Anda AWS Cloud Map ingin membuat catatan SRV saat mendaftarkan instance dan Anda menggunakan sistem yang memerlukan format SRV tertentu (seperti HAProxy), tentukan yang berikut ini untuk nama Layanan:

    • Mulai nama dengan garis bawah (_), misalnya _exampleservice.

    • Akhiri nama dengan ._protokol, misalnya ._tcp.

    Saat Anda mendaftarkan instance, AWS Cloud Map membuat catatan SRV dan menetapkan nama dengan menggabungkan nama layanan dan nama namespace, misalnya:

    _exampleservice. _tcp.example.com

  6. (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.

  7. Jika namespace mendukung kueri DNS, di bawah konfigurasi Penemuan layanan, Anda dapat mengonfigurasi kemampuan penemuan di tingkat layanan. Pilih antara mengizinkan panggilan API dan kueri DNS atau hanya panggilan API untuk penemuan instance dalam layanan ini.

    catatan

    Jika Anda memilih panggilan API, tidak AWS Cloud Map akan membuat catatan SRV saat Anda mendaftarkan instance.

    Jika Anda memilih API dan DNS, ikuti langkah-langkah ini untuk mengonfigurasi catatan DNS. Anda dapat menambah atau menghapus catatan DNS.

    1. Untuk kebijakan Perutean, pilih kebijakan perutean Amazon Route 53 untuk catatan DNS 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.

      catatan

      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.

    2. Untuk jenis Rekam, pilih jenis catatan DNS yang menentukan apa yang dikembalikan Route 53 sebagai respons terhadap kueri DNS. AWS Cloud Map Untuk informasi selengkapnya, lihat Jenis catatan.

    3. Untuk TTL, tentukan nilai numerik untuk menentukan nilai time to live (TTL), dalam hitungan detik, di tingkat layanan. Nilai dari TTL menentukan berapa lama DNS penyelesai cache informasi untuk catatan ini sebelum penyelesai meneruskan permintaan DNS lain untuk Amazon Route 53 untuk mendapatkan pengaturan yang diperbarui.

  8. 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.

    catatan

    Pemeriksaan kesehatan Route 53 hanya dapat dikonfigurasi untuk layanan di ruang nama DNS publik.

    Jika Anda memilih pemeriksaan kesehatan Rute 53, berikan informasi berikut.

    1. 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.

    2. Untuk protokol pemeriksaan Kesehatan, pilih metode yang akan digunakan Route 53 untuk memeriksa kesehatan instance layanan.

    3. Jika Anda memilih protokol pemeriksaan kesehatan HTTP atau HTTPS, 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 status HTTP 2xx atau 3xx format. 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.

  9. (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.

  10. Pilih Buat layanan.

AWS CLI
  • Buat layanan dengan create-service perintah. Ganti nilai merah 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.

  1. Impor Boto3 dan gunakan servicediscovery sebagai layanan Anda.

    import boto3 client = boto3.client('servicediscovery')
  2. Buat layanan dengancreate_service(). Ganti nilai merah 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.