사용자 등록 연결을 사용하여 여러 VPC 네트워크 설정

이 페이지에서는 여러 가상 프라이빗 클라우드 (VPC) 네트워크와 새 Redis용 Memorystore 클러스터 인스턴스의 연결을 설정하는 방법을 설명합니다. 이렇게 하려면 다음 단계를 따르세요.

  • 소비자 네트워크에 Private Service Connect 엔드포인트를 만듭니다.

  • Memorystore 인스턴스의 서비스 연결을 타겟팅합니다.

  • 인스턴스에 구성요소를 등록합니다.

이 작업을 완료한 후 생성한 Private Service Connect 연결을 통해 클라이언트를 인스턴스에 연결합니다.

이미 자동으로 등록된 Private Service Connect 연결이 있는 인스턴스에 여러 VPC 네트워킹을 설정하는 방법은 자동으로 등록된 연결로 프로비저닝된 인스턴스에 여러 VPC 네트워크 설정을 참고하세요.

여러 VPC 네트워크 설정에 대한 자세한 내용은 여러 VPC 네트워킹 정보를 참고하세요.

네트워킹 아키텍처를 보여주는 다이어그램 Memorystore 서비스 연결에 연결된 Private Service Connect 연결에 연결된 두 프로젝트에 걸쳐 두 개의 고객 VPC 네트워크가 있습니다.

주요 단계 요약

이 섹션에서는 Private Service Connect 연결을 설정하기 위한 이 튜토리얼의 주요 단계를 요약하여 보여줍니다. 먼저 시작하기 전에 섹션의 단계를 완료하여 이 튜토리얼을 따를 준비를 해야 합니다.

주요 단계

  1. 1단계: 인스턴스 만들기
  2. 2단계: 서비스 연결 경로 기록하기
  3. 3단계: 첫 번째 VPC 네트워크의 Private Service Connect 연결 설정 및 등록
  4. 4단계: 두 번째 VPC 네트워크의 Private Service Connect 연결 설정 및 등록
  5. 5단계: 클라이언트 연결 설정하기

또한 다음 작업도 가능합니다.

시작하기 전에

시작하기 전에 다음 IAM 역할과 Google Cloud 리소스를 보유하고 있는지 확인하세요.

필요한 IAM 역할

리소스 ID 예시 리소스 유형
roles/redis.admin Memorystore for Redis Cluster 인스턴스의 전체 제어 권한을 제공하고 수명 주기 동안 인스턴스를 제어합니다.
roles/servicedirectory.editor 서비스 디렉터리 리소스를 수정할 수 있는 권한을 부여합니다. Private Service Connect 엔드포인트를 만드는 데 필요한 역할입니다.
roles/compute.networkAdmin Memorystore 인스턴스에 대한 연결을 시작하는 VPC 네트워크에 대한 전체 제어 권한을 부여합니다. IP 주소, 방화벽 규칙, Private Service Connect 엔드포인트를 만들고 관리할 수 있습니다. 이 역할은 Private Service Connect 엔드포인트를 만드는 데 필요합니다.

Private Service Connect를 사용하여 여러 VPC 네트워크에서 Memorystore 인스턴스에 연결하는 경우 각 네트워크에는 자체 관리자가 있을 수 있습니다.

기본 요건 리소스

이 튜토리얼을 시작하기 전에 다음 리소스를 만들어야 합니다. 다음 ID와 위치로 리소스를 만드는 것이 좋지만, 원하는 ID와 위치를 선택해도 됩니다. 이 튜토리얼에서는 다음 리소스를 사용하여 VPC 네트워크 1에 두 개의 Private Service Connect 연결을 설정합니다.

리소스 ID 예시 리소스 유형 전체 경로 예 설명
my-project-1 Google Cloud 프로젝트 해당 사항 없음 Memorystore 인스턴스가 이 프로젝트에 있습니다.
my-network-1 VPC 네트워크 projects/my-project-1/global/networks/my-network-1 이 튜토리얼에서는 이 네트워크에 Private Service Connect 연결 2개를 설정합니다.
my-subnet-1 VPC 서브넷 projects/my-project-1/regions/us-central1/subnetworks/my-subnet-1 이 튜토리얼에서는 이 서브넷에서 IP 주소 2개를 예약합니다.

이 튜토리얼에서는 다음 리소스를 사용하여 VPC 네트워크 2에 두 개의 Private Service Connect 연결을 만듭니다.

리소스 ID 예시 리소스 유형 전체 경로 예 설명
my-project-2 Google Cloud 프로젝트 해당 사항 없음 이 튜토리얼에서는 두 번째 네트워크와 두 번째 서브네트워크를 만드는 프로젝트입니다. 하지만 원하는 경우 두 번째 네트워크와 서브넷을 첫 번째 네트워크와 동일한 프로젝트에 둘 수 있습니다.
my-network-2 VPC 네트워크 projects/my-project-2/global/networks/my-network-2 이 튜토리얼에서는 이 네트워크에 Private Service Connect 엔드포인트 2개를 만듭니다.
my-subnet-2 VPC 서브넷 projects/my-project-2/regions/us-central1/subnetworks/my-subnet-2 이 튜토리얼에서는 이 서브넷에서 IP 주소 2개를 예약합니다.

