이 페이지에서는 Memorystore for Redis 클러스터 인스턴스에 Private Service Connect 엔드포인트를 구성하는 방법을 설명합니다.
시작하기 전에
- 기존 Memorystore for Redis 클러스터 인스턴스가 있어야 합니다.
프로젝트에서 Compute Engine API 사용 설정:
Compute Engine이그레스 방화벽 규칙이 Private Service Connect 엔드포인트의 IP 주소로 들어오는 트래픽을 허용하도록 설정되어 있는지 확인합니다. 묵시적 이그레스 허용 방화벽 규칙은 모든 대상 IP 주소로의 이그레스를 허용합니다.
다음 Identity and Access Management(IAM) 역할 및 권한을 부여합니다.
- redis.admin Memorystore 역할
- compute.networks.use
- compute.addresses.create
- compute.addresses.use
- compute.forwardingRules.create
- compute.forwardingRules.pscCreate
- servicedirectory.namespaces.create
- servicedirectory.services.create
사전 정의된 IAM 역할
roles/redis.admin
에는 Private Service Connect 엔드포인트를 구성하는 데 필요한 권한이 포함되어 있습니다.
엔드포인트 만들기
VARIABLES를 적절한 값으로 바꿔 Memorystore for Redis 클러스터 인스턴스의 서비스 연결 ID 주소를 검색합니다.
gcloud alpha redis clusters describe INSTANCE_ID --region=REGION
서비스 연결 ID를 기록해 둡니다. 서비스 연결 ID는
projects/PROJECT_NUMBER/regions/REGION/serviceAttachments/xxxxxxxxxxxxxxxx-psc-service-attachment
형식을 사용합니다.엔드포인트에 할당할 내부 IP 주소를 예약합니다.
gcloud compute addresses create ADDRESS_NAME \ --region=REGION \ --subnet=SUBNET
각 항목의 의미는 다음과 같습니다.
- ADDRESS_NAME은 예약된 IP 주소에 할당할 이름입니다.
- REGION은 엔드포인트 IP 주소의 리전입니다. 이 리전은 Memorystore for Redis 클러스터 인스턴스가 위치한 리전과 같아야 합니다.
- SUBNET은 엔드포인트 IP 주소의 서브넷 이름입니다.
default
값 또는 선택한 서브넷을 사용할 수 있습니다.
예를 들면 다음과 같습니다.
gcloud compute addresses create cluster-reserved-address \ --region=us-central1 \ --subnet=default
Memorystore for Redis 클러스터 서비스 연결에 엔드포인트를 연결하는 전달 규칙을 만듭니다.
gcloud compute forwarding-rules create ENDPOINT_NAME \ --region=REGION \ --network=NETWORK_NAME \ --address=ADDRESS_NAME \ --target-service-attachment=SERVICE_ATTACHMENT \ [ --service-directory-registration=NAMESPACE_URI ]
각 항목의 의미는 다음과 같습니다.
- ENDPOINT_NAME은 엔드포인트에 할당할 이름입니다.
- REGION은 엔드포인트의 리전입니다. 이 리전은 Memorystore for Redis 클러스터 인스턴스가 위치한 리전과 같아야 합니다.
- NETWORK_NAME은 엔드포인트의 VPC 네트워크 이름입니다.
default
값 또는 선택한 네트워크를 사용할 수 있습니다. - ADDRESS_NAME은 2단계에서 지정한 주소 이름입니다.
- SERVICE_ATTACHMENT는 서비스 제작자의 서비스 연결 URI입니다. 예:
projects/PROJECT_NUMBER/regions/REGION/serviceAttachments/xxxxxxxxxxxxxxxx-psc-service-attachment
NAMESPACE_URI(선택사항)는 사용할 서비스 디렉터리 네임스페이스의 URI입니다. NAMESPACE_URI는 Private Service Connect 엔드포인트를 만들려는 프로젝트와 리전을 참조해야 합니다. 존재하지 않는 네임스페이스를 지정하면 네임스페이스가 생성됩니다.
NAMESPACE_URI의 형식은 다음과 같습니다.
projects/PROJECT_NAME/locations/REGION/namespaces/NAMESPACE
--service-directory-registration
플래그를 생략하면 기본 네임스페이스인goog-psc-default
가 사용됩니다.
예를 들면 다음과 같습니다.
gcloud compute forwarding-rules create my-cluster-endpoint \ --region=us-central1 \ --network=default \ --address=cluster-reserved-address \ --target-service-attachment=projects/PROJECT_NUMBER/regions/us-central1/serviceAttachments/xxxxxxxxxxxxxxxx-psc-service-attachment \
이제 이 가이드의 2단계에서 예약한 IP 주소를 사용하여 Memorystore for Redis 클러스터 인스턴스에 연결할 준비가 되었습니다.