Como configurar o acesso a serviços privados

O Acesso a serviços privados é uma conexão particular entre sua rede VPC e uma rede de propriedade do Google ou de terceiros. O Google ou o terceiro, entidades que oferecem serviços, também são conhecidos como fornecedores de serviços. A conexão privada permite que as instâncias de VM da sua rede VPC e os serviços que você acessa se comuniquem usando exclusivamente endereços IP internos (RFC 1918). As instâncias de VM não precisam de acesso à Internet ou endereços IP externos para acessar serviços por meio desse recurso.

O Acesso a serviços privados permite acessar determinados serviços do Google Cloud. Para ver detalhes sobre essa e outras opções de acesso privado, consulte Opções de acesso privado para serviços.

Para criar uma conexão privada, é preciso alocar um intervalo de endereços IP na sua rede VPC e, em seguida, criar uma conexão privada com um serviço.

Conexões privadas são um relacionamento um para um entre sua rede VPC e um fornecedor de serviços. Se um único fornecedor de serviços oferecer vários serviços, você precisará apenas de uma conexão privada para todos eles.

Antes de começar

Para estabelecer uma conexão particular, atenda aos seguintes pré-requisitos:

  • Verifique se o serviço está disponível para o Acesso a serviços privados.
  • Crie um projeto do GCP ou escolha um existente. Para saber como criar um projeto do GCP, consulte Como criar e gerenciar projetos.
  • Ative a API Service Networking no seu projeto. Ao fazer isso, uma conta de serviço é adicionada ao projeto, o que permite que a rede de serviços gerencie as conexões particulares para você.
  • É preciso ter uma rede VPC existente que será usada para se conectar à rede do fornecedor de serviços. As instâncias de VM precisam usar essa rede VPC para se conectarem a serviços por meio de uma conexão privada.
  • Instale o SDK do Cloud se você quiser executar os exemplos da linha de comando gcloud neste guia.

Permissões

Proprietários de projetos, editores e membros do IAM com o papel de administrador de rede podem criar intervalos de endereços IP alocados e gerenciar conexões privadas.

Para ver mais informações sobre papéis, leia a documentação sobre papéis de IAM da VPC.

Como criar intervalos de endereços IP alocados

Antes de criar uma conexão privada, é preciso alocar um intervalo de endereços IP que será usado pela rede VPC do fornecedor de serviços. Isso garante que não haja colisão de endereços IP entre a rede VPC e a rede do fornecedor de serviços.

Quando você aloca um intervalo na sua rede VPC, esse intervalo fica inelegível para sub-redes (intervalos primários e secundários) e destinos de rotas estáticas personalizadas.

Você cria um único intervalo alocado para cada fornecedor de serviços. Um único fornecedor pode oferecer vários serviços. Portanto, aloque um intervalo grande o suficiente para todos aqueles que você usará. Para usar os serviços do Google, é necessário criar um intervalo alocado que com tamanho mínimo de um bloco /20 (4.096 endereços). No entanto, recomendamos um bloco /16 (65.536 endereços) para garantir que você tenha um número suficiente de endereços IP disponível para os serviços do Google.

Se um serviço do Google alocar um intervalo em seu nome, o serviço usará o seguinte formato para nomear a alocação: google-managed-services-[your network name]. Se essa alocação existir, os serviços do Google não criarão outra automaticamente. Portanto, se você mesmo criar a alocação, use essa mesma convenção de nomenclatura para indicar a outros usuários ou serviços do Google que já existe uma alocação para o Google.

