Mengonfigurasi DNS di domain cloud.goog

Setelah API Anda di-deploy, pengguna API Anda harus mengaksesnya melalui nama domain, bukan alamat IP. Anda dapat:

  • Konfigurasi .endpoints.PROJECT_ID.cloud.goog sebagai nama domain (dengan PROJECT_ID sebagai Google Cloud project ID Anda).
  • Atau daftarkan nama domain Anda sendiri, seperti example.com, yang memerlukan:
    • Mengonfigurasi server nama DNS (atau menggunakan Cloud DNS).
    • Memperbarui alamat registri.
    • Membuat dan mengelola data DNS.

    Jika Anda sudah memiliki infrastruktur DNS, atau ingin mendaftarkan nama domain sendiri, lihat Menayangkan API dari nama domain Anda untuk mengetahui informasi selengkapnya.

Halaman ini menjelaskan cara mengonfigurasi API Cloud Endpoints untuk menggunakan .endpoints.PROJECT_ID.cloud.goog sebagai nama domain. Langkah-langkah konfigurasi di halaman ini berlaku untuk API yang menggunakan OpenAPI yang berjalan di Compute Engine, Google Kubernetes Engine, atau Kubernetes. Nama domain .endpoints.PROJECT_ID.cloud.goog tidak didukung untuk API yang berjalan di App Engine. Untuk API di App Engine, sebaiknya gunakan PROJECT_ID.appspot.com sebagai nama layanan Endpoints. Saat Anda men-deploy API ke App Engine, entri DNS dengan nama dalam format PROJECT_ID.appspot.com akan dibuat secara otomatis.

Domain .cloud.goog dikelola oleh Google dan dibagikan oleh pelanggan Google Cloud. Karena project Google Cloud dijamin memiliki project ID yang unik secara global, nama domain dalam format .endpoints.PROJECT_ID.cloud.goog bersifat unik dan dapat digunakan sebagai nama domain untuk API Anda. Mengonfigurasi nama domain .endpoints.PROJECT_ID.cloud.goog bersifat opsional. Jika mau, Anda dapat mendaftarkan nama domain sendiri.

Prasyarat

Sebagai titik awal, halaman ini mengasumsikan bahwa Anda telah membuat Cloud Endpoints API dan men-deploy-nya ke Compute Engine, Google Kubernetes Engine, atau Kubernetes. Jika memerlukan API untuk pengujian, Anda dapat menggunakan salah satu tutorial yang memandu Anda mengonfigurasi dan men-deploy contoh API.

Mengonfigurasi DNS

Prosedur berikut menjelaskan cara mengonfigurasi DNS untuk API Cloud Endpoints yang menggunakan .endpoints.[PROJECT_ID].cloud.goog sebagai nama layanan Endpoints dengan [PROJECT_ID] mewakili project ID Google CloudAnda. Untuk memudahkan, prosedur ini merujuk pada file konfigurasi OpenAPI Anda sebagai openapi.yaml.

Untuk mengonfigurasi DNS:

  1. Buka openapi.yaml, lalu tambahkan kolom x-google-endpoints ke file seperti yang ditunjukkan dalam cuplikan berikut:
        swagger: "2.0"
        host: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
        x-google-endpoints:
        - name: "[API_NAME].endpoints.[PROJECT_ID].cloud.goog"
          target: "[IP_ADDRESS]"

    Biasanya, Anda mengonfigurasi kolom host dan kolom x-google-endpoints.name agar sama. Saat Anda men-deploy spesifikasi OpenAPI, teks yang ditentukan di kolom host akan digunakan sebagai nama layanan Endpoints Anda.

  2. Ganti [API_NAME] dengan nama API Anda (misalnya, bookstore atau my-cool-api).
  3. Ganti [PROJECT_ID] dengan project ID Google Cloud Anda.
  4. Ganti [IP_ADDRESS] dengan alamat IPv4.

    Misalnya, jika Anda men-deploy layanan Endpoints API ke instance virtual machine Compute Engine, Anda dapat menggunakan IP eksternal virtual machine tersebut. Atau, jika Anda menjalankan kode pada sekelompok instance mesin virtual (atau pod GKE) di belakang load balancer, Anda dapat menggunakan alamat IP load balancer.

  5. Deploy spesifikasi OpenAPI baru Anda ke Service Management menggunakan perintah berikut:
    gcloud endpoints services deploy openapi.yaml

Misalnya, jika berikut ini ditentukan dalam file openapi.yaml:

    swagger: "2.0"
    host: "my-cool-api.endpoints.my-project-id.cloud.goog"
    x-google-endpoints:
    - name: "my-cool-api.endpoints.my-project-id.cloud.goog"
      target: "192.0.2.1"

Saat Anda men-deploy openapi.yaml menggunakan perintah gcloud sebelumnya, Service Management akan membuat data A DNS, my-cool-api.endpoints.my-project-id.cloud.goog, yang di-resolve ke alamat IP target, 192.0.2.1. Anda mungkin perlu menunggu beberapa menit agar konfigurasi DNS baru diterapkan.

Langkah berikutnya