

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
<a name="creating-services"></a>

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 Konsol Manajemen AWS, AWS CLI, dan SDK untuk Python.

------
#### [ Konsol Manajemen AWS ]

1. Masuk ke Konsol Manajemen AWS dan buka AWS Cloud Map konsol di [https://console.aws.amazon.com/cloudmap/](https://console.aws.amazon.com/cloudmap/).

1. Di panel navigasi, pilih **Namespace**.

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

1. Pada *namespace-name* halaman **Namespace:** pilih **Buat** layanan.

1. 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](http://www.haproxy.org/)), tentukan yang berikut untuk nama **Layanan**:  
Mulai nama dengan garis bawah (\$1), misalnya **\$1exampleservice**.
Akhiri nama dengan*.\$1protocol*, misalnya**. \$1tcp**.
Saat Anda mendaftarkan instance, AWS Cloud Map membuat catatan **SRV** dan menetapkan nama dengan menggabungkan nama layanan dan nama namespace, misalnya:  
**\$1exampleservice. \$1tcp.example.com**

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

1. 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](services-route53.md#services-dns-routing-policy).
**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.****

   1. 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 [Tipe catatan](services-route53.md#services-dns-record-type).

   1. 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 kueri DNS lain untuk Amazon Route 53 untuk mendapatkan pengaturan yang diperbarui.

1. 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](services-health-checks.md).
**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.

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

   1. 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](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-determining-health-of-endpoints.html) di *Panduan Pengembang Amazon Route 53*.

1. (Opsional) Di bawah **Tag**, pilih **Tambahkan tag** lalu tentukan kunci dan nilai untuk menandai namespace Anda. Anda dapat menentukan satu tanda atau lebih 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](using-tags.md).

1. Pilih **Buat layanan**.

------
#### [ AWS CLI ]
+ Buat layanan dengan `[create-service](https://docs.aws.amazon.com/cli/latest/reference/servicediscovery/create-service.html)` 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](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#installation).

1. Impor `Boto3` dan gunakan `servicediscovery` sebagai layanan Anda.

   ```
   import boto3
   client = boto3.client('servicediscovery')
   ```

1. Buat layanan dengan`create_service()`. Ganti *red* nilai dengan nilai Anda sendiri. Untuk informasi selengkapnya, lihat [create\$1service](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/servicediscovery/client/create_service.html).

   ```
   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
<a name="create-services-next-steps"></a>

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, lihat[Mendaftarkan sumber daya sebagai instance AWS Cloud Map layanan](registering-instances.md).

Anda juga dapat menentukan metadata kustom seperti bobot titik akhir, batas waktu API, dan kebijakan coba lagi sebagai atribut layanan setelah membuat layanan. Untuk informasi selengkapnya, lihat [ServiceAttributes](https://docs.aws.amazon.com/cloud-map/latest/api/API_ServiceAttributes.html)dan [https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateServiceAttributes.html](https://docs.aws.amazon.com/cloud-map/latest/api/API_UpdateServiceAttributes.html)di *Referensi AWS Cloud Map API*.