Como configurar o Acesso particular a serviços

O Acesso privado a serviços é 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 particular 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 do Acesso privado a serviços.

Para saber mais sobre o Acesso privado a serviços e alternativas similares, consulte Opções de acesso privado para serviços.

Em geral, para usar o Acesso privado a serviços, você precisa alocar um intervalo de endereços IP (bloco CIDR) na sua rede VPC e depois criar uma conexão particular com um fornecedor de serviços.

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 privado a serviços.
  • 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. Ela é necessária para criar uma conexão particular.
  • Você precisa ter uma rede VPC 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 particular.
  • Instale o SDK do Cloud caso queira 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 particulares.

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

Cenário de VPC compartilhada

Caso você esteja usando a VPC compartilhada, crie o intervalo de IP alocado e a conexão particular no projeto host. Normalmente, o administrador de rede nesse projeto é quem realiza essas tarefas. Depois que o projeto host estiver configurado, as instâncias de VM em projetos de serviço poderão usar a conexão particular.

Cotas e limites

Uma conexão particular é implementada como uma conexão de peering VPC. Por isso, as cotas e os limites que se aplicam ao Peering de redes VPC também se aplicam ao Acesso privado a serviços.

Como criar intervalos de endereços IP alocados

Antes de criar uma conexão particular, é 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 sua rede VPC e a rede do fornecedor de serviços. Crie um intervalo alocado para cada fornecedor de serviços.

Quando você aloca um intervalo na sua rede VPC, ele deixa de ser aceito para sub-redes (intervalos primários e secundários) e destinos de rotas estáticas personalizadas.

Tamanho do intervalo de endereços IP

Intervalos do Acesso privado a serviços (clique para ampliar)

Quando um fornecedor de serviços cria uma sub-rede no seu lado da conexão, um intervalo aberto da alocação é selecionado para o intervalo de endereços IP da sub-rede.

Cada fornecedor de serviços exige um tamanho mínimo de intervalo de endereços IP. Para o Google, o tamanho mínimo é um único bloco /24 (256 endereços), mas o recomendado é um bloco /16 (65.536 endereços). O tamanho escolhido depende de fatores como o número de serviços e regiões que você usa. Pode ser um único serviço em várias regiões para cenários de redundância ou para reduzir a latência.

Por exemplo, se você usar dois serviços em três regiões diferentes, o fornecedor de serviços precisará criar seis sub-redes, cada uma com um bloco /24. A utilização de mais serviços ou regiões poderá esgotar rapidamente uma alocação /20. Caso você não tenha um bloco contíguo /16, comece com uma alocação menor e adicione novos posteriormente, se precisar de mais endereços IP.

Sobre a sub-rede do fornecedor de serviços

Quando você estabelece uma conexão particular e cria um recurso com um endereço IP privado, o serviço cria uma sub-rede para provisionar o recurso. O serviço seleciona um intervalo de endereços IP disponível no intervalo alocado. Não é possível selecionar ou modificar o intervalo de endereços IP da sub-rede do fornecedor de serviços. Mesmo que você exclua a conexão particular ou o intervalo de endereços IP alocado, a sub-rede permanecerá até que todos os recursos na sub-rede sejam excluídos.

À medida que você provisiona mais recursos, eles são provisionados pelo serviço nas sub-redes regionais criadas anteriormente. Se uma sub-rede estiver cheia, o serviço criará uma nova na região.

Considerações

Antes de alocar um intervalo de endereços IP, pense nas 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 mais tarde que o intervalo não é grande o suficiente, amplie-o, se possível. Embora você possa 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 podem ser alocados, mas não sobre o tamanho (máscara de rede) de cada um.
  • 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 atual usando um bloco maior que englobe os intervalos novos e os atuais.
  • Se você mesmo criar a alocação em vez de deixar que o Google faça isso (por meio do Cloud SQL, por exemplo), poderá usar a 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. Quando um serviço do Google aloca um intervalo por você, ele usa o seguinte formato para nomear a alocação: google-managed-services-[your network name]. Se essa alocação já existir, os serviços do Google a utilizarão, em vez de criar outra.

Procedimento

Nas etapas a seguir, você aprende a criar um intervalo de endereços IP alocado.

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 insira um bloco CIDR, como 192.168.0.0/16.
    • Para especificar o tamanho de um 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 particular com o Google para que as instâncias de VM na rede VPC my-network possam usar o Acesso privado a serviços 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 particular

Depois de criar um intervalo alocado, crie uma conexão particular com um fornecedor de serviços. A conexão particular estabelece uma conexão com o Peering de redes VPC entre sua rede VPC e a rede do fornecedor de serviços.

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

