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에서 실행되는 OpenAPI를 사용하는 API에 적용할 수 있습니다. App Engine에서 실행되는 API에서는 .endpoints.PROJECT_ID.cloud.goog 도메인 이름이 지원되지 않습니다. App Engine의 API에는 Endpoints 서비스 이름으로 PROJECT_ID.appspot.com을 사용하는 것이 좋습니다. App Engine에 API를 배포하면 PROJECT_ID.appspot.com 형식의 이름을 가진 DNS 항목이 자동으로 생성됩니다.

.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 서비스 이름으로 .endpoints.[PROJECT_ID].cloud.goog를 사용하는 Cloud Endpoints API의 DNS를 구성하는 방법을 설명합니다(여기서 [PROJECT_ID]는 Google Cloud 프로젝트 ID). 편의를 위해 이 절차에서는 OpenAPI 구성 파일을 openapi.yaml이라 합니다.

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

  1. openapi.yaml을 열고 x-google-endpoints 필드를 다음 스니펫에 표시된 대로 파일에 추가합니다.
        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]"

    일반적으로 host 필드와 x-google-endpoints.name 필드를 동일하게 구성합니다. OpenAPI 사양을 배포할 때 host 필드에 지정된 텍스트가 Endpoints 서비스의 이름으로 사용됩니다.

  2. [API_NAME]을 API 이름(예: bookstore 또는 my-cool-api)으로 바꿉니다.
  3. [PROJECT_ID]를 Google Cloud 프로젝트 ID로 바꿉니다.
  4. [IP_ADDRESS]를 IPv4 주소로 바꿉니다.

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

  5. 다음 명령어를 사용하여 Service Management에 새 OpenAPI 사양을 배포합니다.
    gcloud endpoints services deploy openapi.yaml

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

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

다음 단계