API 사용 설정

Compute Engine 네트워킹, Redis용 Memorystore 클러스터, Private Service Connect 리소스를 관리하는 데 필요한 다음 API를 사용 설정합니다.

gcloud

프로젝트 1과 프로젝트 2 모두에서 API를 사용 설정하려면 다음 명령어를 실행하세요.

gcloud services enable --project=PROJECT_1_ID compute.googleapis.com
gcloud services enable --project=PROJECT_2_ID compute.googleapis.com
gcloud services enable --project=PROJECT_1_ID redis.googleapis.com
gcloud services enable --project=PROJECT_2_ID redis.googleapis.com
gcloud services enable --project=PROJECT_1_ID servicedirectory.googleapis.com
gcloud services enable --project=PROJECT_2_ID servicedirectory.googleapis.com

1단계: 인스턴스 만들기

이 가이드에서는 자동으로 등록된 Private Service Connect 연결이 없는 Memorystore 인스턴스의 연결을 설정하는 방법을 보여줍니다. 서비스 연결 정책이 있어도 되지만, 사용자가 Private Service Connect 연결을 등록하는 절차를 따르는 경우에는 서비스 연결 정책이 필요하지 않습니다.

Private Service Connect 연결이 자동으로 생성되고 등록되지 않도록 하려면 다음 예와 같이 네트워크를 지정하지 않고 create 명령어를 실행하세요.

gcloud

Private Service Connect 연결을 자동으로 만들지 않고 인스턴스를 만들려면 --network 매개변수를 사용하지 않고 다음과 같이 gcloud redis cluster create 명령어를 실행합니다.

gcloud redis clusters create INSTANCE_ID \
--region=REGION_ID \
--project=PROJECT_1_ID \
--replica-count=REPLICA_COUNT \
--node-type=NODE_TYPE \
--shard-count=SHARD_COUNT

다음을 바꿉니다.

  • INSTANCE_ID는 만들려는 Memorystore for Redis Cluster 인스턴스의 ID입니다. 인스턴스 ID는 1~63자(영문 기준)여야 하며 소문자, 숫자 또는 하이픈만 사용해야 합니다. 소문자로 시작하고 소문자나 숫자로 끝나야 합니다.

  • REGION_ID: 인스턴스를 배치할 리전

  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.

  • REPLICA_COUNT는 선택한 복제본 수(샤드당)입니다. 허용되는 값은 0, 1, 2입니다.

  • NODE_TYPE은 선택한 노드 유형입니다. 허용되는 값은 다음과 같습니다.

    • redis-shared-core-nano

    • redis-standard-small

    • redis-highmem-medium

    • redis-highmem-xlarge

  • SHARD_COUNT는 인스턴스의 샤드 수를 결정합니다. 샤드 개수는 클러스터 데이터를 저장하기 위한 총 메모리 용량을 결정합니다. 클러스터 사양에 대한 자세한 내용은 클러스터 및 노드 사양을 참고하세요.

예를 들면 다음과 같습니다.

gcloud redis clusters create my-instance \
--region=us-central1 \
--replica-count=2 \
--node-type=redis-highmem-medium \
--shard-count=8

2단계: 서비스 연결 경로 기록

Memorystore 인스턴스를 만든 후 Memorystore 인스턴스의 두 서비스 연결 URI를 기록해 둡니다. 이러한 서비스 연결 URI를 사용하여 Private Service Connect 연결을 설정합니다.

gcloud

Private Service Connect가 사용 설정된 인스턴스에 대한 요약 정보를 보려면 pscServiceAttachments 필드를 찾습니다. 이 필드에는 인스턴스의 서비스 연결을 가리키는 두 개의 URI가 표시됩니다. 이 정보를 보려면 gcloud redis clusters describe 명령어를 사용하세요.

gcloud redis clusters describe INSTANCE_ID --project=PROJECT_1_ID --region=REGION_ID

다음을 바꿉니다.

  • INSTANCE_ID은 Memorystore 인스턴스의 이름입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • REGION_ID은 인스턴스가 있는 리전의 ID입니다.

다음은 이 명령어의 샘플 출력을 보여줍니다.

gcloud redis clusters describe my-instance \
--project=my-project-1 --region=us-central1

...

pscServiceAttachments:
- connectionType: CONNECTION_TYPE_DISCOVERY
  serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
- serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2

3단계: 첫 번째 VPC 네트워크의 Private Service Connect 연결 설정 및 등록

