Esta página explica como configurar a conetividade para várias redes da nuvem privada virtual (VPC) para uma instância do Memorystore for Redis Cluster existente que já tenha algumas ligações do Private Service Connect registadas automaticamente. Este tutorial mostra como o fazer através da criação de pontos finais do Private Service Connect numa rede de consumidor, segmentando as associações de serviços da sua instância do Memorystore e registando os componentes na instância. Esta página também explica como ligar o cliente à instância através de ligações do Private Service Connect.
Para obter instruções sobre como configurar várias redes VPC para um novo Memorystore que não seja aprovisionado com ligações Private Service Connect registadas automaticamente, consulte o artigo Configure várias redes VPC com ligações Private Service Connect registadas pelo utilizador.
Para mais informações sobre várias configurações de rede VPC, consulte o artigo Acerca das redes VPC múltiplas.
Resumo dos passos principais
Esta secção apresenta uma lista de resumo dos principais passos neste tutorial para configurar a sua nova ligação do Private Service Connect. Primeiro, deve preparar-se para seguir este tutorial concluindo os passos na secção Antes de começar.
Passos principais
- Passo 1: tome nota dos caminhos dos anexos de serviços
- Passo 2: configure e registe as ligações do Private Service Connect para a sua segunda rede VPC
- Passo 3: configure uma ligação de cliente
Além disso, também pode:
- Elimine as suas ligações do Private Service Connect
- Elimine a instância do Memorystore for Redis Cluster
Antes de começar
Antes de começar, certifique-se de que tem as seguintes funções de IAM e Google Cloud recursos.
Funções de IAM necessárias
ID do recurso de exemplo | Tipo do recurso |
---|---|
roles/redis.admin
|
Fornece controlo total de uma instância do Memorystore for Redis Cluster e controla a instância ao longo do respetivo ciclo de vida. |
roles/servicedirectory.editor
|
Concede-lhe autorização para editar recursos do Service Directory. Esta função é necessária para criar um ponto final do Private Service Connect. |
roles/compute.networkAdmin
|
Concede controlo total sobre a rede VPC que inicia uma ligação a uma instância do Memorystore. Pode criar e gerir endereços IP, regras de firewall e pontos finais do Private Service Connect. Esta função é necessária para criar um ponto final do Private Service Connect. Se usar o Private Service Connect para estabelecer ligação a uma instância do Memorystore a partir de várias redes VPC, cada rede pode ter o seu próprio administrador. |
Recursos pré-requisitos
Tem de criar os seguintes recursos antes de começar este tutorial. Recomendamos que crie os recursos com os seguintes IDs e localizações. No entanto, também pode escolher os seus próprios IDs e localizações. Este tutorial pressupõe que criou uma instância do Memorystore com duas ligações do Private Service Connect registadas automaticamente.
ID do recurso de exemplo | Tipo do recurso | Exemplo de caminho completo | Descrição |
---|---|---|---|
my-memorystore-instance
|
Instância do Memorystore for Redis Cluster | N/A | Para os comandos de exemplo neste tutorial, este valor representa a sua instância existente que já tem uma ligação do Private Service Connect registada automaticamente na rede 1. |
my-network-1
|
Rede da VPC |
projects/my-project-1/global/networks/my-network-1
|
O seu Memorystore tem uma ligação do Private Service Connect registada automaticamente nesta rede |
my-project-1
|
Google Cloud projeto | N/A | A sua instância do Memorystore está localizada neste projeto |
Neste tutorial, vai usar os seguintes recursos para criar duas ligações do Private Service Connect na rede da VPC 2:
ID do recurso de exemplo | Tipo do recurso | Exemplo de caminho completo | Descrição |
---|---|---|---|
my-project-2
|
Google Cloud projeto | N/A | Para este tutorial, este é o projeto onde cria a segunda rede e a segunda sub-rede. No entanto, se quiser, a segunda rede e sub-rede podem estar no mesmo projeto que a primeira rede. |
my-network-2
|
Rede da VPC |
projects/my-project-2/global/networks/my-network-2
|
Neste tutorial, cria 2 pontos finais do Private Service Connect nesta rede |
my-subnet-2
|
Sub-rede de VPC |
projects/my-project-2/regions/us-central1/subnetworks/my-subnet-2
|
Neste tutorial, reserva 2 endereços IP nesta sub-rede |
Ativar APIs
Ative as seguintes APIs necessárias para gerir a rede do Compute Engine, o Memorystore for Redis Cluster e os recursos do Private Service Connect.
gcloud
Para ativar as APIs no projeto 2, execute os seguintes comandos:
gcloud services enable --project=PROJECT_2_ID compute.googleapis.com gcloud services enable --project=PROJECT_2_ID redis.googleapis.com gcloud services enable --project=PROJECT_2_ID servicedirectory.googleapis.com
Passo 1: tome nota dos caminhos de anexos de serviços
Tome nota dos dois URIs de anexos de serviços para a sua instância do Memorystore. Use estes URIs de associação do serviço para configurar novas ligações do Private Service Connect.
gcloud
Para ver informações de resumo sobre uma instância com o Private Service Connect ativado, procure o campo pscServiceAttachments
. Este campo apresenta os dois URIs que apontam para as associações de serviços da instância. Para ver estas informações, use o comando gcloud redis clusters describe
:
gcloud redis clusters describe INSTANCE_ID --project=PROJECT_1_ID --region=REGION_ID
Substitua o seguinte:
- INSTANCE_ID é o nome da sua instância do Memorystore.
- PROJECT_1_ID é o ID do projeto 1 que contém a instância do Memorystore.
- REGION_ID é o ID da região onde a sua instância do Memorystore está localizada.
Segue-se um exemplo de resultado para este comando:
gcloud redis clusters describe my-memorystore-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
Passo 2: configure e registe as ligações do Private Service Connect para a sua segunda rede VPC
Esta secção mostra-lhe como configurar as duas ligações do Private Service Connect necessárias para a sua segunda rede da VPC.
Crie os pontos finais do Private Service Connect para a rede 2
Esta secção explica as ações que tem de realizar para criar 2 pontos finais do Private Service Connect na rede 2.
Reserve endereços IP para a rede 2
Em seguida, reserve 2 endereços IP na rede 2.
Reservar endereço IP 1
gcloud
Para reservar o endereço IP 1, execute o comando gcloud compute addresses create
:
gcloud compute addresses create IP_ADDRESS_1_ID \ --project=PROJECT_2_ID \ --addresses=IP_ADDRESS_1 \ --region=REGION_ID \ --subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \ --purpose=GCE_ENDPOINT
Substitua o seguinte:
- IP_ADDRESS_1_ID é o ID que atribui ao seu endereço IP.
- PROJECT_2_ID é o ID do projeto 2. Este é o projeto onde cria a segunda rede e sub-rede da nuvem virtual privada.
- IP_ADDRESS_1 é um endereço IP à sua escolha dentro do intervalo
SUBNET_2_ID
que reservou como parte dos recursos de pré-requisitos. - REGION_ID é a região onde a sua instância do Memorystore está localizada.
- SUBNET_2_ID é o ID da sub-rede que reservou na rede 2 no projeto 2 como parte dos recursos de pré-requisitos.
Por exemplo:
gcloud compute addresses create my-ip-address-1 \ --project=my-project-1 \ --addresses=10.142.0.10 \ --region=us-central1 \ --subnet=projects/my-project-1/regions/us-central1/subnetworks/my-subnet-1 \ --purpose=GCE_ENDPOINT
Reserve o endereço IP 2
gcloud
Para reservar o endereço IP 2, execute o comando gcloud compute addresses create
:
gcloud compute addresses create IP_ADDRESS_2_ID \ --project=PROJECT_2_ID \ --addresses=IP_ADDRESS_2 \ --region=REGION_ID \ --subnet=projects/PROJECT_2_ID/regions/REGION_ID/subnetworks/SUBNET_2_ID \ --purpose=GCE_ENDPOINT
Substitua o seguinte:
- IP_ADDRESS_2_ID é o ID que atribui ao seu endereço IP.
- PROJECT_2_ID é o ID do projeto 2. Este é o projeto onde criou a segunda rede VPC e sub-rede.
- IP_ADDRESS_2 é um endereço IP à sua escolha dentro do intervalo
SUBNET_2_ID
que reservou como parte dos recursos de pré-requisitos. - REGION_ID é a região onde a sua instância do Memorystore está localizada.
- SUBNET_2_ID é o ID da sub-rede que reservou na rede 2 no projeto 2 como parte dos recursos de pré-requisitos.
Adicione regras de encaminhamento para a rede 2
Em seguida, crie regras de encaminhamento que associem os endereços IP às associações de serviços da instância do Memorystore.
Adicione a regra de encaminhamento 1 para o IP 1
gcloud
Para adicionar uma regra de encaminhamento para o IP 1, execute o comando gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FORWARDING_RULE_1_NAME \ --address=IP_ADDRESS_1_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
Substitua o seguinte:
- FORWARDING_RULE_1_NAME é o nome que atribui à regra de encaminhamento que está a criar.
- IP_ADDRESS_1_ID é o ID do endereço IP que reservou na secção Reserve endereços IP.
- NETWORK_2_ID é o ID da sua segunda rede.
- REGION_ID é a região onde a sua instância do Memorystore está localizada.
- SERVICE_ATTACHMENT_1 é a primeira associação de serviço que anotou em Tome nota dos caminhos de associação de serviço.
- PROJECT_2_ID é o ID do projeto 2. Este é o projeto onde criou a segunda rede VPC e sub-rede.
Por exemplo:
gcloud compute forwarding-rules create my-forwarding-rule-1 \ --address=my-ip-address-1 \ --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
Adicione a regra de encaminhamento 2 para o IP 2
gcloud
Para adicionar uma regra de encaminhamento para o IP 2, execute o comando gcloud compute forwarding-rules create
:
gcloud compute forwarding-rules create FORWARDING_RULE_2_NAME \ --address=IP_ADDRESS_2_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
Substitua o seguinte:
- FORWARDING_RULE_2_NAME é o nome que atribui à regra de encaminhamento que está a criar.
- IP_ADDRESS_2_ID é o ID do endereço IP que reservou na secção Reserve endereços IP.
- NETWORK_2_ID é o ID da sua segunda rede.
- REGION_ID é a região onde a sua instância do Memorystore está localizada.
- SERVICE_ATTACHMENT_2 é a segunda associação de serviço que anotou em Tenha em atenção os caminhos de associação de serviço.
- PROJECT_2_ID é o ID do projeto 2. Este é o projeto onde criou a segunda rede VPC e sub-rede.
Por exemplo:
gcloud compute forwarding-rules create my-forwarding-rule-2 \ --address=my-ip-address-2 \ --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
Registe as ligações do Private Service Connect com a sua instância do Memorystore para a rede 2
Esta secção mostra os passos a seguir para registar ligações com a sua instância do Memorystore. Primeiro, tem de obter os IDs de ligação e os IDs dos projetos das suas regras de encaminhamento.
Em seguida, ativa a conetividade registando as informações de ligação do Private Service Connect na sua instância do Memorystore.
Obtenha os IDs de ligação da regra de encaminhamento e os IDs dos projetos para a rede 2
Em seguida, obtenha o valor pscConnectionId
para cada regra de encaminhamento. Tome nota dos valores.
Obtenha o ID de ligação do Private Service Connect 1
gcloud
Para ver o valor pscConnectionId
e outras informações de resumo das regras de encaminhamento, execute o comando gcloud compute forwarding-rules describe
:
gcloud compute forwarding-rules describe FORWARDING_RULE_1_NAME \ --project=PROJECT_2_ID \ --region=REGION_ID
Substitua o seguinte:
- FORWARDING_RULE_1_NAME é o nome da sua primeira regra de encaminhamento.
- PROJECT_2_ID é o ID do Google Cloud projeto que contém a regra de encaminhamento.
O exemplo seguinte mostra um exemplo de saída para este comando:
gcloud compute forwarding-rules describe my-forwarding-rule-1 \ --project=my-project-2 \ --region=us-central1 ... pscConnectionId: '94710983646969729'
Obtenha o ID de ligação do Private Service Connect 2
gcloud
Para ver o valor pscConnectionId
e outras informações de resumo das regras de encaminhamento, execute o comando gcloud compute forwarding-rules describe
:
gcloud compute forwarding-rules describe FORWARDING_RULE_2_NAME \ --project=PROJECT_2_ID \ --region=REGION_ID
Substitua o seguinte:
- FORWARDING_RULE_2_NAME é o nome da sua segunda regra de encaminhamento.
- PROJECT_2_ID é o ID do Google Cloud projeto que contém a regra de encaminhamento.
Registe as informações de ligação do Private Service Connect para a rede da VPC 2
gcloud
Para registar cada ligação, fornece o ID da ligação do Private Service Connect, o endereço IP, o caminho da rede, o caminho/URI da regra de encaminhamento e a associação do serviço de destino. Para tal, execute o comando 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_2_ID/global/networks/NETWORK_2_ID","forwarding-rule":"projects/PROJECT_2_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_2_ID/global/networks/NETWORK_2_ID","forwarding-rule":"projects/PROJECT_2_ID/regions/REGION_ID/forwardingRules/FORWARDING_RULE_2_NAME","service-attachment":"SERVICE_ATTACHMENT_2"}]]'
Substitua o seguinte:
- INSTANCE_ID é o ID da sua instância do Memorystore for Redis Cluster.
- REGION_ID é o ID da região onde a sua instância do Memorystore está localizada.
- PROJECT_1_ID é o ID do projeto 1 onde a sua instância do Memorystore está localizada. Se a sua ligação do Private Service Connect residir num projeto diferente da sua instância, use o projeto que contém a ligação como o valor deste parâmetro.
- PROJECT_2_ID é o ID do projeto 2.
- PSC_CONNECTION_1_ID é o ID da ligação do Private Service Connect 1 que anotou quando obteve os IDs das ligações das regras de encaminhamento para a rede 2.
- IP_ADDRESS_1 é o endereço do primeiro endereço IP que reservou.
- NETWORK_2_ID é o ID da rede 2.
- FORWARDING_RULE_1_NAME é o nome da primeira regra de encaminhamento que criou.
- SERVICE_ATTACHMENT_1 é a sua primeira associação de serviço à qual
FORWARDING RULE_1_NAME
está associado. - PSC_CONNECTION_2_ID é o ID da ligação do Private Service Connect 2 que anotou quando obteve o ID da ligação da regra de encaminhamento para a rede 2.
- IP_ADDRESS_2 é o endereço do segundo endereço IP que reservou.
- FORWARDING_RULE_2_NAME é o nome da segunda regra de encaminhamento que criou.
- SERVICE_ATTACHMENT_2 é a sua segunda associação de serviços à qual
FORWARDING_RULE_2_NAME
está associado.
Por exemplo:
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-1","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-2","service-attachment":"projects/1048073346231/regions/us-central1/serviceAttachments/gcp-memorystore-auto-8d7d48ef-3ca3-4d-psc-sa-2"}]]'
Passo 3: configure uma ligação de cliente
Esta secção explica como configurar o seu cliente para a conetividade das redes neste guia.
Tome nota das informações do ponto final de ligação do Private Service Connect
Em seguida, anote dois endereços IP. O primeiro é o endereço IP da ligação de deteção da sua ligação do Private Service Connect registada automaticamente. Está listado após o campo discoveryEndpoints:
.
O endereço IP da ligação de deteção da sua ligação do Private Service Connect registada pelo utilizador está
listado na secção clusterEndpoints:connections:pscConnection
. Este endereço IP corresponde ao campo CONNECTION_TYPE_DISCOVERY
.
gcloud
Para ver as informações do ponto final da ligação do Private Service Connect para as suas redes, execute o comando gcloud redis clusters describe
:
gcloud redis clusters describe INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID
Tome nota dos endereços IP:
discoveryEndpoints:
- address: 10.128.0.55
port: 6379
pscConfig:
network: projects/my-project-1/global/networks/my-network-1
...
...
clusterEndpoints:
- 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
Na saída anterior, o valor do endereço IP das ligações do Private Service Connect de deteção que deve anotar é 10.128.0.55
(registado automaticamente) e 10.142.0.10
(registado pelo utilizador).
Configure o cliente
Em seguida, configure o cliente da seguinte forma:
Configure as ligações de cliente na rede 1 através do IP de deteção da rede 1. Neste tutorial, este é o endereço IP que anotou e que está indicado após o campo
discoveryEndpoints:
.Configure as ligações de cliente na rede 2 através do IP de deteção na rede 2. Neste tutorial, este é o endereço IP que anotou na secção
clusterEndpoints
e que corresponde ao valorCONNECTION_TYPE_DISCOVERY
.
Para obter instruções sobre como estabelecer ligação a uma instância do Memorystore, consulte o artigo Estabeleça ligação a partir de uma VM do Compute Engine através do redis-cli.
Elimine as suas ligações do Private Service Connect
Opcionalmente, antes de eliminar a instância, pode eliminar todas as ligações do Private Service Connect registadas pelo utilizador associadas à instância. Para o fazer, tem de eliminar as regras de encaminhamento e anular o registo dos pontos finais que configurou neste tutorial.
Além disso, pode eliminar os endereços IP reservados para os disponibilizar para utilização futura.
Eliminar regras de encaminhamento
Esta secção dá instruções sobre como eliminar as regras de encaminhamento que criou anteriormente neste tutorial.
Elimine a regra de encaminhamento 1
gcloud
Para eliminar uma regra de encaminhamento, execute o comando gcloud compute forwarding-rules delete
:
gcloud compute forwarding-rules delete FORWARDING_RULE_1_NAME \ --region=REGION_ID \ --project=PROJECT_2_ID
Substitua o seguinte:
- FORWARDING_RULE_1_NAME é o nome da sua primeira regra de encaminhamento.
- PROJECT_2_ID é o ID do projeto 2. Este é o projeto onde criou a segunda rede VPC e sub-rede.
Elimine a regra de encaminhamento 2
gcloud
Para eliminar uma regra de encaminhamento, execute o comando gcloud compute forwarding-rules delete
:
gcloud compute forwarding-rules delete FORWARDING_RULE_2_NAME \ --region=REGION_ID \ --project=PROJECT_2_ID
Substitua o seguinte:
- FORWARDING_RULE_2_NAME é o nome da sua segunda regra de encaminhamento.
- PROJECT_2_ID é o ID do projeto 2. Este é o projeto onde criou a segunda rede VPC e sub-rede.
Anule o registo dos seus pontos finais do Private Service Connect para a rede VPC 2
Esta secção fornece instruções para anular o registo dos pontos finais do Private Service Connect que registou anteriormente neste tutorial.
Anule o registo dos pontos finais para a rede VPC 2
gcloud
Para anular o registo das informações do endpoint na instância do Memorystore, execute o comando 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"}]]'
Substitua o seguinte:
- INSTANCE_ID é o ID da instância para a qual está a anular o registo de pontos finais.
- PROJECT_1_ID é o ID do projeto 1 onde a sua instância do Memorystore está localizada.
- REGION_ID é o ID da região onde a sua instância do Memorystore está localizada.
- PSC_CONNECTION_1_ID é o primeiro ID de ligação do Private Service Connect que anotou quando obteve os IDs de ligação das regras de encaminhamento.
- PSC_CONNECTION_2_ID é o segundo ID de ligação do Private Service Connect que anotou quando obteve os IDs de ligação das regras de encaminhamento.
Elimine a sua instância do Memorystore for Redis Cluster
Opcionalmente, pode optar por eliminar a sua instância do Memorystore. No entanto, antes de poder eliminar a sua instância do Memorystore, tem de anular o registo dos seus pontos finais do Private Service Connect.
gcloud
Para eliminar a sua instância do Memorystore for Redis Cluster, execute o comando gcloud redis clusters delete
:
gcloud redis clusters delete INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID
Substitua o seguinte:
- INSTANCE_ID é o ID da sua instância.
- REGION_ID é o ID da região onde a sua instância do Memorystore está localizada.
- PROJECT_1_ID é o ID do projeto 1. Este é o projeto onde a sua instância do Memorystore está localizada.