このページでは、Memorystore for Redis Cluster インスタンスの Private Service Connect エンドポイントを構成する方法について説明します。
始める前に
- 既存の Memorystore for Redis Cluster インスタンスがある。
プロジェクトで Compute Engine API を有効にします。
Compute EnginePrivate 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 エンドポイントを構成するために必要な権限が含まれています。
エンドポイントを作成
Memorystore for Redis Cluster インスタンスのサービス アタッチメント ID アドレスを取得します。VARIABLES は適切な値に置き換えます。
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 Cluster インスタンスが配置されているのと同じリージョンに存在している必要があります。
- SUBNET は、エンドポイント IP アドレスのサブネットの名前です。値
default
、または任意のサブネットを使用できます。
次に例を示します。
gcloud compute addresses create cluster-reserved-address \ --region=us-central1 \ --subnet=default
エンドポイントを Memorystore for Redis Cluster のサービス アタッチメントに接続する転送ルールを作成します。
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 Cluster インスタンスが配置されているのと同じリージョンに存在している必要があります。
- 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 Cluster インスタンスに接続する準備が整いました。