Membuat AWS Cloud Map layanan - 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 membuat layanan, lakukan prosedur berikut.

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. Pada Buat layanan halaman, memasukkan nilai yang berlaku. Untuk informasi lebih lanjut, lihat Nilai yang Anda tentukan saat membuat layanan.

  6. Pilih Buat layanan.

AWS CLI
  • Buat layanan dengan create-service perintah (ganti nilai merah dengan milik 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)
  1. Jika Anda belum Boto3 menginstal, Anda dapat menemukan petunjuk untuk menginstal, mengkonfigurasi, dan menggunakan Boto3 di sini.

  2. Impor Boto3 dan gunakan servicediscovery sebagai layanan Anda.

    import boto3 client = boto3.client('servicediscovery')
  3. Buat layanan dengan create_service() (ganti nilai merah dengan milik Anda sendiri).

    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': { '...': '...', }, }
catatan

Untuk layanan yang dapat diakses oleh permintaan DNS, Anda tidak dapat membuat beberapa layanan dengan nama yang berbeda hanya berdasarkan huruf (seperti CONTOH dan contoh). Jika tidak, layanan ini akan 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.

Nilai yang Anda tentukan saat membuat layanan

Saat Anda membuat AWS Cloud Map layanan, Anda menentukan nilai berikut.

catatan

Anda hanya dapat mengubah tanda dalam layanan setelah Anda membuatnya.

Nilai-nilai

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. Hal ini tergantung pada metode penemuan instans yang Anda pilih ketika Anda membuat namespace. Anda dapat menggunakan salah satu metode:

  • Panggilan API — Saat aplikasi Anda memanggil DiscoverInstances, panggilan API menyertakan namespace dan nama layanan.

  • Panggilan API dan kueri DNS dalam VPC atau Panggilan API dan kueri DNS publik – Ketika Anda mendaftar instans layanan dan membuat namespace, AWS Cloud Map membuat zona yang di-hosting publik atau privat Amazon Route 53. Hal ini juga membuat catatan DNS di zona yang di-hosting itu. Nama catatan dalam format berikut:

    nama-layanan.nama-namespace

    Ketika aplikasi Anda mengajukan permintaan DNS untuk menemukan instans layanan, kueri adalah untuk catatan yang mencakup nama layanan dalam nama catatan.

catatan

Saat membuat layanan di namespace yang mendukung kueri DNS, Anda dapat memilih agar instance layanan untuk layanan tersebut hanya dapat ditemukan dengan panggilan ke operasi API dan bukan kueri DNS. DiscoverInstances Lihat Service discovery configuration.

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

catatan

Untuk layanan yang dapat ditemukan oleh permintaan DNS, Anda tidak dapat membuat beberapa layanan dengan nama yang berbeda hanya berdasarkan huruf (seperti CONTOH dan contoh). Jika tidak, layanan ini memiliki nama DNS yang sama dan tidak dapat dibedakan.

Deskripsi layanan

Masukkan deskripsi untuk layanan ini. Nilai yang Anda masukkan di sini muncul di halaman Layanan dan pada halaman detail untuk setiap layanan.

Konfigurasi penemuan layanan

Jika namespace mendukung kueri DNS, AWS Cloud Map mendukung opsi penemuan layanan berikut:

API dan DNS

AWS Cloud Map akan membuat catatan SRV saat Anda mendaftarkan instance untuk layanan tersebut. Instans layanan juga dapat ditemukan menggunakan operasi DiscoverInstancesAPI.

API saja

AWS Cloud Map tidak akan membuat catatan SRV misalnya untuk layanan. Instans layanan hanya dapat ditemukan menggunakan operasi DiscoverInstancesAPI.

Kebijakan perutean (namespace DNS publik dan privat saja)

Jika Anda menggunakan namespace DNS publik atau privat untuk membuat layanan, pilih kebijakan perutean Amazon Route 53 untuk catatan DNS yang AWS Cloud Map menciptakan ketika Anda mendaftar instans. (Namespace DNS publik memiliki nilai Panggilan API dan kueri DNS publik untuk Penemuan instans, dan namespace DNS privat memiliki nilai Panggilan API dan kueri DNS dalam VPC.)

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

AWS Cloud Map mendukung kebijakan perutean Route 53 berikut:

Routing tertimbang

Route 53 mengembalikan nilai yang berlaku dari satu instans yang dipilih secara acak dari antara instans yang Anda daftarkan menggunakan layanan yang sama. Semua catatan memiliki bobot yang sama, sehingga Anda tidak dapat merutekan lebih atau kurang lalu lintas ke setiap instans.

Sebagai contoh, misalkan layanan termasuk konfigurasi untuk satu catatan A dan pemeriksaan kesehatan, dan Anda menggunakan layanan untuk mendaftarkan 10 instans. Route 53 menanggapi permintaan DNS dengan alamat IP untuk satu instans yang dipilih secara acak dari antara instans yang sehat. Jika tidak ada instans yang sehat, Route 53 menanggapi kueri DNS seolah-olah semua instans sehat.

Jika Anda tidak menentukan pemeriksaan kesehatan untuk layanan, Route 53 mengasumsikan bahwa semua instans sehat dan mengembalikan nilai yang berlaku untuk satu instans yang dipilih secara acak.

Untuk informasi lebih lanjut, lihat perutean Tertimbang dalam Panduan Pengembang Amazon Route 53.

Rute jawaban multinilai

Jika Anda menentukan pemeriksaan kesehatan untuk layanan dan hasil pemeriksaan kesehatan sehat, Route 53 mengembalikan nilai yang berlaku hingga delapan instans.

Misalnya, anggaplah bahwa layanan tersebut mencakup konfigurasi untuk catatan A dan pemeriksaan kesehatan. Anda menggunakan layanan untuk mendaftar 10 instans. Route 53 menanggapi permintaan DNS dengan alamat IP untuk hanya maksimal delapan instans sehat. Jika kurang dari delapan instans sehat, Route 53 menanggapi setiap permintaan DNS dengan alamat IP untuk semua instans sehat.

Jika Anda tidak menentukan pemeriksaan kesehatan untuk layanan, Route 53 mengasumsikan bahwa semua instans sehat dan mengembalikan nilai hingga delapan instans.

Untuk informasi selengkapnya, lihat Merutekan jawaban multinilai di Panduan Pengembang Amazon Route 53.

Jenis catatan (namespace DNS publik dan privat saja)

Jika Anda menggunakan namespace DNS publik atau pribadi untuk membuat layanan, pilih jenis catatan DNS untuk catatan yang AWS Cloud Map dibuat saat Anda mendaftarkan instance. Amazon Route 53 mengembalikan nilai yang berlaku dalam menanggapi kueri DNS untuk instans terdaftar.

Jenis data berikut didukung:

A

Ketika Anda mendaftarkan instans, Anda menentukan alamat IP sumber daya dalam format IPv4, seperti 192.0.2.44.

AAAA

Ketika Anda mendaftarkan instans, Anda menentukan alamat IP sumber daya dalam format IPv6, seperti 2001:0db8:85a3:0000:0000:abcd:0001:2345.

CNAME

Ketika Anda mendaftar contoh, Anda menentukan nama domain sumber daya (seperti www.example.com). Perhatikan hal-hal berikut:

  • Jika Anda ingin memilih CNAME, Anda harus memilih Perutean tertimbang untuk Kebijakan Perutean.

  • Jika Anda memilih CNAME, Anda tidak dapat memilih Pemeriksaan kondisi Route 53 untuk Opsi pemeriksaan Kondisi.

SRV

Nilai untuk catatan SRV menggunakan nilai-nilai berikut:

priority weight port service-hostname

Perhatikan hal berikut mengenai nilai::

  • Nilai dari priority dan weight keduanya diatur ke 1 dan tidak dapat diubah.

  • Untukport, AWS Cloud Map gunakan nilai yang Anda tentukan untuk Port saat Anda mendaftarkan instance.

  • Nilai dari service-hostname Adalah rangkaian nilai berikut:

    • Nilai yang Anda tentukan untuk ID instans layanan ketika Anda daftar instans

    • Nama layanan

    • Nama namespace

    Misalnya, anggap Anda menentukan Tes untuk ID instans layanan saat Anda mendaftarkan sebuah instans. Nama layanan ini adalah backend dan nama namespace adalah contoh.com. AWS Cloud Map menugaskan nilai berikut untuk service-hostname atribut dalam SRV rekaman:

    test.backend.example.com

Jika Anda menentukan pengaturan untuk SRV catatan, perhatikan hal berikut:

  • Jika Anda menentukan nilai untuk alamat IPv4, alamat IPv6, atau keduanya, AWS Cloud Map secara otomatis membuat A dan/atau catatan AAAA yang memiliki nama yang sama dengan nilai service-hostname dalam SRV catatan.

  • Jika Anda menggunakan sistem yang memerlukan format SRV khusus, seperti HAProxy, lihat nama layanan untuk informasi tentang cara menentukan format nama yang benar.

Anda dapat menentukan jenis catatan dalam kombinasi berikut:

  • A

  • AAAA

  • A dan AAAA

  • CNAME

  • SRV

Jika Anda menentukan A dan AAAA jenis catatan, Anda dapat menentukan alamat IP IPv4, alamat IP IPv6, atau keduanya saat Anda mendaftar sebuah instans.

TTL (namespace DNS publik dan privat saja)

Jika Anda menggunakan namespace DNS publik atau privat untuk membuat layanan, memasukkan nilai untuk TTL, atau waktu untuk tayang. 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.

Opsi pemeriksaan kondisi

Tidak ada pemeriksaan kondisi

Jika Anda tidak mengkonfigurasi pemeriksaan kondisi, lalu lintas akan dirutekan ke instans layanan terlepas dari apakah mereka sehat.

Pemeriksaan kondisi Route 53 (tidak didukung untuk namespace DNS privat)