이 섹션에서는 첫 번째 VPC 네트워크에 필요한 두 연결을 설정하는 방법을 보여줍니다. 연결을 설정하려는 모든 VPC에 대해 이 프로세스를 반복해야 합니다. 예를 들어 이 튜토리얼의 뒷부분에서 이 단계가 다시 반복되지만 두 번째 VPC 네트워크에 필요한 새 연결에 대해서입니다.

네트워크 1의 Private Service Connect 엔드포인트 만들기

이 섹션에서는 네트워크 1에 Private Service Connect 엔드포인트 2개를 만드는 데 필요한 작업을 설명합니다.

네트워크 1의 IP 주소 예약

그런 다음 네트워크 1에서 IP 주소 두 개를 예약합니다.

IP 주소 1 예약

gcloud

IP 주소 1을 예약하려면 gcloud compute addresses create 명령어를 실행합니다.

gcloud compute addresses create IP_ADDRESS_1_ID \
--project=PROJECT_1_ID \
--addresses=IP_ADDRESS_1 \
--region=REGION_ID \
--subnet=projects/PROJECT_1_ID/regions/REGION_ID/subnetworks/SUBNET_1_ID \
--purpose=GCE_ENDPOINT

다음을 바꿉니다.

  • IP_ADDRESS_1_ID는 IP 주소에 부여하는 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • IP_ADDRESS_1기본 리소스의 일부로 예약한 SUBNET_1_ID 범위 내에서 선택한 IP 주소입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SUBNET_1_ID기본 요건 리소스의 일부로 프로젝트 1의 네트워크 1에서 예약한 서브넷의 ID입니다.

예를 들면 다음과 같습니다.

gcloud compute addresses create my-ip-address-1 \
--project=my-project-1 \
--addresses=10.2.5.9 \
--region=us-central1 \
--subnet=projects/my-project-1/regions/us-central1/subnetworks/my-subnet-1 \
--purpose=GCE_ENDPOINT
IP 주소 예약 2

gcloud

IP 주소 2를 예약하려면 gcloud compute addresses create 명령어를 실행합니다.

gcloud compute addresses create IP_ADDRESS_2_ID \
--project=PROJECT_1_ID \
--addresses=IP_ADDRESS_2 \
--region=REGION_ID \
--subnet=projects/PROJECT_1_ID/regions/REGION_ID/subnetworks/SUBNET_1_ID \
--purpose=GCE_ENDPOINT

다음을 바꿉니다.

  • IP_ADDRESS_2_ID는 IP 주소에 부여하는 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • IP_ADDRESS_2기본 리소스의 일부로 예약한 SUBNET_1_ID 범위 내에서 선택한 IP 주소입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SUBNET_1_ID기본 요건 리소스의 일부로 프로젝트 1의 네트워크 1에서 예약한 서브넷의 ID입니다.

네트워크 1의 전달 규칙 추가

그런 다음 IP 주소를 Memorystore 인스턴스의 서비스 연결에 연결하는 전달 규칙을 만듭니다.

IP 1에 대한 전달 규칙 1 추가

gcloud

IP 1의 전달 규칙을 추가하려면 gcloud compute forwarding-rules create 명령어를 실행합니다.

gcloud compute forwarding-rules create FORWARDING_RULE_1_NAME \
--address=IP_ADDRESS_1_ID \
--network=projects/PROJECT_1_ID/global/networks/NETWORK_1_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_1 \
--project=PROJECT_1_ID \
--allow-psc-global-access

다음을 바꿉니다.

  • FORWARDING_RULE_1_NAME은 만들려는 전달 규칙에 지정하는 이름입니다.
  • IP_ADDRESS_1_IDIP 주소 예약 섹션에서 예약한 IP 주소의 ID입니다.
  • NETWORK_1_ID은 첫 번째 네트워크의 ID입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SERVICE_ATTACHMENT_1CONNECTION_TYPE_DISCOVERY 필드 뒤에 나열된 서비스 연결 경로 기록에서 기록한 서비스 연결입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.

예를 들면 다음과 같습니다.

gcloud compute forwarding-rules create my-forwarding-rule-1 \
--address=my-ip-address-1 \
--network=projects/my-project-1/global/networks/my-network-1 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa \
--project=my-project-1 \
--allow-psc-global-access
IP 2에 대한 전달 규칙 2 추가

gcloud

IP 2의 전달 규칙을 추가하려면 gcloud compute forwarding-rules create 명령어를 실행합니다.

gcloud compute forwarding-rules create FORWARDING_RULE_2_NAME \
--address=IP_ADDRESS_2_ID \
--network=projects/PROJECT_1_ID/global/networks/NETWORK_1_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_2 \
--project=PROJECT_1_ID \
--allow-psc-global-access

다음을 바꿉니다.

  • FORWARDING_RULE_2_NAME은 만들려는 전달 규칙에 지정하는 이름입니다.
  • IP_ADDRESS_2_IDIP 주소 예약 섹션에서 예약한 IP 주소의 ID입니다.
  • NETWORK_1_ID은 첫 번째 네트워크의 ID입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SERVICE_ATTACHMENT_2서비스 연결 경로 기록에서 기록한 두 번째 서비스 연결입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.

