cloud.goog 도메인에서 DNS 구성

API가 배포된 후에는 API 사용자가 IP 주소 대신 도메인 이름을 사용하여 여기에 액세스해야 합니다. 다음 중 원하는 방법을 선택하면 됩니다.

  • .endpoints.PROJECT_ID.cloud.goog를 도메인 이름으로 구성합니다(여기서 PROJECT_ID는 Google Cloud 프로젝트 ID).
  • 또는 자신의 도메인 이름(예: example.com)을 등록합니다. 다음을 수행해야 합니다.
    • DNS 이름 서버 구성 또는 Cloud DNS 사용
    • 레지스트리 주소 업데이트
    • DNS 레코드 만들기 및 유지 관리

    DNS 인프라가 이미 있거나 자신의 도메인 이름을 등록하려는 경우, 자세한 내용은 도메인 이름에서 API 제공을 참조하세요.

이 페이지에서는 .endpoints.PROJECT_ID.cloud.goog를 도메인 이름으로 사용하도록 Cloud Endpoints API를 구성하는 방법을 설명합니다. 이 페이지의 구성 단계는 Compute Engine, Google Kubernetes Engine 또는 Kubernetes에서 실행되는 gRPC를 사용하는 API에 적용될 수 있습니다.

.cloud.goog 도메인은 Google에서 관리하며 Google Cloud 고객이 공유합니다. Google Cloud 프로젝트의 프로젝트 ID는 전역에서 고유하므로 .endpoints.PROJECT_ID.cloud.goog 형식의 도메인 이름은 고유하며 API의 도메인 이름으로 사용할 수 있습니다. .endpoints.PROJECT_ID.cloud.goog 도메인 이름 구성은 선택사항입니다. 원하는 경우, 자신의 도메인 이름을 등록할 수 있습니다.

기본 요건

먼저 이 페이지에서는 Cloud Endpoints API를 이미 만들었고 Compute Engine, Google Kubernetes Engine 또는 Kubernetes에 이를 배포했다고 가정합니다. 테스트를 위해 API가 필요한 경우, 샘플 API 구성 및 배포를 안내하는 가이드 중 하나를 사용할 수 있습니다.

DNS 구성

다음 절차에서는 .endpoints.PROJECT_ID.cloud.goog를 Endpoints 서비스 이름으로 사용하는 Endpoints API를 위한 DNS를 구성하는 방법을 설명합니다. 편의를 위해 이 절차에서는 gRPC 서비스 구성 파일을 service.yaml이라 합니다.

DNS를 구성하려면 다음 안내를 따르세요.

  1. service.yaml을 열고 endpoints 필드를 다음 코드 스니펫에 표시된 대로 파일에 추가합니다.
    type: google.api.Service
    name: API_NAME.endpoints.PROJECT_ID.cloud.goog
    endpoints:
    - name: API_NAME.endpoints.PROJECT_ID.cloud.goog
      target: "IP_ADDRESS"
      

    일반적으로 name 필드와 endpoints.name 필드는 동일합니다.

  2. API_NAME을 API 이름(예: bookstore 또는 my-cool-api)으로 바꿉니다.
  3. IP_ADDRESS를 IPv4 주소로 바꿉니다. IP 주소는 문자열이며 따옴표로 묶어야 합니다.

    예를 들어 Endpoints API 서비스를 Compute Engine 가상 머신 인스턴스에 배포하는 경우 해당 가상 머신의 외부 IP 주소를 사용할 수 있습니다. 또는 부하 분산기를 지원하는 가상 머신 인스턴스(또는 GKE pod) 그룹에서 코드를 실행하는 경우, 부하 분산기의 IP 주소를 사용할 수 있습니다.

  4. 다음 명령어를 사용하여 업데이트된 gRPC 구성 파일을 Service Management에 배포합니다.
    gcloud endpoints services deploy service.yaml service.pb
    

예를 들어 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"

위의 gcloud 명령어를 사용하여 service.yaml 파일을 배포하면 Service Management는 대상 IP 주소 192.0.2.1로 해석되는 DNS A 레코드 my-cool-api.endpoints.my-project-id.cloud.goog를 생성합니다. 새 DNS 구성이 확산될 때까지 몇 분 정도 기다려야 할 수 있습니다.

다음 단계