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를 구성하려면 다음 안내를 따르세요.
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 서비스의 이름으로 사용됩니다.[API_NAME]
을 API 이름(예:bookstore
또는my-cool-api
)으로 바꿉니다.[PROJECT_ID]
를 Google Cloud 프로젝트 ID로 바꿉니다.[IP_ADDRESS]
를 IPv4 주소로 바꿉니다.예를 들어 Endpoints API 서비스를 Compute Engine 가상 머신 인스턴스에 배포하는 경우에 해당 가상 머신의 외부 IP를 사용할 수 있습니다. 또는 부하 분산기 뒤에서 가상 머신 인스턴스(또는 GKE 포드) 그룹에서 코드를 실행하는 경우, 부하 분산기의 IP 주소를 사용할 수 있습니다.
- 다음 명령어를 사용하여 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 구성이 확산될 때까지 몇 분 정도 기다려야 할 수 있습니다.