Jika Anda menentukan pengaturan untuk pemeriksaan kondisi Amazon Route 53, AWS Cloud Map menciptakan pemeriksaan kondisi Route 53 setiap kali Anda daftar instans dan menghapus pemeriksaan kondisi ketika Anda membatalkan daftar instans.

Untuk ruang nama DNS publik, AWS Cloud Map kaitkan pemeriksaan kesehatan dengan catatan Route 53 yang AWS Cloud Map dibuat saat Anda mendaftarkan instance.

Untuk ruang nama yang Anda gunakan panggilan API untuk menemukan AWS Cloud Map instance, buat pemeriksaan kesehatan Route 53. Namun, tidak ada catatan DNS AWS Cloud Map untuk mengaitkan pemeriksaan kesehatan. Untuk menentukan apakah pemeriksaan kesehatan sehat, Anda dapat mengonfigurasi pemantauan menggunakan konsol Route 53 atau menggunakan Amazon CloudWatch. Untuk informasi selengkapnya tentang menggunakan konsol Route 53, lihat Dapatkan pemberitahuan ketika Pemeriksaan Kondisi gagal dalam Panduan Pengembang Amazon Route 53. Untuk informasi selengkapnya tentang penggunaan CloudWatch, lihat PutMetricAlarmdi Referensi Amazon CloudWatch API.

Untuk informasi tentang biaya untuk pemeriksaan kesehatan Route 53, lihat Route 53 Harga.

Pemeriksaan Kesehatan Kustom

Jika Anda mengonfigurasi AWS Cloud Map untuk menggunakan pemeriksaan kesehatan khusus saat mendaftarkan instans, Anda harus menggunakan pemeriksa kesehatan pihak ketiga untuk mengevaluasi kesehatan sumber daya Anda. Pemeriksaan kesehatan kustom berguna dalam keadaan berikut:

  • Anda tidak dapat menggunakan pemeriksaan kesehatan Route 53 karena sumber daya tidak tersedia melalui internet. Misalnya, anggaplah bahwa Anda memiliki instans yang terletak di Amazon VPC. Anda dapat menggunakan pemeriksaan kesehatan kustom untuk contoh ini. Namun, agar pemeriksaan kesehatan bekerja, pemeriksa kesehatan Anda juga harus berada di VPC yang sama dengan instans Anda.

  • Anda ingin menggunakan pemeriksa kesehatan pihak ketiga terlepas dari mana sumber daya Anda berada.

Ambang batas kegagalan (pemeriksaan kesehatan Route 53 saja)

Jumlah berturut-turut Route 53 pemeriksaan kesehatan yang sumber daya harus lulus atau gagal untuk Amazon Route 53 untuk mengubah status sumber daya dari sehat untuk tidak sehat atau situasi sebaliknya. Untuk informasi selengkapnya, lihat Bagaimana Amazon Route 53 menentukan apakah Pemeriksaan Kondisi sehat Panduan pengembang Amazon Route 53.

Protokol pemeriksaan kondisi (pemeriksaan kondisi Route 53 saja)

Metode yang Anda inginkan Amazon Route 53 untuk menggunakan untuk memeriksa kondisi sumber daya Anda:

HTTP

Route 53 mencoba untuk membuat koneksi TCP. Jika berhasil, Route 53 mengajukan permintaan HTTP dan menunggu kode status HTTP format 2xx atau 3xx.

HTTPS

Route 53 mencoba untuk membuat koneksi TCP. Jika berhasil, Route 53 mengirimkan permintaan HTTPS dan menunggu kode status HTTP format 2xx atau 3xx.

penting

Jika Anda memilih HTTPS, sumber daya harus mendukung TLS v1.0 atau lebih baru.

Jika Anda memilih HTTPS untuk nilai Protokol pemeriksaan kondisi, biaya tambahan berlaku. Untuk informasi lebih lanjut, lihat Harga Route 53.

TCP

Route 53 mencoba untuk membuat koneksi TCP.

Untuk informasi selengkapnya, lihat Bagaimana Amazon Route 53 Menentukan Apakah Pemeriksaan Kondisi Sehat.

Jalur pemeriksaan kondisi (Route 53 HTTP dan HTTPS pemeriksaan kondisi saja)

Jalur yang Anda inginkan Amazon Route 53 untuk meminta saat melakukan pemeriksaan kondisi. 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.

Tanda

Anda dapat menentukan satu atau beberapa tag untuk ditambahkan ke layanan Anda. Tag adalah label opsional yang dapat Anda tetapkan ke AWS sumber daya. Setiap tanda terdiri dari kunci dan nilai. Misalnya, Anda dapat menentukan tanda dengan Kunci = Lingkungan dan Nilai = Produksi. Menggunakan tag untuk mengkategorikan AWS sumber daya dapat membuat pengelolaan sumber daya tersebut lebih mudah.

Setelah tag dibuat, Anda selalu dapat memperbarui atau menghapus tag pada namespace Anda. Lihat informasi yang lebih lengkap di Menandai sumber daya AWS Cloud Map Anda.