예를 들면 다음과 같습니다.

gcloud compute forwarding-rules create my-forwarding-rule-2 \
--address=my-ip-address-2 \
--network=projects/my-project-1/global/networks/my-network-1 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa-2 \
--project=my-project-1 \
--allow-psc-global-access

네트워크 1의 Memorystore 인스턴스에 Private Service Connect 연결 등록

이 섹션에서는 Memorystore 인스턴스에 연결을 등록하기 위해 따라야 하는 단계를 보여줍니다. 먼저 전달 규칙의 연결 ID와 프로젝트 ID를 가져와야 합니다.

그런 다음 Memorystore 인스턴스에 Private Service Connect 연결 정보를 등록하여 연결을 사용 설정합니다.

네트워크 1의 전달 규칙 연결 ID와 프로젝트 ID 가져오기

다음으로 각 전달 규칙의 pscConnectionId 값을 가져옵니다. 값을 기록해 둡니다.

Private Service Connect 연결 ID 1 가져오기

gcloud

pscConnectionId 값과 기타 전달 규칙 요약 정보를 확인하려면 gcloud compute forwarding-rules describe 명령어를 실행합니다.

gcloud compute forwarding-rules describe FORWARDING_RULE_1_NAME \
--project=PROJECT_1_ID \
--region=REGION_ID

다음을 바꿉니다.

  • FORWARDING_RULE_1_NAME은 첫 번째 전달 규칙의 이름입니다.
  • PROJECT_1_ID은 전달 규칙이 포함된 Google Cloud 프로젝트의 ID입니다.

다음 예시는 이 명령어의 샘플 출력을 보여줍니다.

gcloud compute forwarding-rules describe my-forwarding-rule-1 \
--project=my-project-1 \
--region=us-central1

...

pscConnectionId: '415109836469698'
Private Service Connect 연결 ID 2 가져오기

gcloud

pscConnectionId 값과 기타 전달 규칙 요약 정보를 확인하려면 gcloud compute forwarding-rules describe 명령어를 실행합니다.

gcloud compute forwarding-rules describe FORWARDING_RULE_2_NAME \
--project=PROJECT_1_ID \
--region=REGION_ID

다음을 바꿉니다.

  • FORWARDING_RULE_2_NAME은 두 번째 전달 규칙의 이름입니다.
  • PROJECT_1_ID은 전달 규칙이 포함된 Google Cloud 프로젝트의 ID입니다.

VPC 네트워크 1의 Private Service Connect 연결 정보 등록

gcloud

각 연결을 등록하려면 Private Service Connect 연결 ID, IP 주소, 네트워크 경로, 전달 규칙 경로/URI, 대상 서비스 연결을 제공해야 합니다. gcloud redis clusters add-cluster-endpoints 명령어를 실행하여 이를 수행합니다.

gcloud redis clusters add-cluster-endpoints INSTANCE_ID \
--region=REGION_ID \
--project=PROJECT_1_ID \
--cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_1_ID","address":"IP_ADDRESS_1","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwarding-rule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_1_NAME","service-attachment":"SERVICE_ATTACHMENT_1"},{"psc-connection-id":"PSC_CONNECTION_2_ID","address":"IP_ADDRESS_2","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwarding-rule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","service-attachment":"SERVICE_ATTACHMENT_2"}]]'

다음을 바꿉니다.

  • INSTANCE_ID는 Memorystore for Redis Cluster 인스턴스의 ID입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전의 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • PSC_CONNECTION_1_ID전달 규칙 연결 ID 가져오기 섹션에서 확인한 첫 번째 Private Service Connect 연결 ID입니다.
  • IP_ADDRESS_1은 예약한 첫 번째 IP 주소의 주소입니다.
  • NETWORK_1_ID은 네트워크 1의 ID입니다.
  • FORWARDING_RULE_1_NAME은 만든 첫 번째 전달 규칙의 이름입니다.
  • SERVICE_ATTACHMENT_1FORWARDING RULE_1_NAME과 연결된 첫 번째 서비스 연결입니다.
  • PSC_CONNECTION_2_ID전달 규칙 연결 ID 가져오기에서 확인한 두 번째 Private Service Connect 연결 ID입니다.
  • IP_ADDRESS_2은 예약한 두 번째 IP 주소입니다.
  • FORWARDING_RULE_2_NAME은 생성한 두 번째 전달 규칙의 이름입니다.
  • SERVICE_ATTACHMENT_2FORWARDING_RULE_2_NAME와 연결된 두 번째 서비스 연결입니다.

예를 들면 다음과 같습니다.

