Rede

Nesta página, você encontra uma visão geral da rede do Memorystore para Redis.

O Memorystore usa o peering de VPC para conectar sua rede VPC à rede de serviços internos do Google. O Memorystore para Redis fornece diferentes arquiteturas de peering e recursos de rede, dependendo do modo de conexão escolhido ao criar uma instância.

A opção de selecionar um modo de conexão foi introduzida para oferecer suporte a opções avançadas de rede no Google Cloud, como arquiteturas de VPC compartilhada e melhor gerenciamento de IP, garantindo compatibilidade com a arquitetura de peering atual do Memorystore.

O Memorystore para Redis é compatível com dois modos de conexão: DIRECT_PEERING e PRIVATE_SERVICE_ACCESS.

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

Modos de conexão

O Memorystore para Redis oferece dois modos de conexão compatíveis com diferentes funcionalidades:

  • Peering direto
  • Acesso privado a serviços

Para visualizar o modo de conexão de rede de uma instância existente, execute o comando a seguir, substituindo variables pelos valores apropriados:

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

Para instruções sobre como escolher o modo de conexão durante a criação da instância, consulte Como criar uma instância do Redis com uma rede VPC compartilhada em um projeto de serviço ou Como criar uma instância do Redis com um intervalo de endereços IP centralizado.

Peering direto

Ao usar o modo de peering direto, o Memorystore cria um peering de VPC entre a rede VPC do cliente e a rede VPC no projeto gerenciado do Google. O peering é criado automaticamente durante a criação da instância e não requer etapas adicionais do usuário. Outros serviços do Google Cloud não compartilham o peering. O Memorystore para Redis usou o modo de conexão de peering direto antes da disponibilidade do modo de conexão de acesso a serviços privados.

Por padrão, novas instâncias são criadas usando o modo de conexão de peering direto. Todos os scripts atuais sem o modo de conexão especificado usam o modo de peering direto por padrão.

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

Acesso privado a serviços

O Acesso a serviços privados é outra maneira de criar um peering entre sua rede VPC e a rede de serviços do Google.

Estabelecer uma conexão de acesso a serviços privados para uma rede VPC cria um peering entre essa rede VPC e a rede de serviços do Google. Depois que a conexão for estabelecida, você poderá criar sua instância usando o modo de conexão de acesso a serviços privados.

O uso de acesso a serviços privados permite que você use os seguintes recursos para sua instância do Redis:

  • Provisione uma instância do Memorystore para Redis em um projeto de serviço usando a VPC compartilhada.
  • Gerencie de maneira centralizada os intervalos de endereços IP em vários serviços do Google.
  • Conecte-se de fontes externas à sua rede VPC por meio de um túnel VPN ou do Cloud Interconnect à sua rede VPC.

Um dos benefícios adicionais do acesso a serviços privados é que o mesmo peering de rede é compartilhado entre vários serviços do Google, limitando assim o número de pares criados pelos serviços do Google.

Ao criar instâncias com o modo de conexão de acesso a serviços particulares, a sinalização --reserved-ip-range da gcloud tem uma finalidade diferente da criação de instâncias com o modo de conexão de peering direto. Ao criar instâncias com o modo de acesso a serviços particulares, se houver vários intervalos de endereços IP alocados para acesso a serviços particulares, use a flag gcloud --reserved-ip-range para escolher quais intervalos alocados usar ao criar a instância do Redis. Para instruções sobre como fazer isso, consulte Como criar uma instância do Redis com um intervalo de endereços IP específico.

Como escolher um modo de conexão

A tabela abaixo descreve os diferentes casos de uso e modos de conexão que você precisa usar.

Cenário Modo de conexão compatível
Provisionar uma instância do Redis com uma rede VPC compartilhada Somente acesso a serviços privados
Acessar uma instância do Redis a partir de redes locais usando VPN Somente acesso a serviços privados
Usar o gerenciamento centralizado de intervalos de IP para vários serviços do Google Somente acesso a serviços privados
Provisionar uma instância do Redis usando uma rede VPC dedicada Acesso a serviços privados (recomendado) ou peering direto

Como alternar entre os modos de conexão de instâncias atuais

Não é possível alternar o modo de conexão de uma instância atual. Para alternar o modo de conexão, é necessário recriar a instância usando o novo modo de conexão. Isso resulta em uma alteração no endereço IP da instância.