Antes de alocar um intervalo de endereços IP, considere as seguintes restrições:

  • Selecione um intervalo que não se sobreponha a intervalos, sub-redes ou rotas estáticas personalizadas. Dois intervalos não podem se sobrepor.
  • Se você estiver usando uma rede VPC de modo automático, não será possível criar um intervalo alocado que corresponda ou se sobreponha a 10.128.0.0/9. Esse intervalo é reservado para sub-redes criadas automaticamente.
  • Selecione um bloco CIDR grande o suficiente para atender às suas necessidades atuais e futuras. Se você descobrir depois que o intervalo não é suficiente, amplie-o, se possível. Embora seja possível atribuir várias alocações a um único fornecedor de serviços, o Google impõe uma cota sobre o número de intervalos de endereços IP que você pode alocar, não ao tamanho (máscara de rede) de cada intervalo.
  • Não reutilize o mesmo intervalo alocado para vários fornecedores de serviços. Embora seja possível, isso pode levar à sobreposição de endereços IP. Cada fornecedor de serviços tem visibilidade apenas sobre a própria rede e não sabe quais endereços IP são usados por outros fornecedores.
  • Só é possível atribuir um bloco CIDR a um intervalo alocado ao criar a alocação. Se você ampliar o intervalo de endereços IP, não poderá adicionar mais blocos a uma alocação. Em vez disso, crie outra alocação ou recrie a existente usando um bloco maior que englobe os intervalos novos e existentes.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Selecione a rede VPC que se conectará a um produtor de serviços.
  3. Selecione a guia Conexão de serviço privado.
  4. Na guia Conexão de serviço privado, selecione Intervalos de IP alocados para serviços.
  5. Clique em Intervalo de IP alocado.
  6. Insira um Nome e uma Descrição para o intervalo alocado.
  7. Especifique um intervalo de IP para a alocação:

    • Para especificar um intervalo de endereços IP, selecione Personalizado e, em seguida, insira um bloco CIDR, como 192.168.0.0/16.
    • Para especificar um tamanho de prefixo e permitir que o Google selecione um intervalo disponível, selecione Automático e insira um tamanho de prefixo, como 16.
  8. Clique em Alocar para criar o intervalo alocado.

gcloud

Crie um intervalo alocado na sua rede VPC.

  • Para especificar um intervalo de endereços e um comprimento de prefixo (máscara de sub-rede), use os sinalizadores addresses e prefix-length. Por exemplo, para alocar o bloco CIDR 192.168.0.0/16, especifique 192.168.0.0 como endereço e 16 como tamanho de prefixo.

    gcloud compute addresses create [RESERVED_RANGE_NAME] \
        --global \
        --purpose=VPC_PEERING \
        --addresses=192.168.0.0 \
        --prefix-length=16 \
        --description=[DESCRIPTION] \
        --network=[VPC_NETWORK]
    
  • Para especificar apenas um tamanho de prefixo (máscara de sub-rede), basta usar o sinalizador prefix-length. Quando você omite o intervalo de endereços, o GCP seleciona automaticamente um intervalo que não está sendo usado na rede VPC. No exemplo a seguir, é selecionado um intervalo de endereços IP não utilizado com um tamanho de prefixo de 16 bits.

    gcloud compute addresses create [RESERVED_RANGE_NAME] \
        --global \
        --purpose=VPC_PEERING \
        --prefix-length=16 \
        --description=[DESCRIPTION] \
        --network=[VPC_NETWORK]
    

Substitua os seguintes marcadores de posição pelos valores relevantes:

  • [RESERVED_RANGE_NAME] é um nome para o intervalo alocado, como my-allocated-range.
  • [DESCRIPTION] é uma descrição para o intervalo, como allocated for my-service.
  • [VPC_NETWORK] é o nome da sua rede VPC, como my-vpc-network.

O exemplo a seguir cria uma conexão privada com o Google para que as instâncias de VM na rede VPC my-network possam usar o acesso a serviços privados para alcançar os serviços compatíveis do Google.

gcloud compute addresses create google-managed-services-my-network \
    --global \
    --purpose=VPC_PEERING \
    --prefix-length=16 \
    --description="peering range for Google" \
    --network=my-network \
    --project=my-project

Como criar uma conexão privada

Depois de criar um intervalo alocado, você pode criar uma conexão privada com um fornecedor de serviços. A conexão privada estabelece uma conexão de peering de rede VPC entre sua rede VPC e a rede do fornecedor de serviços. Devido a essa implementação, aplicam-se as cotas e os limites do peering de rede VPC.

