Private Service Connect 구성

이 페이지에서는 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 엔드포인트를 구성하는 데 필요한 권한이 포함되어 있습니다.

엔드포인트 만들기

  1. 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 형식을 사용합니다.

  2. 엔드포인트에 할당할 내부 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
    
  3. 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 클러스터 인스턴스에 연결할 준비가 되었습니다.