Nesta página, explicamos como configurar a conectividade para várias redes de nuvem privada virtual (VPC) em uma instância do cluster do Memorystore para Redis que já tem algumas conexões do Private Service Connect registradas automaticamente. Neste tutorial, mostramos como fazer isso criando endpoints do Private Service Connect em uma rede de consumidor, segmentando os anexos de serviço da sua instância do Memorystore e registrando os componentes com a instância. Nesta página, também explicamos como conectar o cliente à instância usando conexões do Private Service Connect.
Para instruções sobre como configurar várias redes VPC para uma nova Memorystore que não foi provisionada com conexões do Private Service Connect registradas automaticamente, consulte Configurar várias redes VPC usando conexões do Private Service Connect registradas pelo usuário.
Para mais informações sobre várias configurações de rede VPC, consulte Sobre várias redes VPC.
Resumo das etapas principais
Esta seção oferece uma lista resumida das principais etapas deste tutorial para configurar sua nova conexão do Private Service Connect. Primeiro, prepare-se para seguir este tutorial concluindo as etapas na seção Antes de começar.
Etapas principais
- Etapa 1: anotar os caminhos de vinculação de serviço
- Etapa 2: configurar e registrar conexões do Private Service Connect para sua segunda rede VPC
- Etapa 3: configurar uma conexão de cliente
Além disso, você também pode:
- Excluir suas conexões do Private Service Connect
- Excluir a instância do cluster do Memorystore para Redis
Antes de começar
Antes de começar, verifique se você tem os seguintes papéis do IAM e recursos do Google Cloud .
Papéis necessários do IAM
Exemplo de ID do recurso | Tipo de recurso |
---|---|
roles/redis.admin
|
Concede controle total sobre uma instância do Memorystore para Redis Cluster e sobre o ciclo de vida dela. |
roles/servicedirectory.editor
|
Concede permissão para editar recursos do Diretório de serviços. Essa função é necessária para criar um endpoint do Private Service Connect. |
roles/compute.networkAdmin
|
Concede controle total sobre a rede VPC que inicia uma conexão com uma instância do Memorystore. É possível criar e gerenciar endereços IP, regras de firewall e endpoints do Private Service Connect. Essa função é necessária para criar um endpoint do Private Service Connect. Se você usar o Private Service Connect para se conectar a uma instância do Memorystore de várias redes VPC, cada rede poderá ter o próprio administrador. |
Recursos de pré-requisito
Você precisa criar os seguintes recursos antes de começar este tutorial. Recomendamos criar os recursos com os seguintes IDs e locais, mas você também pode escolher seus próprios IDs e locais. Este tutorial pressupõe que você criou uma instância do Memorystore com duas conexões do Private Service Connect registradas automaticamente.
Exemplo de ID do recurso | Tipo de 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, esse valor representa sua instância atual que já tem uma conexão do Private Service Connect registrada automaticamente na rede 1. |
my-network-1
|
Rede VPC |
projects/my-project-1/global/networks/my-network-1
|
Sua Memorystore tem uma conexão do Private Service Connect registrada automaticamente nessa rede. |
my-project-1
|
Google Cloud projeto | n/a | A instância do Memorystore está localizada neste projeto |
Neste tutorial, você vai usar os seguintes recursos para criar duas conexões do Private Service Connect na rede VPC 2:
Exemplo de ID do recurso | Tipo de recurso | Exemplo de caminho completo | Descrição |
---|---|---|---|
my-project-2
|
Google Cloud projeto | n/a | Para este tutorial, é o projeto em que você cria a segunda rede e a segunda sub-rede. No entanto, a segunda rede e sub-rede podem estar no mesmo projeto da primeira, se você quiser. |
my-network-2
|
Rede VPC |
projects/my-project-2/global/networks/my-network-2
|
Neste tutorial, você vai criar dois endpoints do Private Service Connect nessa rede. |
my-subnet-2
|
Sub-rede VPC |
projects/my-project-2/regions/us-central1/subnetworks/my-subnet-2
|
Neste tutorial, você vai reservar dois endereços IP nessa sub-rede. |
Ativar APIs
Ative as seguintes APIs necessárias para gerenciar recursos de rede do Compute Engine, do Memorystore for Redis Cluster e 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
Etapa 1: anotar os caminhos de vinculação de serviço
Anote os dois URIs de anexo de serviço da sua instância do Memorystore. Você usa esses URIs de anexo de serviço para configurar novas conexões do Private Service Connect.
gcloud
Para acessar informações resumidas sobre uma instância com o Private Service Connect ativado, procure o campo pscServiceAttachments
. Esse campo mostra os dois URIs que apontam para os anexos de serviço da instância. Para ver essas informações, use o comando gcloud redis clusters describe
:
gcloud redis clusters describe INSTANCE_ID --project=PROJECT_1_ID --region=REGION_ID
Substitua:
- 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 em que a instância do Memorystore está localizada.
Confira a seguir um exemplo de saída desse 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
Etapa 2: configurar e registrar conexões do Private Service Connect para sua segunda rede VPC
Nesta seção, mostramos como configurar as duas conexões do Private Service Connect necessárias para sua segunda rede VPC.
Criar os endpoints do Private Service Connect para a rede 2
Esta seção explica as ações necessárias para criar dois endpoints do Private Service Connect na Rede 2.
Reservar endereços IP para a rede 2
Em seguida, reserve dois 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:
- IP_ADDRESS_1_ID é o ID que você atribui ao seu endereço IP.
- PROJECT_2_ID é o ID do projeto 2. É o projeto em que você cria a segunda rede e sub-rede de nuvem privada virtual.
- IP_ADDRESS_1 é um endereço IP de sua escolha no intervalo
SUBNET_2_ID
que você reservou como parte dos Recursos de pré-requisito. - REGION_ID é a região em que a instância do Memorystore está localizada.
- SUBNET_2_ID é o ID da sub-rede que você reservou na rede 2 do projeto 2 como parte dos Recursos de pré-requisito.
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
Reservar 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:
- IP_ADDRESS_2_ID é o ID que você atribui ao seu endereço IP.
- PROJECT_2_ID é o ID do projeto 2. É o projeto em que você criou a segunda rede e sub-rede VPC.
- IP_ADDRESS_2 é um endereço IP de sua escolha no intervalo
SUBNET_2_ID
que você reservou como parte dos Recursos de pré-requisito. - REGION_ID é a região em que a instância do Memorystore está localizada.
- SUBNET_2_ID é o ID da sub-rede que você reservou na rede 2 do projeto 2 como parte dos Recursos de pré-requisito.
Adicionar regras de encaminhamento para a rede 2
Em seguida, crie regras de encaminhamento que conectem os endereços IP aos anexos de serviço da instância do Memorystore.
Adicionar regra de encaminhamento 1 para 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:
- FORWARDING_RULE_1_NAME é o nome da regra de encaminhamento que você está criando.
- IP_ADDRESS_1_ID é o ID do endereço IP reservado na seção Reservar endereços IP.
- NETWORK_2_ID é o ID da segunda rede.
- REGION_ID é a região em que a instância do Memorystore está localizada.
- SERVICE_ATTACHMENT_1 é o primeiro anexo de serviço que você anotou em Anotar os caminhos de anexos de serviço.
- PROJECT_2_ID é o ID do projeto 2. É o projeto em que você criou a segunda rede e sub-rede VPC.
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
Adicionar regra de encaminhamento 2 para 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:
- FORWARDING_RULE_2_NAME é o nome da regra de encaminhamento que você está criando.
- IP_ADDRESS_2_ID é o ID do endereço IP reservado na seção Reservar endereços IP.
- NETWORK_2_ID é o ID da segunda rede.
- REGION_ID é a região em que a instância do Memorystore está localizada.
- SERVICE_ATTACHMENT_2 é o segundo anexo de serviço que você observou em Observar os caminhos de anexos de serviço.
- PROJECT_2_ID é o ID do projeto 2. É o projeto em que você criou a segunda rede e sub-rede VPC.
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
Registre as conexões do Private Service Connect com sua instância do Memorystore para a rede 2.
Esta seção mostra as etapas para registrar conexões com sua instância do Memorystore. Primeiro, você precisa receber os IDs de conexão e de projeto das suas regras de encaminhamento.
Em seguida, ative a conectividade registrando as informações de conexão do Private Service Connect com sua instância do Memorystore.
Receber os IDs de conexão e de projeto da regra de encaminhamento para a rede 2
Em seguida, receba o valor pscConnectionId
de cada regra de encaminhamento. Anote os valores.
Extrair o ID da conexão do Private Service Connect 1
gcloud
Para conferir o valor de pscConnectionId
e outras informações de resumo da regra 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:
- FORWARDING_RULE_1_NAME é o nome da primeira regra de encaminhamento.
- PROJECT_2_ID é o ID do projeto Google Cloud que contém a regra de encaminhamento.
O exemplo a seguir é uma demonstração de saída desse comando:
gcloud compute forwarding-rules describe my-forwarding-rule-1 \ --project=my-project-2 \ --region=us-central1 ... pscConnectionId: '94710983646969729'
Extrair o ID da conexão do Private Service Connect 2
gcloud
Para conferir o valor de pscConnectionId
e outras informações de resumo da regra 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:
- FORWARDING_RULE_2_NAME é o nome da segunda regra de encaminhamento.
- PROJECT_2_ID é o ID do projeto Google Cloud que contém a regra de encaminhamento.
Registrar informações de conexão do Private Service Connect para a rede VPC 2
gcloud
Para registrar cada conexão, forneça o ID da conexão, o endereço IP, o caminho de rede, o caminho/URI da regra de encaminhamento e o anexo de serviço de destino do Private Service Connect. Para isso, 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:
- INSTANCE_ID é o ID da instância do Memorystore for Redis Cluster.
- REGION_ID é o ID da região em que a instância do Memorystore está localizada.
- PROJECT_1_ID é o ID do projeto 1, onde sua instância do Memorystore está localizada. Se a conexão do Private Service Connect estiver em um projeto diferente da instância, use o projeto que contém a conexão como valor para esse parâmetro.
- PROJECT_2_ID é o ID do projeto 2.
- PSC_CONNECTION_1_ID é o ID de conexão do Private Service Connect 1 que você anotou em Como receber IDs de conexão de regra de encaminhamento para a rede 2.
- IP_ADDRESS_1 é o endereço do primeiro IP reservado.
- NETWORK_2_ID é o ID da rede 2.
- FORWARDING_RULE_1_NAME é o nome da primeira regra de encaminhamento criada.
- SERVICE_ATTACHMENT_1 é o primeiro anexo de serviço conectado ao
FORWARDING RULE_1_NAME
. - PSC_CONNECTION_2_ID é o ID de conexão do Private Service Connect 2 que você anotou em Como receber o ID de conexão da regra de encaminhamento para a rede 2.
- IP_ADDRESS_2 é o endereço do segundo IP reservado.
- FORWARDING_RULE_2_NAME é o nome da segunda regra de encaminhamento criada.
- SERVICE_ATTACHMENT_2 é o segundo anexo de serviço conectado a
FORWARDING_RULE_2_NAME
.
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"}]]'
Etapa 3: configurar uma conexão de cliente
Nesta seção, explicamos como configurar o cliente para conectividade com as redes neste guia.
Anote as informações do endpoint de conexão do Private Service Connect.
Em seguida, anote dois endereços IP. O primeiro é o endereço IP de conexão de descoberta da sua conexão do Private Service Connect registrada automaticamente. Ele é listado depois do campo discoveryEndpoints:
.
O endereço IP da conexão de descoberta do Private Service Connect registrada pelo usuário está listado na seção clusterEndpoints:connections:pscConnection
. Esse endereço IP corresponde ao campo CONNECTION_TYPE_DISCOVERY
.
gcloud
Para conferir as informações do endpoint de conexão do Private Service Connect nas suas redes, execute o comando gcloud redis clusters describe
:
gcloud redis clusters describe INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID
Anote os 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 conexões do Private Service Connect de descoberta que você anotaria são 10.128.0.55
(registrado automaticamente) e 10.142.0.10
(registrado pelo usuário).
Configurar o cliente
Em seguida, configure o cliente da seguinte maneira:
Configure as conexões de cliente na rede 1 usando o IP de descoberta da rede 1. Neste tutorial, esse é o endereço IP que você anotou e que aparece depois do campo
discoveryEndpoints:
.Configure as conexões de cliente na rede 2 usando o IP de descoberta na rede 2. Neste tutorial, esse é o endereço IP que você anotou na seção
clusterEndpoints
e que corresponde ao valorCONNECTION_TYPE_DISCOVERY
.
Para instruções sobre como se conectar a uma instância do Memorystore, consulte Conectar de uma VM do Compute Engine usando redis-cli.
Excluir suas conexões do Private Service Connect
Opcionalmente, antes de excluir a instância, você pode excluir todas as conexões do Private Service Connect registradas pelo usuário associadas a ela. Para isso, exclua as regras de encaminhamento e cancele o registro dos endpoints configurados neste tutorial.
Além disso, é possível excluir os endereços IP reservados para liberá-los para uso futuro.
Excluindo regras de encaminhamento
Nesta seção, você encontra instruções sobre como excluir as regras de encaminhamento criadas anteriormente neste tutorial.
Excluir regra de encaminhamento 1
gcloud
Para excluir 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:
- FORWARDING_RULE_1_NAME é o nome da primeira regra de encaminhamento.
- PROJECT_2_ID é o ID do projeto 2. É o projeto em que você criou a segunda rede e sub-rede VPC.
Excluir regra de encaminhamento 2
gcloud
Para excluir 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:
- FORWARDING_RULE_2_NAME é o nome da segunda regra de encaminhamento.
- PROJECT_2_ID é o ID do projeto 2. É o projeto em que você criou a segunda rede e sub-rede VPC.
Cancele o registro dos endpoints do Private Service Connect para a rede VPC 2.
Nesta seção, fornecemos instruções para cancelar o registro dos endpoints do Private Service Connect que você registrou anteriormente neste tutorial.
Cancelar o registro de endpoints para a rede VPC 2
gcloud
Para cancelar o registro das informações do endpoint com a 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:
- INSTANCE_ID é o ID da instância para a qual você está cancelando o registro de endpoints.
- PROJECT_1_ID é o ID do projeto 1, onde sua instância do Memorystore está localizada.
- REGION_ID é o ID da região em que a instância do Memorystore está localizada.
- PSC_CONNECTION_1_ID é o primeiro ID de conexão do Private Service Connect que você anotou em Como receber IDs de conexão de regra de encaminhamento.
- PSC_CONNECTION_2_ID é o segundo ID de conexão do Private Service Connect que você anotou em Como receber IDs de conexão de regra de encaminhamento.
Excluir a instância do Memorystore para Redis Cluster
Se quiser, exclua a instância do Memorystore. No entanto, antes de excluir a instância do Memorystore, é necessário cancelar o registro dos endpoints do Private Service Connect.
gcloud
Para excluir a instância do Memorystore para Redis Cluster, execute o comando gcloud redis clusters delete
:
gcloud redis clusters delete INSTANCE_ID \ --region=REGION_ID \ --project=PROJECT_1_ID
Substitua:
- INSTANCE_ID é o ID da instância.
- REGION_ID é o ID da região em que a instância do Memorystore está localizada.
- PROJECT_1_ID é o ID do projeto 1. É o projeto em que a instância do Memorystore está localizada.