이 페이지에서는 서비스 디렉터리 네임스페이스를 설정하고, 네임스페이스에 서비스를 추가하고, 서비스에 엔드포인트를 추가하는 방법을 설명합니다. 이 페이지에서 명령어를 실행하기 전에 서비스 디렉터리 개요 및 서비스 디렉터리와 관련된 주요 용어의 개념을 숙지해야 합니다.
프로젝트 설정
- 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.
-
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.
-
Enable the Service Directory API.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
서비스 디렉터리 리소스 구성
네임스페이스 구성
선택한 리전의 프로젝트 네임스페이스를 만듭니다. 이 리전에서 모든 서비스 및 엔드포인트가 실행되는 위치에 있지 않아도 되지만, 가능하면 닫아야 합니다. 모든 서비스 디렉터리 리전에 서비스를 등록할 수 있습니다. 여전히 견고성이 없습니다. 프로젝트는 한 리전 내에 여러 개의 네임스페이스를 포함할 수 있으며 여러 리전에는 네임스페이스가 있을 수 있습니다. 단일 네임스페이스는 여러 리전에 걸쳐 있을 수 없습니다.
콘솔
- Google Cloud Console에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
서비스 디렉터리 네임스페이스 페이지로 이동 - 네임스페이스 만들기를 클릭합니다.
- 리전 풀다운 메뉴에서 네임스페이스의 리전을 선택합니다.
- 네임스페이스 이름 필드에 네임스페이스 이름을 지정합니다.
- 만들기를 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
네임스페이스 만들기
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# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
서비스 구성
네임스페이스에서 서비스를 만듭니다. 서비스는 이름과 선택사항 서비스 관련 메타데이터로 구성됩니다. 서비스 이름의 형식에 몇 가지 제한사항이 있습니다.
- 서비스 이름은 네임스페이스 내에서 고유해야 합니다.
- 서비스 이름은 DNS 라벨의 이름 지정 규칙을 따라야 합니다.
콘솔
- Google Cloud Console에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
서비스 디렉터리 네임스페이스 페이지로 이동 - 네임스페이스를 클릭합니다.
- 서비스 추가를 클릭합니다.
- 서비스 이름을 입력합니다.
- 선택사항 서비스에 메타데이터를 추가하려면 다음을 수행합니다.
- 서비스 메타데이터를 클릭합니다.
- 메타데이터 추가를 클릭합니다.
- 키 및 값을 추가합니다.
- 메타데이터 쌍을 더 추가하려면 메타데이터 추가를 다시 클릭합니다.
- 만들기를 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
네임스페이스에서 서비스를 만듭니다.
gcloud service-directory services create SERVICE \ --metadata 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# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
엔드포인트 구성
서비스가 등록되었으면 엔드포인트를 추가합니다. 엔드포인트는 고유한 이름과 주소, 포트, 키/값 메타데이터의 선택적 필드로 구성됩니다. 지정된 경우 유효한 IPv4 또는 IPv6 주소여야 합니다.
콘솔
- Google Cloud Console에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
서비스 디렉터리 네임스페이스 페이지로 이동 - 네임스페이스를 클릭합니다.
- 서비스를 클릭합니다.
- 엔드포인트 추가를 클릭합니다.
- 엔드포인트 이름을 입력합니다.
- IPv4 또는 IPv6 IP 주소를 입력합니다.
- 포트 번호를 입력합니다.
- 선택사항 엔드포인트에 메타데이터를 추가하려면 다음을 수행합니다.
- 엔드포인트 메타데이터를 클릭합니다.
- 메타데이터 추가를 클릭합니다.
- 키 및 값을 추가합니다.
- 메타데이터 쌍을 더 추가하려면 메타데이터 추가를 다시 클릭합니다.
- 만들기를 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
서비스가 등록되었으면 엔드포인트를 추가합니다.
gcloud service-directory endpoints create ENDPOINT \ --address IP_ADDRESS \ --port PORT_NUMBER \ --metadata 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# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
서비스 해결
서비스 디렉터리를 사용하면 클라이언트가 DNS, HTTP, gRPC를 사용하여 서비스를 확인할 수 있습니다. 서비스를 확인하면 서비스의 모든 속성과 모든 엔드포인트와 메타데이터가 반환됩니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
gcloud service-directory services resolve SERVICE \ --namespace NAMESPACE \ --location REGION
다음을 바꿉니다.
SERVICE
: 만들려는 서비스의 이름입니다.NAMESPACE
: 서비스를 포함하는 네임스페이스에 제공한 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
리소스 삭제
서비스에서 엔드포인트 삭제
콘솔
- Google Cloud Console에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
서비스 디렉터리 네임스페이스 페이지로 이동 - 엔드포인트를 삭제할 네임스페이스를 클릭합니다.
- 엔드포인트를 삭제할 서비스를 클릭합니다.
- 삭제할 엔드포인트 옆의 체크박스를 클릭합니다.
- 삭제를 클릭합니다.
- 확인 대화상자에서 삭제를 다시 클릭합니다 .
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
gcloud service-directory endpoints delete ENDPOINT \ --service=SERVICE \ --namespace=NAMESPACE \ --location=REGION
다음을 바꿉니다.
SERVICE
: 만들려는 서비스의 이름입니다.NAMESPACE
: 서비스가 포함된 네임스페이스에 제공한 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
네임스페이스에서 서비스 삭제
엔드포인트가 있는 서비스를 삭제할 수 있습니다. 서비스가 삭제되면 모든 엔드포인트도 삭제됩니다.
서비스 디렉터리 영역이 가리키는 서비스를 삭제할 수 있습니다. 해당 서비스의 모든 DNS 쿼리는 NXDOMAIN
을 반환합니다.
콘솔
- Google Cloud Console에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
서비스 디렉터리 네임스페이스 페이지로 이동 - 서비스를 삭제하려는 네임스페이스를 클릭합니다.
- 삭제하려는 서비스 옆의 체크박스를 클릭합니다.
- 삭제를 클릭합니다.
- 확인 대화상자에서 삭제를 다시 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
gcloud service-directory services delete SERVICE \ --namespace=NAMESPACE \ --location=REGION
다음을 바꿉니다.
SERVICE
: 만들려는 서비스의 이름입니다.NAMESPACE
: 서비스가 포함된 네임스페이스에 제공한 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
네임스페이스 삭제
서비스 및 엔드포인트가 있는 네임스페이스를 삭제할 수 있습니다. 네임스페이스가 삭제되면 모든 서비스 및 엔드포인트도 삭제됩니다.
서비스 디렉터리 영역이 가리키는 네임스페이스를 삭제할 수 있습니다. 추가 DNS 쿼리 (영역 출처에 대한 SOA/NS 요청 제외)는 NXDOMAIN
을 반환합니다.
콘솔
- Google Cloud Console에서 서비스 디렉터리 네임스페이스 페이지로 이동합니다.
서비스 디렉터리 네임스페이스 페이지로 이동 - 삭제하려는 네임스페이스 옆의 체크박스를 클릭합니다.
- 삭제를 클릭합니다.
- 확인 대화상자에서 삭제를 다시 클릭합니다.
gcloud
명령줄에서 서비스 디렉터리를 사용하려면 먼저 Cloud SDK를 최신 버전으로 설치하거나 업그레이드하세요.
gcloud service-directory namespaces delete NAMESPACE \ --location=REGION
다음을 바꿉니다.
NAMESPACE
: 서비스가 포함된 네임스페이스에 제공한 이름입니다.REGION
: 네임스페이스가 포함된 Google Cloud 리전입니다.
C#
이 코드를 실행하려면 먼저 C# 개발 환경을 설정하고 서비스 디렉터리 C# SDK를 설치합니다.
Go
이 코드를 실행하려면 먼저 Go 개발 환경을 설정하고 서비스 디렉터리 Go SDK를 설치합니다.
자바
이 코드를 실행하려면 먼저 자바 개발 환경을 설정하고 서비스 디렉터리 자바 SDK를 설치합니다.
Node.js
이 코드를 실행하려면 먼저 Node.js 개발 환경을 설정하고 서비스 디렉터리 Node.js SDK를 설치합니다.
PHP
이 코드를 실행하려면 먼저 PHP 개발 환경을 설정하고 서비스 디렉터리 PHP SDK를 설치합니다.
Python
이 코드를 실행하려면 먼저 Python 개발 환경을 설정하고 서비스 디렉터리 Python SDK를 설치합니다.
Ruby
이 코드를 실행하려면 먼저 Ruby 개발 환경을 설정하고 서비스 디렉터리 Ruby SDK를 설치합니다.
다음 단계
- DNS를 사용하여 서비스를 쿼리할 수 있도록 서비스 디렉터리 영역을 구성하려면 서비스 디렉터리 영역을 참조하세요.
- 서비스 디렉터리에 대한 개요는 서비스 디렉터리 개요를 참조하세요.
- 서비스 디렉터리를 사용할 때 발생할 수 있는 일반적인 문제에 대한 해결책을 찾으려면 문제해결을 참조하세요.