Setelah API Anda di-deploy, pengguna API Anda harus mengaksesnya melalui nama domain, bukan alamat IP. Anda dapat:
- Konfigurasi
.endpoints.PROJECT_ID.cloud.googsebagai nama domain (denganPROJECT_IDsebagai 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 gRPC yang berjalan di Compute Engine, Google Kubernetes Engine, atau Kubernetes.
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 Endpoint yang menggunakan
.endpoints.PROJECT_ID.cloud.goog sebagai
nama layanan Endpoint. Untuk memudahkan, prosedur ini merujuk pada
file konfigurasi layanan gRPC Anda sebagai service.yaml.
Untuk mengonfigurasi DNS:
- Buka
service.yaml, lalu tambahkan kolomendpointske file seperti yang ditunjukkan dalam cuplikan kode berikut:type: google.api.Service name: API_NAME.endpoints.PROJECT_ID.cloud.goog endpoints: - name: API_NAME.endpoints.PROJECT_ID.cloud.goog target: "IP_ADDRESS"
Biasanya, kolom
namedan kolomendpoints.namesama. - Ganti
API_NAMEdengan nama API Anda (misalnya,bookstoreataumy-cool-api). - Ganti
IP_ADDRESSdengan alamat IPv4. Alamat IP adalah string dan harus diapit dalam tanda kutip.Misalnya, jika men-deploy layanan Endpoints API ke instance virtual machine Compute Engine, Anda dapat menggunakan alamat 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.
- Deploy file konfigurasi gRPC yang telah diperbarui ke Service Management
menggunakan perintah berikut:
gcloud endpoints services deploy service.yaml service.pb
Misalnya, jika hal berikut ditentukan dalam file service.yaml:
type: google.api.Service name: my-cool-api.endpoints.my-project-id.cloud.goog endpoints: - name: my-cool-api.endpoints.my-project-id.cloud.goog target: "192.0.2.1"
Saat Anda men-deploy file service.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
- Mengonfigurasi Endpoint
- Mengaktifkan SSL untuk Endpoint
- Mencadangkan alamat IP eksternal statis
- Menayangkan API dari nama domain Anda