gcloud redis clusters add-cluster-endpoints my-instance \
--region=us-central-1 \
--project=my-project1 \
--cluster-endpoint='["psc-connection":[{"psc-connection-id":"41510983646969883","address":"10.2.5.9","network":"projects/my-project-1/global/networks/my-network-1","forwarding-rule":"projects/1048073346231/regions/us-central1/forwardingRules/my-forwarding-rule-1","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"},{"psc-connection-id":"41510983646969234","address":"10.2.5.11","network":"projects/my-project-1/global/networks/my-network-1","forwarding-rule":"projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}]]'

4단계: 두 번째 VPC 네트워크의 Private Service Connect 연결 설정 및 등록

이 섹션에서는 두 번째 VPC 네트워크에 필요한 두 연결을 설정하는 방법을 보여줍니다.

네트워크 2의 Private Service Connect 엔드포인트 만들기

이 섹션에서는 네트워크 2에 엔드포인트 2개를 만들기 위해 취해야 하는 조치를 설명합니다.

네트워크 2의 IP 주소 예약

그런 다음 네트워크 2에서 IP 주소 2개를 예약합니다.

IP 주소 3 예약

gcloud

IP 주소 3을 예약하려면 gcloud compute addresses create 명령어를 실행합니다.

gcloud compute addresses create IP_ADDRESS_3_ID \
--project=PROJECT_2_ID \
--addresses=IP_ADDRESS_3 \
--region=REGION_ID \
--subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \
--purpose=GCE_ENDPOINT

다음을 바꿉니다.

  • IP_ADDRESS_3_ID는 IP 주소에 부여하는 ID입니다.
  • PROJECT_2_ID는 프로젝트 2의 ID입니다. 두 번째 VPC 네트워크 및 서브네트워크를 만드는 프로젝트입니다.
  • IP_ADDRESS_3기본 리소스의 일부로 예약한 SUBNET_2_ID 범위 내에서 선택한 IP 주소입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SUBNET_2_ID기본 요건 리소스의 일부로 프로젝트 2의 네트워크 2에서 예약한 서브넷의 ID입니다.
IP 주소 4 예약

gcloud

IP 주소 4를 예약하려면 gcloud compute addresses create 명령어를 실행합니다.

gcloud compute addresses create IP_ADDRESS_4_ID \
--project=PROJECT_2_ID \
--addresses=IP_ADDRESS_4 \
--region=REGION_ID \
--subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \
--purpose=GCE_ENDPOINT

다음을 바꿉니다.

  • IP_ADDRESS_4_ID는 IP 주소에 부여하는 ID입니다.
  • PROJECT_2_ID는 프로젝트 2의 ID입니다. 두 번째 VPC 네트워크 및 서브네트워크를 만드는 프로젝트입니다.
  • IP_ADDRESS_4기본 리소스의 일부로 예약한 SUBNET_2_ID 범위 내에서 선택한 IP 주소입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SUBNET_2_ID기본 요건 리소스의 일부로 프로젝트 2의 네트워크 2에서 예약한 서브넷의 ID입니다.

네트워크 2에 대한 전달 규칙 추가

그런 다음 IP 주소를 Memorystore 인스턴스의 서비스 연결에 연결하는 전달 규칙을 만듭니다.

IP 3에 전달 규칙 3 추가

gcloud

IP 3의 전달 규칙을 추가하려면 gcloud compute forwarding-rules create 명령어를 실행합니다.

gcloud compute forwarding-rules create FORWARDING_RULE_3_NAME \
--address=IP_ADDRESS_3_ID \
--network=projects/PROJECT_2_ID/global/networks/NETWORK_2_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_1 \
--project=PROJECT_2_ID \
--allow-psc-global-access

다음을 바꿉니다.

  • FORWARDING_RULE_3_NAME은 만들려는 전달 규칙에 지정하는 이름입니다.
  • IP_ADDRESS_3_IDIP 주소 예약 섹션에서 예약한 IP 주소의 ID입니다.
  • NETWORK_2_ID는 두 번째 네트워크의 ID입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SERVICE_ATTACHMENT_1서비스 연결 경로 기록에서 기록한 첫 번째 서비스 연결입니다.
  • PROJECT_2_ID은 두 번째 프로젝트입니다.

예를 들면 다음과 같습니다.

gcloud compute forwarding-rules create my-forwarding-rule-3 \
--address=my-ip-address-3 \
--network=projects/my-project-2/global/networks/my-network-2 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa \
--project=my-project-2 \
--allow-psc-global-access
IP 4에 대한 전달 규칙 4 추가

gcloud

IP 4의 전달 규칙을 추가하려면 gcloud compute forwarding-rules create 명령어를 실행합니다.

gcloud compute forwarding-rules create FORWARDING_RULE_4_NAME \
--address=IP_ADDRESS_4_ID \
--network=projects/PROJECT_2_ID/global/networks/NETWORK_2_ID \
--region=REGION_ID \
--target-service-attachment=SERVICE_ATTACHMENT_2 \
--project=PROJECT_2_ID \
--allow-psc-global-access