Por exemplo, se uma instância foi criada antes do modo de conexão de acesso a serviços privados estar disponível, a propriedade do modo de conexão dessa instância será definida como peering direto. Se você recriar a instância usando o modo de conexão de acesso privado a serviços, o endereço IP da instância será alterado.

Além disso, o Memorystore para Redis é compatível com instâncias do Redis usando acesso a serviços privados e instâncias que usam peering direto, no mesmo projeto e na mesma rede.

Acesso local com acesso a serviços privados

É possível se conectar a partir de um cliente em uma rede local se a rede estiver conectada à rede VPC em que a instância do Memorystore está conectada. Para permitir conexões de uma rede local, faça o seguinte:

  1. Verifique se a rede VPC compartilhada está conectada à rede local usando uma das seguintes opções:
  2. Verifique se as sessões do BGP nos Cloud Routers que gerenciam os túneis do Cloud VPN e os anexos do Cloud Interconnect (VLANs) receberam prefixos específicos (destinos) da rede local. Não é possível importar rotas padrão (destino 0.0.0.0/0) para a rede VPC do Memorystore para Redis porque essa rede tem uma rota padrão local própria. As rotas locais de um destino são sempre usadas, mesmo quando o peering do Memorystore para Redis está configurado para importar rotas personalizadas da rede VPC.
  3. Identifique o peering produzido pela conexão de serviços particulares. O peering usado pelo Memorystore para Redis é chamado de servicenetworking-googleapis-com.
  4. Atualize a conexão de peering para trocar rotas personalizadas configurando as sinalizações --import-custom-routes e --export-custom-routes
  5. Identifique o intervalo alocado usado pela conexão de serviços particulares.
  6. Crie uma rota divulgada personalizada do Cloud Router para o intervalo alocado nos Cloud Routers que gerenciam sessões do BGP para os túneis do Cloud VPN ou anexos do Cloud Interconnect (VLANs).

Como comunicar requisitos de rede

Normalmente, a equipe de rede e/ou o administrador de rede da sua organização é responsável por configurar uma conexão de acesso a serviços privados. Isso permite que a equipe de rede garanta que nenhum endereço IP ou intervalo usado para outros recursos do Google Cloud se sobreponha, o que pode causar problemas de conectividade.

Recomendamos que você entre em contato com a equipe de rede/segurança da sua organização para configurar a conexão de serviço particular, especialmente se encontrar um erro durante o processo de configuração. Ao entrar em contato com sua equipe de rede, envie 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 ativadas de réplica de leitura

Para usar o recurso de réplicas de leitura para Memorystore para Redis, sua instância precisa ter um intervalo de endereços IP CIDR de /28 ou superior. Tamanhos de intervalo maiores, como /27 e /26, são válidos. Intervalos menores, como /29, não são compatíveis com esse recurso.

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

Para gerenciar uma conexão de acesso a serviços privados, o usuário precisa ter os papéis do IAM a seguir. Se você não tiver as permissões necessárias, poderá receber erros de permissões insuficientes. Para ver uma lista de erros comuns de rede, consulte Cenários de erro de rede.

Permissões da IU

Permissões necessárias para listar redes de projetos locais e de host na IU:
  • compute.networks.list
    • Necessário nos projetos local e host.
Permissão necessária para verificar a conexão de acesso a serviços privados na IU:
  • compute.networks.list
    • Necessário nos projetos local e host.
Permissão necessária para criar uma conexã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

Permissões do gcloud

Permissões do gcloud necessárias para verificar a conexão de acesso a serviços privados
  • compute.networks.list
    • Necessário nos projetos local e host.
Permissões do gcloud necessárias para criar uma conexã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 compatíveis e intervalos de IP do cliente

O Memorystore for Redis oferece suporte a endereços IP privados RFC 1918 e alguns endereços IP particulares não RFC 1918.

  • Intervalos válidos fornece uma lista de intervalos aceitáveis para o Memorystore para Redis. No entanto, o Memorystore para Redis não oferece suporte aos endereços IP públicos de uso particular (PUPI) listados na tabela de intervalos válidos vinculada aqui.
  • Intervalos restritos mostra 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 conexão de acesso a serviços particulares, os clientes de intervalos de PUPI não poderão se conectar à instância do Memorystore.

O Memorystore também é compatível com redes VPC, exceto redes legadas, acesso local e redes VPC compartilhadas.