사용자가 등록한 Private Service Connect 연결을 사용하여 여러 VPC 네트워크 설정

이 페이지에서는 여러 Virtual Private Cloud (VPC) 네트워크와 Valkey 인스턴스의 새 Memorystore 연결을 설정하는 방법을 설명합니다. 이렇게 하려면 다음 단계를 따르세요.

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

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

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

이미 자동으로 등록된 Private Service Connect 연결이 있는 인스턴스에 여러 VPC 네트워킹을 설정하는 방법에 관한 안내는 자동으로 등록된 연결로 프로비저닝된 인스턴스에 여러 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/memorystore.admin Memorystore for Valkey 인스턴스의 전체 제어 권한을 제공하고 수명 주기 동안 인스턴스를 제어합니다.
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 연결 2개를 설정합니다.

리소스 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 연결 2개를 만듭니다.

리소스 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 네트워킹, Memorystore for Valkey, 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 memorystore.googleapis.com
gcloud services enable --project=PROJECT_2_ID memorystore.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 또는 --endpoints 매개변수를 사용하지 않고 gcloud memorystore instances create 명령어를 실행합니다.

gcloud memorystore instances create INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID \
--replica-count=REPLICA_COUNT \
--shard-count=SHARD_COUNT

다음을 바꿉니다.

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

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

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

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

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

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

gcloud memorystore instances create my-instance \
--location=us-central1 \
--replica-count=2 \
--shard-count=8

2단계: 서비스 첨부파일 경로 확인

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

gcloud

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

gcloud memorystore instances describe INSTANCE_ID --project=PROJECT_1_ID --location=REGION_ID

다음을 바꿉니다.

  • INSTANCE_ID은 Memorystore 인스턴스의 이름입니다.
  • PROJECT_1_ID는 Memorystore 인스턴스가 포함된 프로젝트 1의 ID입니다.
  • REGION_ID: 인스턴스가 위치한 리전의 ID입니다.

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

gcloud memorystore instances describe my-instance \
--project=my-project-1 --location=us-central1

...

pscAttachmentDetails:
- 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 네트워크의 연결 설정 및 등록

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

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

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

네트워크 1의 IP 주소 예약

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

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 연결 등록

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

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

네트워크 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는 전달 규칙이 포함된 프로젝트의 ID입니다. Google Cloud

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

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는 전달 규칙이 포함된 프로젝트의 ID입니다. Google Cloud

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

gcloud

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

  gcloud memorystore instances update INSTANCE_ID \
   --location=REGION_ID \
   --project=PROJECT_1_ID \
   --add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_1_ID","ipAddress":"IP_ADDRESS_1","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_1_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_2_ID","ipAddress":"IP_ADDRESS_2","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'
  

다음을 바꿉니다.

  • INSTANCE_ID는 Memorystore for Valkey 인스턴스의 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 memorystore instances update my-instance \
    --location=us-central-1 \
    --project=my-project-1 \
    --add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"41510983646969883","ipAddress":"10.2.5.9","network":"projects/my-project-1/global/networks/my-network-1","forwardingRule":"projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-1","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"}}, {"pscConnection":{"pscConnectionId":"41510983646969234","ipAddress":"10.2.5.11","network":"projects/my-project-1/global/networks/my-network-1","forwardingRule":"projects/my-project-1/regions/us-central1/forwardingRules/my-forwarding-rule-2","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}}]}]'
    

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

이 섹션에서는 두 번째 VPC 네트워크에 필요한 두 개의 Private Service Connect 연결을 설정하는 방법을 설명합니다.

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

이 섹션에서는 네트워크 2에 Private Service Connect 엔드포인트 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 연결 등록

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

네트워크 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는 전달 규칙이 포함된 프로젝트의 ID입니다. Google Cloud

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

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는 전달 규칙이 포함된 프로젝트의 ID입니다. Google Cloud

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

gcloud

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

gcloud memorystore instances update INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID \
--add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_3_ID","ipAddress":"IP_ADDRESS_3","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_3_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_4_ID","ipAddress":"IP_ADDRESS_4","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_4_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'

다음을 바꿉니다.

  • INSTANCE_ID는 Memorystore for Valkey 인스턴스의 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 memorystore instances my-instance \
--location=us-central-1 \
--project=my-project-1 \
--add-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"94710983646969729","ipAddress":"10.142.0.10","network":"projects/my-project-2/global/networks/my-network-2","forwardingRule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-3","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa"}}, {"pscConnection":{"pscConnectionId":"86510983646969993","ipAddress":"10.142.0.12","network":"projects/my-project-2/global/networks/my-network-2","forwardingRule":"projects/my-project-2/regions/us-central1/forwardingRules/my-forwarding-rule-4","serviceAttachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}}]}]'

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

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

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

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

gcloud

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

gcloud memorystore instances describe INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID

출력에 Endpoints 목록이 포함됩니다. Endpoint마다 사용자가 등록한 Private Service Connect 연결이 두 개 있습니다.

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

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

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

위 출력에서 메모해야 하는 Private Service Connect 연결 검색의 IP 주소 값은 10.2.5.910.142.0.10입니다.

클라이언트 구성

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

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

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

Memorystore 인스턴스에 연결하는 방법은 valkey-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 memorystore instances update --remove-endpoints 명령어를 실행합니다.

gcloud memorystore instances update INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID \
--remove-endpoints='[{"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_1_ID","ipAddress":"IP_ADDRESS_1","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_1_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_2_ID","ipAddress":"IP_ADDRESS_2","network":"projects/PROJECT_1_ID/global/networks/NETWORK_1_ID","forwardingRule":"projects/PROJECT_1_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}, {"connections":[{"pscConnection":{"pscConnectionId":"PSC_CONNECTION_3_ID","ipAddress":"IP_ADDRESS_3","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_3_NAME","serviceAttachment":"SERVICE_ATTACHMENT_1"}}, {"pscConnection":{"pscConnectionId":"PSC_CONNECTION_4_ID","ipAddress":"IP_ADDRESS_4","network":"projects/PROJECT_2_ID/global/networks/NETWORK_2_ID","forwardingRule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_4_NAME","serviceAttachment":"SERVICE_ATTACHMENT_2"}}]}]'

다음을 바꿉니다.

  • INSTANCE_ID는 엔드포인트 등록을 해제할 인스턴스의 ID입니다.
  • PROJECT_1_ID는 프로젝트 1의 ID입니다. Memorystore 인스턴스가 있는 프로젝트입니다.
  • REGION_ID는 Memorystore 인스턴스가 위치한 리전의 ID입니다.
  • 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와 연결된 두 번째 서비스 첨부파일입니다.
  • 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와 연결된 두 번째 서비스 첨부파일입니다.

위 명령어는 이 튜토리얼에서 만든 모든 연결을 등록 취소합니다. 연결 중 하나만 등록 취소하려면 삭제하려는 연결의 연결 ID만 지정합니다.

Memorystore for Valkey 인스턴스 삭제

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

gcloud

Memorystore for Valkey 인스턴스를 삭제하려면 gcloud memorystore instances delete 명령어를 실행합니다.

gcloud memorystore instances delete INSTANCE_ID \
--location=REGION_ID \
--project=PROJECT_1_ID

다음을 바꿉니다.

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