다음을 바꿉니다.

  • FORWARDING_RULE_4_NAME은 만들려는 전달 규칙에 지정하는 이름입니다.
  • IP_ADDRESS_4_IDIP 주소 예약 섹션에서 예약한 IP 주소의 ID입니다.
  • NETWORK_2_ID는 두 번째 네트워크의 ID입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전입니다.
  • SERVICE_ATTACHMENT_2서비스 연결 경로 기록에서 기록한 두 번째 서비스 연결입니다.
  • PROJECT_2_ID은 두 번째 프로젝트입니다.

예를 들면 다음과 같습니다.

gcloud compute forwarding-rules create my-forwarding-rule-4 \
--address=my-ip-address-4 \
--network=projects/my-project-2/global/networks/my-network-2 \
--region=us-central1 \
--target-service-attachment=projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-a0583920-edef-42-psc-sa-2 \
--project=my-project-2 \
--allow-psc-global-access

네트워크 2의 Memorystore 인스턴스에 Private Service Connect 연결 등록

이 섹션에서는 Memorystore 인스턴스에 연결을 등록하기 위해 따라야 하는 단계를 보여줍니다. 먼저 전달 규칙의 연결 ID와 프로젝트 ID를 가져와야 합니다.

그런 다음 Memorystore 인스턴스에 Private Service Connect 연결 정보를 등록하여 연결을 사용 설정합니다.

네트워크 2의 전달 규칙 연결 ID와 프로젝트 ID 가져오기

다음으로 각 전달 규칙의 pscConnectionId 값을 가져옵니다. 값을 기록해 둡니다.

Private Service Connect 연결 ID 3 가져오기

gcloud

pscConnectionId 값과 기타 전달 규칙 요약 정보를 확인하려면 gcloud compute forwarding-rules describe 명령어를 실행합니다.

gcloud compute forwarding-rules describe FORWARDING_RULE_3_NAME \
--project=PROJECT_2_ID \
--region=REGION_ID

다음을 바꿉니다.

  • FORWARDING_RULE_3_NAME은 세 번째 전달 규칙의 이름입니다.
  • PROJECT_2_ID은 전달 규칙이 포함된 Google Cloud 프로젝트의 ID입니다.

다음 예시는 이 명령어의 샘플 출력을 보여줍니다.

gcloud compute forwarding-rules describe my-forwarding-rule-3 \
--project=my-project-2 \
--region=us-central1

...

pscConnectionId: '94710983646969729'
Private Service Connect 연결 ID 4 가져오기

gcloud

pscConnectionId 값과 기타 전달 규칙 요약 정보를 확인하려면 gcloud compute forwarding-rules describe 명령어를 실행합니다.

gcloud compute forwarding-rules describe FORWARDING_RULE_4_NAME \
--project=PROJECT_2_ID \
--region=REGION_ID

다음을 바꿉니다.

  • FORWARDING_RULE_4_NAME은 네 번째 전달 규칙의 이름입니다.
  • PROJECT_2_ID은 전달 규칙이 포함된 Google Cloud 프로젝트의 ID입니다.

VPC 네트워크 2의 Private Service Connect 연결 정보 등록

gcloud

각 연결을 등록하려면 Private Service Connect 연결 ID, IP 주소, 네트워크 경로, 전달 규칙 경로/URI, 대상 서비스 연결을 제공해야 합니다. gcloud redis clusters add-cluster-endpoints 명령어를 실행하여 이를 수행합니다.

gcloud redis clusters add-cluster-endpoints INSTANCE_ID \
--region=REGION_ID \
--project=PROJECT_1_ID \
--cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_3_ID","address":"IP_ADDRESS_3","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwarding-rule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_3_NAME","service-attachment":"SERVICE_ATTACHMENT_1"},{"psc-connection-id":"PSC_CONNECTION_4_ID","address":"IP_ADDRESS_4","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwarding-rule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_4_NAME","service-attachment":"SERVICE_ATTACHMENT_2"}]]'

다음을 바꿉니다.

  • INSTANCE_ID는 Memorystore for Redis Cluster 인스턴스의 ID입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전의 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • PROJECT_2_ID는 프로젝트 2의 ID입니다. 두 번째 VPC 네트워크 및 서브네트워크를 만드는 프로젝트입니다.
  • PSC_CONNECTION_3_ID네트워크 2의 전달 규칙 연결 ID 가져오기에서 확인한 Private Service Connect 연결 3입니다.
  • IP_ADDRESS_3은 예약한 세 번째 IP 주소의 주소입니다.
  • NETWORK_2_ID는 네트워크 2의 ID입니다.
  • FORWARDING_RULE_3_NAME은 만든 세 번째 전달 규칙의 이름입니다.
  • SERVICE_ATTACHMENT_1FORWARDING RULE_3_NAME과 연결된 첫 번째 서비스 연결입니다.
  • PSC_CONNECTION_4_ID네트워크 2의 전달 규칙 연결 ID 가져오기에서 확인한 Private Service Connect 연결 4입니다.
  • IP_ADDRESS_4은 예약한 네 번째 IP 주소의 주소입니다.
  • FORWARDING_RULE_4_NAME은 만든 네 번째 전달 규칙의 이름입니다.
  • SERVICE_ATTACHMENT_2FORWARDING_RULE_4_NAME와 연결된 두 번째 서비스 연결입니다.

예를 들면 다음과 같습니다.

gcloud redis clusters add-cluster-endpoints my-instance \
--region=us-central-1 \
--project=my-project-1 \
--cluster-endpoint='[psc-connection:[{"psc-connection-id":"94710983646969729","address":"10.142.0.10","network":"projects/my-project-2/global/networks/my-network-2","forwarding-rule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"},{"psc-connection-id":"86510983646969993","address":"10.142.0.12","network":"projects/my-project-2/global/networks/my-network-2","forwarding-rule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}]]'

5단계: 클라이언트 연결 설정

이 섹션에서는 이 가이드의 네트워크에 연결할 수 있도록 클라이언트를 구성하는 방법을 설명합니다.

Private Service Connect 연결 엔드포인트 정보 기록

그런 다음 이 튜토리얼에서 설정한 각 네트워크의 IP 주소 2개를 기록합니다. Memorystore용으로 설정한 각 네트워크에는 검색 연결 엔드포인트가 있습니다.

gcloud

네트워크의 Private Service Connect 연결 엔드포인트 정보를 보려면 gcloud redis clusters describe 명령어를 실행합니다.

gcloud redis clusters describe INSTANCE_ID \
--region=REGION_ID \
--project=PROJECT_1_ID

출력에 clusterEndpoints 목록이 포함됩니다. 각 clusterEndpoint에는 사용자가 등록한 Private Service Connect 연결이 두 개 있습니다.

CONNECTION_TYPE_DISCOVERY 유형의 Private Service Connect 연결에 해당하는 IP 주소를 기록해 둡니다. 이 튜토리얼에서는 설정한 두 네트워크 각각에 하나씩 있습니다.

예를 들어 다음은 기록해야 하는 IP 주소가 포함된 gcloud redis clusters describe 명령어의 샘플 출력입니다.

clusterEndpoints:
- connections:
  - pscConnection:
      address: 10.2.5.09
      connectionType: CONNECTION_TYPE_DISCOVERY
      forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-1
      network: projects/my-project-1/global/networks/my-network-1
      projectId: my-network-1
      pscConnectionId: '41510983646969883'
      pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
  - pscConnection:
      address: 10.2.5.11
      forwardingRule: projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2
      network: projects/my-project-1/global/networks/my-network-1
      projectId: my-project-1
      pscConnectionId: '41510983646969234'
      pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2
- connections:
  - pscConnection:
      address: 10.142.0.10
      connectionType: CONNECTION_TYPE_DISCOVERY
      forwardingRule: projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3
      network: projects/my-project-2/global/networks/my-network-2
      projectId: my-network-2
      pscConnectionId: '94710983646969729'
      pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa
  - pscConnection:
      address: 10.142.0.12
      forwardingRule: projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4
      network: projects/my-project-2/global/networks/my-network-2
      projectId: my-project-2
      pscConnectionId: '86510983646969993'
      pscConnectionStatus: PSC_CONNECTION_STATUS_ACTIVE
      serviceAttachment: projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2

위 출력에서 기록해 둘 검색 Private Service Connect 연결의 IP 주소 값은 10.2.5.0910.142.0.10입니다.

클라이언트 구성

다음과 같이 클라이언트를 구성합니다.

  • 네트워크 1의 탐색 IP를 사용하여 네트워크 1에서 클라이언트 연결을 구성합니다. 이 IP 주소는 이전 단계에서 기록한 IP 주소입니다. 이 튜토리얼에 나온 예시의 경우 값은 10.2.5.09입니다.

  • 네트워크 2의 탐색 IP를 사용하여 네트워크 2에서 클라이언트 연결을 구성합니다. 이 IP 주소는 이전 단계에서 기록한 IP 주소입니다. 이 튜토리얼에 나온 예시의 경우 값은 10.142.0.10입니다.

Memorystore 인스턴스에 연결하는 방법은 redis-cli를 사용하여 Compute Engine VM에서 연결을 참고하세요.

Private Service Connect 연결 삭제

Memorystore 인스턴스를 삭제하려면 먼저 인스턴스와 연결된 모든 Private Service Connect 연결을 삭제해야 합니다. 이렇게 하려면 이 튜토리얼에서 설정한 전달 규칙을 삭제하고 엔드포인트를 등록 해제해야 합니다. 이 섹션에서는 먼저 모든 전달 규칙을 삭제한 다음 엔드포인트를 등록 취소하는 방법을 안내합니다. 하지만 원하는 경우 한 번에 하나의 네트워크에 대해 전달 규칙을 삭제하고 엔드포인트를 등록 해제할 수 있습니다.

