Trabalhar em rede

Esta página apresenta uma vista geral das redes para o Memorystore for Redis.

O Memorystore usa o peering de VPC para ligar a sua rede VPC à rede de serviços Google interna. O Memorystore for Redis oferece diferentes arquiteturas de peering e funcionalidades de rede, consoante o modo de ligação que escolher quando criar uma instância.

A opção para selecionar um modo de ligação foi introduzida para suportar opções de rede avançadas, como arquiteturas de VPC partilhada e uma melhor gestão de IP, ao mesmo tempo que garante o suporte para a arquitetura de peering existente do Memorystore. Google Cloud

O Memorystore for Redis suporta dois modos de ligação: DIRECT_PEERING e PRIVATE_SERVICE_ACCESS.

Independentemente do modo de ligação, o Memorystore for Redis usa sempre endereços IP internos para aprovisionar instâncias do Redis.

Modos de ligação

O Memorystore for Redis oferece dois modos de ligação que suportam diferentes funcionalidades:

  • Intercâmbio direto
  • Acesso a serviços privados

Para ver o modo de ligação de rede de uma instância existente, execute o comando seguinte, substituindo variables por valores adequados:

gcloud redis instances describe instance-id --region=region
  • O valor connectMode apresenta DIRECT_PEERING ou PRIVATE_SERVICE_ACCESS.

Para obter instruções sobre como escolher o modo de ligação durante a criação da instância, consulte o artigo Criar uma instância do Redis com uma rede de VPC partilhada num projeto de serviço ou Criar uma instância do Redis com um intervalo de endereços IP centralizado.

Intercâmbio direto

Quando usa o modo de interligação direto, o Memorystore cria uma interligação de VPC entre a rede VPC do cliente e a rede VPC no projeto gerido pela Google. A interligação é criada automaticamente durante a criação da instância e não requer passos adicionais por parte do utilizador. Outros Google Cloud serviços não partilham a interligação. O Memorystore for Redis usou o modo de ligação de peering direto antes da disponibilidade do modo de ligação de acesso privado aos serviços.

Por predefinição, as novas instâncias são criadas através do modo de ligação de peering direto. Todos os scripts existentes sem o modo de associação especificado usam o modo de peering direto por predefinição.

Se estiver a criar uma instância com o modo de ligação de peering direto e quiser usar a flag --reserved-ip-range gcloud para especificar um intervalo de endereços IP, consulte o artigo Criar uma instância do Redis com um intervalo de endereços IP específico para obter instruções sobre como especificar um intervalo. O tamanho mínimo do bloco necessário é de /29 para instâncias sem réplicas de leitura. O tamanho do bloco mínimo necessário é /28 para instâncias com réplicas de leitura.

Acesso a serviços privados

O acesso a serviços privados é outra forma de criar uma interligação entre a sua rede VPC e a rede de serviços da Google.

O estabelecimento de uma ligação de acesso a serviços privados para uma rede VPC cria uma interligação entre essa rede VPC e a rede de serviços Google. Depois de estabelecer a ligação, pode criar a sua instância através do modo de ligação de acesso a serviços privados.

A utilização do acesso a serviços privados permite-lhe usar as seguintes capacidades para a sua instância do Redis:

  • Aprovisione uma instância do Memorystore for Redis num projeto de serviço através da VPC partilhada.
  • Faça a gestão centralizada de intervalos de endereços IP em vários serviços Google.
  • Ligue-se a partir de origens externas à sua rede VPC através de um túnel de VPN ou do Cloud Interconnect à sua rede VPC.

Uma das vantagens adicionais do acesso privado ao serviço é que a mesma interligação de rede é partilhada por vários serviços Google, o que limita o número de interligações criadas pelos serviços Google.

A flag --reserved-ip-range gcloud tem um objetivo diferente quando cria instâncias com o modo de ligação de acesso a serviços privados do que quando cria instâncias com o modo de ligação de peering direto. Quando cria instâncias com o modo de acesso a serviços privados, se existirem vários intervalos de endereços IP atribuídos para acesso a serviços privados, pode usar a flag --reserved-ip-range gcloud para escolher que intervalos atribuídos usar quando cria a sua instância do Redis. Para ver instruções sobre como o fazer, consulte o artigo Criar uma instância do Redis com um intervalo de endereços IP específico.

Escolher um modo de ligação

A tabela abaixo descreve os diferentes exemplos de utilização e modos de ligação que deve usar.

Cenário Modo de ligação suportado
Aprovisione uma instância do Redis com uma rede VPC partilhada Apenas acesso a serviços privados
Aceda a uma instância do Redis a partir de redes no local através de VPN Apenas acesso a serviços privados
Use a gestão centralizada de intervalos de IPs para vários serviços Google Apenas acesso a serviços privados
Aprovisione uma instância do Redis através de uma rede VPC dedicada Acesso a serviços privados (recomendado) ou intercâmbio direto

Alternar os modos de ligação de instâncias existentes

Não pode alterar o modo de associação de uma instância existente. Para mudar o modo de ligação, tem de recriar a instância com o novo modo de ligação. Isto resulta numa alteração do endereço IP da instância.

Por exemplo, se tiver uma instância existente criada antes de o modo de ligação de acesso aos serviços privados estar disponível, a propriedade do modo de ligação dessa instância está definida como peering direto. Se recriar a instância usando o modo de ligação de acesso privado ao serviço, o endereço IP da instância é alterado.

Além disso, o Memorystore for Redis suporta ter instâncias do Redis a usar o acesso a serviços privados e instâncias a usar a interligação direta no mesmo projeto e na mesma rede.

Acesso no local com acesso a serviços privados

Pode estabelecer ligação a partir de um cliente numa rede no local se a rede no local estiver ligada à rede VPC à qual a sua instância do Memorystore for Redis está ligada. Para permitir ligações a partir de uma rede no local, faça o seguinte:

  1. Certifique-se de que a sua rede de VPC partilhada está ligada à sua rede no local através de uma das seguintes opções
  2. Certifique-se de que as sessões BGP nos Cloud Routers que gerem os seus túneis da Cloud VPN e anexos do Cloud Interconnect (VLANs) receberam prefixos específicos (destinos) da sua rede no local. Não é possível importar rotas predefinidas (destino 0.0.0.0/0) para a rede VPC do Memorystore for Redis porque essa rede tem a sua própria rota predefinida local. As rotas locais para um destino são sempre usadas, mesmo quando o peering do Memorystore for Redis está configurado para importar rotas personalizadas da sua rede da VPC.
  3. Identifique a interligação produzida pela ligação de serviços privados. A interligação usada pelo Memorystore for Redis chama-se servicenetworking-googleapis-com.
  4. Atualize a ligação de intercâmbio para trocar rotas personalizadas definindo os indicadores --import-custom-routes e --export-custom-routes
  5. Identifique o intervalo atribuído usado pela ligação de serviços privados.
  6. Crie um trajeto anunciado personalizado do Cloud Router para o intervalo atribuído nos Cloud Routers que gerem sessões BGP para os seus túneis da Cloud VPN ou anexos do Cloud Interconnect (VLANs).

Comunicar requisitos de rede

Normalmente, a equipa de rede e/ou o administrador de rede da sua organização são responsáveis por configurar uma ligação de acesso privado aos serviços. Isto permite à equipa de rede garantir que não existem endereços IP nem intervalos usados para outros recursosGoogle Cloud que se sobreponham, o que pode causar problemas de conetividade.

Recomendamos que contacte a equipa de rede/segurança da sua organização para configurar a ligação privada do serviço por si, especialmente se encontrar um erro durante o processo de configuração. Quando contactar a sua equipa de rede, envie-lhe as seguintes informações:

The Memorystore for Redis instance cannot be created due to the following
error:

"Google private services access is not enabled. Enable privates service access
and try again."

Before an instance can be created, a private service access connection needs to
be established for network <project name: network>. Please refer to the
following Memorystore documentation links for more information on how to create
this connection:

* Networking.
* Establishing a private services access connection.
* Verifying a private services access connection.

Requisitos de rede para instâncias com réplica de leitura ativada

Para usar a funcionalidade de réplicas de leitura do Memorystore para Redis, a sua instância tem de ter um intervalo de endereços IP CIDR de /28 ou superior. Os tamanhos de intervalos maiores, como /27 e /26, são válidos. Os intervalos mais pequenos, como /29, não são suportados para esta funcionalidade.

Autorizações necessárias para estabelecer uma ligação de acesso a serviços privados

Para gerir uma ligação de acesso a serviços privados, o utilizador deve ter as seguintes funções do IAM. Se não tiver as autorizações necessárias, pode receber erros de autorizações insuficientes. Para ver uma lista de erros de rede comuns, consulte Cenários de erros de rede.

Autorizações da IU

Autorizações necessárias para apresentar as redes de projetos locais e anfitriões na IU:
  • compute.networks.list
    • Necessário nos projetos local e de anfitrião.
Autorização necessária para verificar a ligação de acesso a serviços privados na IU:
  • compute.networks.list
    • Necessário nos projetos local e de anfitrião.
Autorização necessária para criar uma ligação de acesso a serviços privados na IU:
  • serviceusage.services.enable
    • Necessário para ativar a API Service Networking.
  • compute.addresses.create
  • compute.addresses.list
  • servicenetworking.services.addPeering

Autorizações gcloud

Autorizações gcloud necessárias para verificar a ligação de acesso a serviços privados
  • compute.networks.list
    • Necessário nos projetos local e de anfitrião.
Autorizações do gcloud necessárias para criar uma ligação de acesso a serviços privados
  • serviceusage.services.enable
    • Necessário para ativar a API Service Networking.
  • compute.addresses.create
  • compute.addresses.list
  • servicenetworking.services.addPeering

Redes suportadas e intervalos de IP do cliente

O Memorystore for Redis suporta endereços IP privados RFC 1918 e alguns endereços IP privados não RFC 1918.

  • Os Intervalos válidos fornecem uma lista de intervalos aceitáveis para o Memorystore for Redis. No entanto, o Memorystore for Redis não suporta os endereços IP públicos usados de forma privada (PUPI) indicados na tabela de intervalos válidos disponível aqui.
  • Os intervalos restritos apresentam uma lista de intervalos de endereços IP que não podem ser usados para criar instâncias do Memorystore para Redis.
  • Se uma instância do Memorystore usar o modo de ligação de acesso a serviços privados, os clientes dos intervalos PUPI não podem estabelecer ligação à instância do Memorystore.

O Memorystore também suporta redes VPC, exceto redes antigas, acesso no local e redes VPC partilhadas.