Em cada rede VPC, crie uma conexão privada para cada fornecedor de serviços. Ao fazer isso, use uma alocação exclusiva para cada fornecedor de serviços. Essa prática ajuda você a gerenciar suas configurações de rede, como rotas e regras de firewall, para cada fornecedor de serviços.

Se você estiver usando a VPC compartilhada, especifique o projeto host correto e a rede da VPC compartilhada no projeto host. As instâncias de VM em projetos de serviço que usam a rede VPC compartilhada podem usar a conexão privada para alcançar o serviço do fornecedor de serviços.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Selecione a rede VPC que se conectará a um produtor de serviços.
  3. Selecione a guia Conexão de serviço privado.
  4. Na guia Conexão de serviço privado, selecione a guia Conexões privadas com os serviços.
  5. Clique em Criar conexão para criar uma conexão privada entre sua rede e um produtor de serviços.
  6. Em Alocação atribuída, selecione um ou mais intervalos alocados que não estão sendo usados por outros produtores de serviços.

    Não é possível modificar as alocações atribuídas depois que a conexão é criada. Para remover ou adicionar intervalos alocados, crie a conexão novamente e especifique as novas alocações atribuídas.

  7. Clique em Conectar para criar a conexão.

gcloud

  1. Crie uma conexão privada.

    gcloud beta services vpc-peerings connect \
        --service=servicenetworking.googleapis.com \
        --ranges=[RESERVED_RANGE_NAME] \
        --network=[VPC_NETWORK] \
        --project=[PROJECT_ID]
    
    • [RESERVED_RANGE_NAME] é o nome de um ou mais intervalos alocados.
    • [VPC_NETWORK] é o nome da sua rede VPC.
    • [PROJECT_ID] é o código do projeto que contém sua rede VPC.

    O comando inicia uma operação de longa duração, que retorna um nome de operação.

  2. Verifique se a operação foi bem-sucedida.

    gcloud beta services vpc-peerings operations describe \
        --name=[OPERATION_NAME]
    

    Substitua [OPERATION_NAME] pelo nome da operação retornado na etapa anterior.

Você pode especificar mais de um intervalo alocado ao criar uma conexão privada. No entanto, não é possível modificar as alocações atribuídas depois que a conexão é criada. Em vez disso, será preciso recriar a conexão. Por exemplo, se um intervalo foi esgotado, é possível recriar a conexão e especificar outros intervalos alocados. O serviço usará endereços IP de todos os intervalos fornecidos, na ordem que você especificou.

Como listar as conexões privadas

Depois de criar uma conexão privada, você pode listá-la para verificar se ela existe. A lista também mostra a lista de intervalos alocados associados a cada conexão. Por exemplo, se você não se lembrar qual intervalo alocado atribuiu a uma conexão, consulte a lista para descobrir.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Selecione a rede VPC que contém as conexões.
  3. Selecione a guia Conexão de serviço privado.
  4. Na guia Conexão de serviço privado, selecione a guia Conexões privadas com os serviços para visualizar todas as conexões de rede privadas.

gcloud

Liste as conexões privadas na sua rede VPC.

gcloud beta services vpc-peerings list \
    --network=[VPC_NETWORK] \
    --project=[PROJECT_ID]

Substitua [VPC_NETWORK] e [PROJECT_ID] pelo nome da sua rede VPC e pelo código do seu projeto.

Como remover conexões particulares

Quando você exclui a sessão de peering da rede VPC, sua rede VPC é desconectada da rede VPC do fornecedor de serviços. Os recursos atuais em ambas as redes permanecem, mas perdem o acesso aos serviços particulares. Para restabelecer a conectividade, crie uma conexão privada novamente.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Selecione a rede VPC que contém as conexões que você quer excluir.
  3. Selecione a guia Conexão de serviço privado.
  4. Na guia Conexão de serviço privado, selecione a guia Conexões privadas com os serviços.
  5. Selecione a conexão privada que você quer excluir.
  6. Clique em Excluir.
  7. Clique em Excluir novamente para confirmar a ação.