또한 원하는 경우 예약된 IP 주소를 삭제하여 나중에 사용할 수 있도록 해제할 수 있습니다.

전달 규칙 삭제

이 섹션에서는 이 튜토리얼에서 이전에 만든 전달 규칙을 삭제하는 방법을 설명합니다.

전달 규칙 1 삭제

gcloud

전달 규칙을 삭제하려면 gcloud compute forwarding-rules delete 명령어를 실행합니다.

gcloud compute forwarding-rules delete FORWARDING_RULE_1_NAME \
--region=REGION_ID \
--project=PROJECT_1_ID

다음을 바꿉니다.

  • FORWARDING_RULE_1_NAME은 첫 번째 전달 규칙의 이름입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.

전달 규칙 2 삭제

gcloud

전달 규칙을 삭제하려면 gcloud compute forwarding-rules delete 명령어를 실행합니다.

gcloud compute forwarding-rules delete FORWARDING_RULE_2_NAME \
--region=REGION_ID \
--project=PROJECT_1_ID

다음을 바꿉니다.

  • FORWARDING_RULE_2_NAME은 두 번째 전달 규칙의 이름입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.

전달 규칙 3 삭제

gcloud

전달 규칙을 삭제하려면 gcloud compute forwarding-rules delete 명령어를 실행합니다.

gcloud compute forwarding-rules delete FORWARDING_RULE_3_NAME \
--region=REGION_ID \
--project=PROJECT_2_ID

다음을 바꿉니다.

  • FORWARDING_RULE_3_NAME은 세 번째 전달 규칙의 이름입니다.
  • PROJECT_2_ID는 프로젝트 2의 ID입니다. 두 번째 VPC 네트워크 및 서브네트워크를 만드는 프로젝트입니다.

전달 규칙 4 삭제

gcloud

전달 규칙을 삭제하려면 gcloud compute forwarding-rules delete 명령어를 실행합니다.

gcloud compute forwarding-rules delete FORWARDING_RULE_4_NAME \
--region=REGION_ID \
--project=PROJECT_2_ID

다음을 바꿉니다.

  • FORWARDING_RULE_4_NAME은 네 번째 전달 규칙의 이름입니다.
  • PROJECT_2_ID는 프로젝트 2의 ID입니다. 두 번째 VPC 네트워크 및 서브네트워크를 만드는 프로젝트입니다.

Private Service Connect 엔드포인트 등록 해제

이 섹션에서는 이 튜토리얼의 앞부분에서 등록한 Private Service Connect 엔드포인트를 등록 해제하는 방법을 설명합니다.

VPC 네트워크 1 및 2의 엔드포인트 등록 취소

gcloud

Memorystore 인스턴스에서 엔드포인트 정보를 등록 해제하려면 gcloud redis clusters remove-cluster-endpoints 명령어를 실행합니다.

gcloud redis clusters remove-cluster-endpoints INSTANCE_ID \
--region=REGION_ID \
--project=PROJECT_1_ID \
--cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_1_ID"},{"psc-connection-id":"PSC_CONNECTION_2_ID"}]]' \
--cluster-endpoint='["psc-connection":[{"psc-connection-id":"PSC_CONNECTION_3_ID"},{"psc-connection-id":"PSC_CONNECTION_4_ID"}]]'

다음을 바꿉니다.

  • INSTANCE_ID은 엔드포인트를 등록 해제할 인스턴스의 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • REGION_ID은 Memorystore 인스턴스가 있는 리전의 ID입니다.
  • PSC_CONNECTION_1_ID전달 규칙 연결 ID 가져오기에서 확인한 첫 번째 Private Service Connect 연결 ID입니다.
  • PSC_CONNECTION_2_ID전달 규칙 연결 ID 가져오기에서 확인한 두 번째 Private Service Connect 연결 ID입니다.
  • PSC_CONNECTION_3_ID전달 규칙 연결 ID 가져오기에서 확인한 세 번째 Private Service Connect 연결 ID입니다.
  • PSC_CONNECTION_4_ID전달 규칙 연결 ID 가져오기에서 확인한 네 번째 Private Service Connect 연결 ID입니다.

위 명령어는 이 가이드에서 만든 모든 연결을 등록 해제합니다. 연결 중 하나만 등록 해제하려면 삭제할 연결의 연결 ID만 지정하세요.

Redis용 Memorystore 클러스터 인스턴스 삭제

Memorystore 인스턴스를 삭제하려면 먼저 Private Service Connect 엔드포인트를 등록 해제해야 합니다.

gcloud

Redis용 Memorystore 클러스터 인스턴스를 삭제하려면 gcloud redis clusters delete 명령어를 실행합니다.

gcloud redis clusters delete INSTANCE_ID \
--region=REGION_ID \
--project=PROJECT_1_ID

다음을 바꿉니다.

  • INSTANCE_ID: 인스턴스의 ID
  • REGION_ID은 Memorystore 인스턴스가 있는 리전의 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.