Caso você se conecte a vários fornecedores de serviços, use uma alocação exclusiva para cada. Essa prática o ajuda a gerenciar suas configurações de rede, como regras de firewall e rotas, para cada 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 particular entre sua rede e um produtor de serviços.
  6. Em Alocação atribuída, selecione um ou mais intervalos alocados que não estejam sendo usados por outros fornecedores de serviços.
  7. Clique em Conectar para criar a conexão.

gcloud

  1. Crie uma conexão particular.

    gcloud 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 services vpc-peerings operations describe \
        --name=[OPERATION_NAME]
    

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

É possível especificar mais de um intervalo alocado ao criar uma conexão particular. Por exemplo, se um intervalo tiver sido esgotado, será possível atribuir mais intervalos alocados. O serviço usará endereços IP de todos os intervalos fornecidos, na ordem que você especificou.

Como listar conexões particulares

Depois de criar uma conexão particular, liste-a 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 particulares na sua rede VPC.

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

Substitua [VPC_NETWORK] e [PROJECT_ID] pelo nome da sua rede VPC e pelo ID do projeto dela.

Como modificar uma conexão particular

Nas conexões particulares, é possível adicionar ou remover intervalos de endereços IP alocados sem interromper o tráfego. Por exemplo, ao escalonar, é possível adicionar um intervalo alocado caso o atual esteja perto de esgotar.

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 particular do serviço, selecione a guia Conexões particulares com os serviços para visualizar todas as conexões particulares da rede.
  5. Clique no nome de uma conexão na lista.
  6. No menu suspenso Alocação atribuída, selecione os intervalos que você pretende alocar. Não é possível remover os intervalos usando o Console do Google Cloud Platform. Se você quiser removê-los, consulte as instruções da gcloud.
  7. Clique em OK.

gcloud

Adicione ou remova intervalos de endereços IP alocados e atribuídos em uma conexão particular.

gcloud services vpc-peerings update \
    --service=servicenetworking.googleapis.com \
    --ranges=[RESERVED_RANGE_NAME] \
    --network=[VPC_NETWORK] \
    --project=[PROJECT_ID]

Substitua [RESERVED_RANGE_NAME] pelo nome de um ou mais intervalos alocados a serem atribuídos à conexão particular. Substitua [VPC_NETWORK] e [PROJECT_ID] pelo nome da sua rede VPC e pelo ID do projeto da rede. A lista especificada é o novo conjunto de intervalos. Todos os intervalos não incluídos serão excluídos caso existam.

Como excluir uma conexão particular

Para excluir uma conexão particular, é preciso remover a conexão de peering de VPC correspondente. Sua rede VPC será desconectada da rede VPC do fornecedor de serviços. Os recursos atuais em ambas as redes permanecerão, mas perderão o Acesso privado a serviços. Para restabelecer a conectividade, crie uma conexão particular 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 particular de serviço.
  4. Em seguida, selecione a guia Conexão particular com serviços.
  5. Escolha a conexão particular a ser excluída.
  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 particular.

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

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

Como excluir uma alocação

Antes de excluir um intervalo de endereços IP, verifique se ele não está sendo usado por alguma conexão particular. É possível excluir ou modificar uma conexão particular para desassociar o intervalo alocado. Caso contrário, as conexões atuais permanecerão ativas, mas nada impedirá que a VPC use endereços IP que se sobreponham à rede do fornecedor de serviços. Além disso, o serviço não poderá criar novas sub-redes porque não há intervalo de endereços IP para seleção.

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 particular 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 particulares.
  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 do intervalo de endereços IP

Se você esgotar o espaço de endereços IP alocado de uma determinada conexão particular, expanda a alocação atual ou adicione alocações novas. A alocação expandida precisa ser um intervalo contíguo de endereços IP que inclua o intervalo atual. A expansão de uma alocação é recomendada porque não há limite para o tamanho de uma alocação, mas há para o número de alocações que podem ser criadas.

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

  1. Liste suas conexões particulares 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. Dessa forma, os recursos com peering que estejam usando o intervalo alocado antigo poderão continuar utilizando os mesmos endereços IP sem colidir com os recursos da sua rede VPC. Por exemplo, se o intervalo alocado anterior for 192.168.0.0/20, crie um novo intervalo alocado como 192.168.0.0/16.

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

  1. Crie um novo intervalo alocado. Ele não precisa ser contíguo aos intervalos alocados atuais.
  2. Adicione o intervalo alocado à conexão particular.
Esta página foi útil? Conte sua opinião sobre: