이 페이지에서는 서비스 디렉터리 네임스페이스를 설정하고, 네임스페이스에 서비스를 등록하고, 서비스에 엔드포인트를 추가하는 방법을 보여줍니다. 서비스를 등록할 때 또는 서비스를 등록하기 전에 네임스페이스를 만들 수 있습니다.
이 페이지에 나열된 명령어를 실행하기 전에 서비스 디렉터리 개요의 개념과 서비스 디렉터리와 관련된 핵심 용어를 숙지하세요.
프로젝트 설정
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Service Directory API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
서비스 디렉터리 리소스 구성
서비스 디렉터리에 서비스를 채우려면 네임스페이스를 만들고 네임스페이스에 서비스를 등록합니다.
네임스페이스 구성
프로젝트의 경우 리전에 네임스페이스를 만듭니다. 이 리전은 모든 서비스와 엔드포인트가 실행되는 위치일 필요는 없지만 가능한 한 가깝게 배치해야 합니다.
서비스 디렉터리 리전 어디서나 서비스를 등록할 수 있으며 전 세계에서 계속 확인할 수 있습니다. 한 리전 내에서 프로젝트에 여러 네임스페이스가 있을 수 있으며 이러한 네임스페이스는 서로 다른 리전에 있을 수 있습니다. 단일 네임스페이스는 여러 리전에 걸쳐 있을 수 없습니다.
콘솔
Google Cloud 콘솔에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
- 네임스페이스 만들기를 클릭합니다.
- 리전 목록에서 네임스페이스의 리전을 선택합니다.
- 네임스페이스 이름 필드에 네임스페이스 이름을 지정합니다.
- 만들기를 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
네임스페이스 만들기
gcloud service-directory namespaces create NAMESPACE \ --location REGION
다음을 바꿉니다.
NAMESPACE
: 만들려는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
선택사항: 네임스페이스에 IAM 정책을 설정합니다. 이렇게 하면 지정된 사용자 또는 그룹에 이 네임스페이스 및 네임스페이스에 속한 모든 서비스에 대해 지정된 역할이 부여됩니다.
gcloud service-directory namespaces add-iam-policy-binding NAMESPACE \ --member user:someone@example.com \ --role ROLE \ --location REGION
다음을 바꿉니다.
NAMESPACE
: 만든 네임스페이스의 이름입니다.ROLE
: 부여할 역할입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
서비스 구성
네임스페이스에서 서비스를 만듭니다. 서비스는 이름과 선택적 서비스 관련 주석으로 구성됩니다. 서비스 이름 형식에는 몇 가지 제한사항이 있습니다.
- 서비스 이름은 네임스페이스 내에서 고유해야 합니다.
- 서비스 이름은 DNS 라벨의 이름 지정 규칙을 따라야 합니다.
Private Service Connect 전달 규칙을 만들고 서비스 디렉터리에 서비스로 등록하려면 서비스 디렉터리에 Private Service Connect 엔드포인트 등록을 참고하세요.
서비스 디렉터리에 표준 서비스를 등록하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 서비스 디렉터리 페이지로 이동합니다.
- 서비스 등록을 클릭합니다.
- 표준을 클릭한 다음 다음을 클릭합니다.
- 서비스를 등록할 리전을 선택합니다.
- 서비스를 등록할 네임스페이스를 선택합니다.
네임스페이스가 없는 경우 다음 단계에 따라 만듭니다.
- 네임스페이스 상자에서 네임스페이스 만들기를 클릭합니다.
- 네임스페이스 이름을 입력합니다.
- 만들기를 클릭합니다.
- 서비스 이름을 입력합니다.
- 선택사항: 서비스에 주석을 추가하려면 다음 단계를 따르세요.
- 주석 추가를 클릭합니다.
- 키 및 값을 추가합니다.
- 주석을 더 추가하려면 주석 추가를 다시 클릭합니다.
- 만들기를 클릭합니다.
gcloud
명령줄에서 Service Directory를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
네임스페이스에서 서비스를 만듭니다.
gcloud service-directory services create SERVICE \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --namespace NAMESPACE \ --location REGION
다음을 바꿉니다.
SERVICE
: 만들려는 서비스의 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: 키와 값 문자열이 쌍으로 설정됩니다.
선택사항: 서비스에 IAM 정책을 설정합니다. 이렇게 하면 지정된 사용자 또는 그룹에 이 서비스 및 서비스에 속한 모든 엔드포인트에 대한 지정된 역할이 부여됩니다.
gcloud service-directory services add-iam-policy-binding SERVICE \ --member user:someone@example.com \ --role ROLE \ --namespace NAMESPACE \ --location REGION
다음을 바꿉니다.
SERVICE
: 서비스에 지정한 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스의 이름ROLE
: 부여할 역할입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
엔드포인트 구성
서비스를 등록한 후 엔드포인트를 추가합니다. 엔드포인트는 고유한 이름, 선택적 IP 주소 및 포트, 키-값 주석으로 구성됩니다. 지정된 경우 IP 주소는 유효한 IPv4 또는 IPv6 주소여야 합니다.
콘솔
Google Cloud 콘솔에서 서비스 디렉터리 페이지로 이동합니다.
- 서비스를 클릭합니다.
- 엔드포인트 추가를 클릭합니다.
- 엔드포인트 이름을 입력합니다.
- IPv4 또는 IPv6 IP 주소를 입력합니다.
- 포트 번호를 입력합니다.
- 선택사항: 엔드포인트에 주석을 추가하려면 다음 단계를 따르세요.
- 주석에서 주석 추가를 클릭합니다.
- 키 및 값을 추가합니다.
- 주석을 더 추가하려면 주석 추가를 다시 클릭합니다.
- 만들기를 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
서비스가 등록되면 엔드포인트를 추가합니다.
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --annotations KEY_1=VALUE_1,KEY_2=VALUE_2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
gcloud service-directory endpoints create ENDPOINT2 \ --address IP_ADDRESS2 \ --port PORT_NUMBER2 \ --service SERVICE \ --namespace NAMESPACE \ --location REGION
다음을 바꿉니다.
ENDPOINT
및ENDPOINT2
: 서비스에서 만들고 있는 엔드포인트의 이름입니다.IP_ADDRESS
및IP_ADDRESS2
: 각각 엔드포인트의 IPv6 및 IPv4 주소입니다.PORT_NUMBER
및PORT_NUMBER2
: 엔드포인트가 실행 중인 포트입니다.SERVICE
: 엔드포인트가 포함된 서비스의 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.KEY_1
,VALUE_1
,KEY_2
,VALUE_2
: 키와 값 문자열이 쌍으로 설정됩니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
서비스 해결하기
서비스 디렉터리를 사용하면 클라이언트가 DNS, HTTP, gRPC를 사용하여 서비스를 확인할 수 있습니다. 서비스를 결정하면 서비스의 모든 속성, 모든 엔드포인트, 모든 주석이 반환됩니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
다음을 바꿉니다.
SERVICE
: 확인 중인 서비스의 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
리소스 삭제
리소스가 필요하지 않으면 서비스 디렉터리에서 삭제할 수 있습니다.
서비스에서 엔드포인트 삭제
콘솔
Google Cloud 콘솔에서 서비스 디렉터리 페이지로 이동합니다.
- 엔드포인트를 삭제하려는 서비스를 클릭합니다.
- 삭제하려는 엔드포인트 옆에 있는 체크박스를 선택합니다.
- 삭제를 클릭합니다.
- 확인 대화상자에서 삭제를 다시 클릭합니다.
gcloud
명령줄에서 Service Directory를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
다음을 바꿉니다.
ENDPOINT
: 삭제하려는 엔드포인트의 이름입니다.SERVICE
: 엔드포인트가 포함된 서비스의 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
네임스페이스에서 서비스 삭제
엔드포인트가 있는 서비스를 삭제할 수 있습니다. 서비스를 삭제하면 모든 엔드포인트도 삭제됩니다.
서비스 디렉터리 영역이 가리키는 서비스를 삭제할 수 있습니다. 해당 서비스에 대한 추가 DNS 쿼리는 NXDOMAIN
를 반환합니다.
콘솔
Google Cloud 콘솔에서 서비스 디렉터리 페이지로 이동합니다.
- 삭제할 서비스 옆의 체크박스를 선택합니다.
- 삭제를 클릭합니다.
- 확인 대화상자에서 삭제를 다시 클릭합니다.
gcloud
명령줄에서 Service Directory를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
다음을 바꿉니다.
SERVICE
: 삭제하려는 서비스의 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 Java 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
네임스페이스 삭제
서비스와 엔드포인트가 있는 네임스페이스를 삭제할 수 있습니다. 네임스페이스를 삭제하면 모든 서비스와 엔드포인트도 삭제됩니다.
이를 가리키는 서비스 디렉터리 영역이 있는 네임스페이스를 삭제할 수 있습니다. 영역 출처의 SOA/NS 요청을 제외한 추가 DNS 쿼리는 NXDOMAIN
를 반환합니다.
콘솔
Google Cloud 콘솔에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
- 삭제할 네임스페이스 옆에 있는 체크박스를 선택합니다.
- 삭제를 클릭합니다.
- 확인 대화상자에서 삭제를 다시 클릭합니다.
gcloud
명령줄에서 Service Directory를 사용하려면 먼저 최신 버전의 Google Cloud CLI를 설치하거나 업그레이드하세요.
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
다음을 바꿉니다.
NAMESPACE
: 삭제하는 네임스페이스의 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 Service Directory C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
Java
이 코드를 실행하려면 먼저 Java 개발 환경을 설정하고 Service Directory Java SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 Service Directory Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 Service Directory PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 Service Directory Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 Service Directory Ruby SDK를 설치합니다.
다음 단계
- DNS를 사용하여 서비스를 쿼리할 수 있도록 서비스 디렉터리 영역을 구성하려면 서비스 디렉터리 영역 구성을 참고하세요.
- 서비스 디렉터리에 대한 개요는 서비스 디렉터리 개요를 참고하세요.
- 서비스 디렉터리를 사용할 때 발생할 수 있는 일반적인 문제에 대한 해결책을 찾으려면 문제 해결을 참고하세요.