Setelah API di-deploy, pengguna API harus mengaksesnya melalui nama domain, bukan alamat IP. Anda dapat:
Konfigurasikan .endpoints.PROJECT_ID.cloud.goog sebagai nama domain (dengan PROJECT_ID adalah project ID Google CloudAnda).
Atau daftarkan nama domain Anda sendiri, seperti example.com, yang memerlukan:
Mengonfigurasi server nama DNS (atau menggunakan
Cloud DNS).
Memperbarui alamat registry.
Membuat dan mengelola data DNS.
Jika Anda sudah memiliki infrastruktur DNS, atau ingin mendaftarkan nama domain Anda sendiri, lihat
Menayangkan API dari nama domain Anda untuk mengetahui informasi selengkapnya.
Halaman ini menjelaskan cara mengonfigurasi Cloud Endpoints API 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 digunakan bersama 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 Anda 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
Endpoints API yang menggunakan
.endpoints.PROJECT_ID.cloud.goog sebagai
nama layanan Endpoints. Untuk memudahkan, prosedur ini merujuk pada
file konfigurasi layanan gRPC Anda sebagai service.yaml.
Untuk mengonfigurasi DNS:
Buka service.yaml, lalu tambahkan kolom endpoints ke
file seperti yang ditunjukkan dalam cuplikan kode berikut:
Biasanya, kolom name dan kolom
endpoints.name sama.
Ganti API_NAME dengan nama API Anda (misalnya, bookstore atau my-cool-api).
Ganti IP_ADDRESS dengan alamat IPv4. Alamat IP adalah string dan harus diapit 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 menjalankan kode di grup instance virtual machine (atau pod GKE) di belakang load balancer, Anda dapat menggunakan alamat IP load balancer.
Deploy file konfigurasi gRPC yang telah diperbarui ke Pengelolaan Layanan
menggunakan perintah berikut:
Saat Anda men-deploy file service.yaml menggunakan perintah gcloud sebelumnya,
Pengelolaan Layanan akan membuat data A DNS,
my-cool-api.endpoints.my-project-id.cloud.goog, yang me-resolve ke alamat IP
target, 192.0.2.1. Anda mungkin perlu menunggu beberapa menit agar konfigurasi DNS
baru diterapkan.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Sulit dipahami","hardToUnderstand","thumb-down"],["Informasi atau kode contoh salah","incorrectInformationOrSampleCode","thumb-down"],["Informasi/contoh yang saya butuhkan tidak ada","missingTheInformationSamplesINeed","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-08-18 UTC."],[[["\u003cp\u003eUsers need a domain name to access a deployed API, rather than an IP address.\u003c/p\u003e\n"],["\u003cp\u003eYou can use \u003ccode\u003e.endpoints.\u003c/code\u003e\u003cvar translate=no\u003ePROJECT_ID\u003c/var\u003e\u003ccode\u003e.cloud.goog\u003c/code\u003e as the domain name, which is managed by Google and unique to your Google Cloud project.\u003c/p\u003e\n"],["\u003cp\u003eConfiguring DNS involves updating your \u003ccode\u003eservice.yaml\u003c/code\u003e file with the \u003ccode\u003eendpoints\u003c/code\u003e field, including your API name and target IP address.\u003c/p\u003e\n"],["\u003cp\u003eDeploying the updated \u003ccode\u003eservice.yaml\u003c/code\u003e file to Service Management creates a DNS A-record that maps your API domain name to the specified IP address.\u003c/p\u003e\n"],["\u003cp\u003eAlternatively, users can register their own domain name and configure the relevant DNS infrastructure.\u003c/p\u003e\n"]]],[],null,["# Configuring DNS on the cloud.goog domain\n\n[OpenAPI](/endpoints/docs/openapi/cloud-goog-dns-configure \"View this page for the Cloud Endpoints OpenAPI docs\") \\| gRPC\n\n\u003cbr /\u003e\n\nAfter your API is deployed, users of your API need to access it through a domain name\nrather than an IP address. You can either:\n\n- Configure `.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` as the domain name (where \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is your Google Cloud project ID).\n- Or register your own domain name, such as `example.com`, which entails:\n - Configuring DNS name servers (or using [Cloud DNS](/dns/docs)).\n - Updating registry addresses.\n - Creating and maintaining DNS records.\n\n If you already have a DNS infrastructure, or you want to register your own\n domain name, see [Serving an API from your domain name](/endpoints/docs/grpc/serving-apis-from-domains) for more information.\n\nThis page describes how to configure Cloud Endpoints APIs to use\n`.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` as the domain\nname. The configuration steps on this page are applicable for APIs using\ngRPC running on Compute Engine, Google Kubernetes Engine, or Kubernetes.\n\nThe `.cloud.goog` domain is managed by Google and shared by Google Cloud\ncustomers. Because Google Cloud projects are guaranteed to have a globally unique project ID,\na domain name in the format `.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` is unique and\ncan be used as the domain name for your API. Configuring the\n`.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` domain name is optional. If you prefer, you\ncan register your own domain name.\n\nPrerequisites\n-------------\n\nAs a starting point, this page assumes that you have already created your\nCloud Endpoints API and deployed it to Compute Engine, Google Kubernetes Engine, or\nKubernetes. If you need an API for testing, you can use one of the\n[tutorials](/endpoints/docs/grpc/tutorials) that walk you through\nconfiguring and deploying a sample API.\n\nConfiguring DNS\n---------------\n\nThe following procedure describes how to configure DNS for\nEndpoints APIs that use\n`.endpoints.`\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e`.cloud.goog` as the\nEndpoints service name. For convenience, the procedure refers to\nyour gRPC service configuration file as `service.yaml`.\n\nTo configure DNS:\n\n1. Open `service.yaml`, and add the `endpoints` field to the file as shown in the following code snippet: \n\n ```\n type: google.api.Service\n name: API_NAME.endpoints.PROJECT_ID.cloud.goog\n endpoints:\n - name: API_NAME.endpoints.PROJECT_ID.cloud.goog\n target: \"IP_ADDRESS\"\n \n ```\n\n Typically, the `name` field and the `endpoints.name`\n field are the same.\n2. Replace \u003cvar translate=\"no\"\u003eAPI_NAME\u003c/var\u003e with the name of your API (for example, `bookstore` or `my-cool-api`).\n3. Replace \u003cvar translate=\"no\"\u003eIP_ADDRESS\u003c/var\u003e with an IPv4 address. The IP address is a string and must be enclosed in quotation marks.\n\n For example, if you deploy your Endpoints API service to a\n Compute Engine virtual machine instance, you can use the external IP address\n of that virtual machine. Alternatively, if you run your code on a group of virtual\n machine instances (or GKE pods) behind a load balancer,\n you can use the IP address of the load balancer.\n4. Deploy your updated gRPC configuration file to Service Management by using the following command: \n\n ```\n gcloud endpoints services deploy service.yaml service.pb\n ```\n\nFor example, if the following is specified in the `service.yaml` file: \n\n```\ntype: google.api.Service\nname: my-cool-api.endpoints.my-project-id.cloud.goog\nendpoints:\n- name: my-cool-api.endpoints.my-project-id.cloud.goog\n target: \"192.0.2.1\"\n```\n\nWhen you deploy the `service.yaml` file by using the precediing `gcloud` command,\nService Management creates a DNS A-record,\n`my-cool-api.endpoints.my-project-id.cloud.goog`, which resolves to the target\nIP address, `192.0.2.1`. You might need to wait a few minutes for the new DNS\nconfiguration to propagate.\n\nWhat's next\n-----------\n\n- [Configuring Endpoints](/endpoints/docs/grpc/configure-endpoints)\n- [Enabling SSL for Endpoints](/endpoints/docs/grpc/enabling-ssl)\n- [Reserving a static external IP address](/compute/docs/configure-ip-addresses)\n- [Serving an API from your domain name](/endpoints/docs/grpc/serving-apis-from-domains)"]]