gcloud

Exclua a conexão de peering de rede VPC da conexão privada.

gcloud compute networks peerings delete [CONNECTION_NAME] \
    --network [VPC_NETWORK]

Substitua [CONNECTION_NAME] e [VPC_NETWORK] pelo nome da sua conexão privada e da sua rede VPC.

Como excluir uma alocação

Antes de excluir um intervalo de endereços IP alocado, verifique se você removeu todas as conexões privadas que o usam. Caso contrário, os fornecedores de serviços conectados não poderão provisionar novos recursos se precisarem de sub-redes adicionais.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Selecione a rede VPC que contém as alocações que você quer excluir.
  3. Selecione a guia Conexão de serviço privado.
  4. Na guia Conexão de serviço privado, selecione Intervalos de IP alocados para serviços.
  5. Selecione a alocação que você quer excluir.
  6. Clique em Liberar para retornar o intervalo de endereços IP alocado ao pool de endereços IP internos disponíveis da rede.

    Se o intervalo de endereços IP alocado ainda estiver atribuído a uma conexão existente, será necessário confirmar mais uma vez antes de liberar a alocação.

  7. Clique em Liberar novamente para confirmar a exclusão.

gcloud

Para excluir a alocação, especifique o nome dela.

gcloud compute addresses delete [NAME] \
    --global

Solução de problemas

Quanto da minha alocação está sendo usada?

Ao criar uma conexão privada com um fornecedor de serviços, você aloca um intervalo de endereços IP para o uso do provedor. Se você usar vários serviços de um fornecedor, cada serviço reservará uma parte dos endereços IP desse intervalo alocado. Você pode verificar quais serviços usam quais endereços IP, por exemplo, para ver quais serviços estão usando blocos grandes de endereços IP e evitar o esgotamento dos endereços.

Para ver qual serviço está usando um determinado intervalo de endereços IP, siga estas etapas:

  1. Liste suas conexões privadas.
  2. Encontre o nome da conexão de peering que conecta você ao fornecedor de serviços relevante.
  3. Liste as rotas para sua rede VPC.
  4. Encontre as rotas com um próximo salto que corresponda ao nome da conexão de peering. O intervalo de destino das rotas indica quais endereços IP são usados por cada serviço.

Esgotamento ou exclusão do intervalo de endereços IP

Para uma determinada conexão privada, se você esgotar seu intervalo de endereços IP alocado, poderá expandir a alocação existente. A alocação expandida precisa ser um intervalo de endereços IP contíguos que inclua o intervalo existente.

Para expandir uma alocação existente, siga estas etapas:

  1. Liste suas conexões privadas e registre o nome do intervalo alocado que você precisa expandir.
  2. Exclua o intervalo alocado existente.
  3. Crie um novo intervalo alocado usando o mesmo nome que o intervalo excluído. Especifique um intervalo de endereços IP que inclua aquele que foi excluído. Assim, os recursos existentes com peering que usam o intervalo alocado antigo podem continuar usando os mesmos endereços IP sem colidir com os recursos da sua rede VPC. Por exemplo, se o intervalo alocado anterior era 192.168.0.0/24, crie um novo intervalo alocado para 192.168.0.0/16.

Se não for possível expandir sua alocação existente, adicione um novo intervalo alocado à conexão privada. Esse método exige que você recrie a conexão para cada rede VPC e causa interrupções na conectividade com o serviço.

Para adicionar intervalos alocados a uma conexão privada existente, siga estas etapas:

  1. Liste suas conexões privadas e registre o nome dos intervalos alocados atribuídos à conexão privada.
  2. Crie um novo intervalo alocado. Ele não precisa ser contíguo aos intervalos alocados existentes.
  3. Remova a conexão privada existente.
  4. Crie uma nova conexão, especificando os intervalos registrados e os recém-alocados.
Esta página foi útil? Conte sua opinião sobre: