Migrar uma sub-rede de serviço do peering para o Private Service Connect

Neste documento, descrevemos como os produtores de serviços podem migrar os serviços baseados em peering para o Private Service Connect e preservar o endereço IP usado para acessar o serviço. Esse processo exige que todos os recursos conectados a uma determinada sub-rede sejam migrados ao mesmo tempo.

O processo de migração é iniciado pelo produtor de serviços, mas envolve tarefas concluídas pelo produtor e pelo consumidor. Os serviços gerenciados pelo Google podem usar um agente de serviço para realizar tarefas em nome do consumidor. A migração envolve um tempo de inatividade e uma mudança nos preços para o produtor e o consumidor.

Cada produtor de serviços determina se e quando vai migrar para o Private Service Connect. Para saber se um produtor de serviços está migrando do peering de rede VPC para o Private Service Connect, consulte a documentação do serviço ou entre em contato com o produtor.

Antes de começar

Implante o serviço usando o Private Service Connect

Crie uma rede VPC, implante recursos de serviço nela e publique o serviço usando o Private Service Connect.

Ao criar o balanceador de carga para o serviço, use um endereço IP diferente do que foi usado anteriormente pelo balanceador de carga. O endereço IP original será necessário mais tarde para criar o endpoint.

Ao publicar um serviço, você cria um anexo de serviço. O URI do anexo de serviço também é necessário mais tarde para criar o endpoint.

Desativar o serviço baseado em peering

Para desligar o serviço baseado em peering, crie um intervalo interno para reservar o intervalo de endereços IP do serviço antes de excluir a sub-rede do produtor.

Criar um intervalo interno

Antes de excluir a sub-rede do produtor, crie um intervalo interno para evitar que o intervalo de endereços IP da sub-rede seja reutilizado por outras sub-redes na rede do produtor ou do consumidor.

Para mais informações sobre esse intervalo interno, consulte Intervalos internos para migração.

gcloud

Use o comando internal-ranges create.

gcloud network-connectivity internal-ranges create RANGE_NAME \
    --project=PRODUCER_PROJECT_ID \
    --ip-cidr-range=CIDR_RANGE \
    --network=PRODUCER_NETWORK_NAME \
    --usage=FOR_MIGRATION \
    --migration-source=PRODUCER_SUBNET_URI \
    --migration-target=CONSUMER_SUBNET_URI

Substitua:

  • RANGE_NAME: o nome do novo intervalo interno.
  • PRODUCER_PROJECT_ID: o ID do projeto do produtor.
  • CIDR_RANGE: o intervalo CIDR que será alocado para o novo intervalo interno.
  • PRODUCER_NETWORK_NAME: o nome da rede em que o intervalo interno será criado.
  • PRODUCER_SUBNET_URI: o URI da sub-rede do produtor que contém o balanceador de carga do serviço.
  • CONSUMER_SUBNET_URI: o URI da sub-rede do consumidor pretendido. Essa sub-rede não existe quando você executa esse comando.

Excluir a sub-rede do produtor de peering

É preciso excluir todos os recursos na sub-rede do produtor antes de excluir a sub-rede. Por exemplo, instâncias de máquina virtual (VM), regras de encaminhamento, grupos de instâncias, verificações de integridade e endereços IP reservados. Depois de excluir os recursos, exclua a sub-rede.

Criar recursos do consumidor

Trabalhe com o consumidor de serviços para criar os seguintes recursos na rede VPC dele. Os recursos podem ser criados manualmente ou, para serviços gerenciados pelo Google, podem ser automatizados por um agente de serviço.

Criar uma sub-rede de migração por peering

Crie uma sub-rede de migração de peering na rede VPC do consumidor para fornecer o endereço IP do endpoint do Private Service Connect. A sub-rede tem a finalidade PEER_MIGRATION, o que impede que ela seja usada para recursos que não sejam endpoints do Private Service Connect.

Para mais informações, consulte Sub-redes de migração de peering.

Console

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique no nome de uma rede VPC para mostrar a página Detalhes da rede VPC.

  3. Clique na guia Sub-redes.

  4. Clique em Adicionar sub-rede. No painel que aparecerá, faça o seguinte:

    1. Forneça um Nome.
    2. Selecione uma região.
    3. Na seção Finalidade, selecione Migração de peering.
    4. Em Tipo de pilha de IP, selecione IPv4 (pilha única).
    5. Insira o intervalo de endereços IPv4 a ser alocado para a nova sub-rede. Esse intervalo precisa corresponder ao intervalo CIDR do intervalo interno.

      Se você selecionar um intervalo que não seja um endereço RFC 1918, confirme se o intervalo não entra em conflito com uma configuração existente. Para mais informações, consulte Intervalos de sub-rede IPv4.

  5. Clique em Adicionar.

gcloud

Use o comando networks subnets create.

gcloud compute networks subnets create CONSUMER_SUBNET \
    --purpose=PEER_MIGRATION \
    --project=CONSUMER_PROJECT \
    --network=CONSUMER_NETWORK \
    --range=CIDR_RANGE \
    --region=REGION

Substitua:

  • CONSUMER_SUBNET: o nome da sub-rede do consumidor
  • CONSUMER_PROJECT: o ID do projeto do consumidor.
  • CONSUMER_NETWORK: o nome da rede do consumidor
  • CIDR_RANGE: o intervalo CIDR a ser alocado para a nova sub-rede. Esse intervalo precisa corresponder ao intervalo CIDR do intervalo interno.
  • REGION: a região em que a sub-rede será criada.

Criar um endpoint do Private Service Connect

Crie um endpoint do Private Service Connect na sub-rede de migração por peering do consumidor. O consumidor precisa do URI do anexo de serviço para criar o endpoint.

Console

  1. No console do Google Cloud , acesse a página Private Service Connect.

    Acessar Private Service Connect

  2. Clique na guia Endpoints conectados.

  3. Clique em Conectar endpoint.

  4. Em Destino, selecione Serviço publicado.

  5. Em Serviço de destino, digite o URI do anexo de serviço ao qual você quer se conectar.

    O URI do anexo de serviço está neste formato: projects/SERVICE_PROJECT/regions/REGION/serviceAttachments/SERVICE_NAME

  6. Em Nome do endpoint, digite um nome para usar o endpoint.

  7. Em Rede, selecione a rede VPC do consumidor para o endpoint.

  8. Em Sub-rede, selecione a sub-rede de migração de peer do consumidor.

  9. Para reservar um endereço IP para o endpoint, faça o seguinte:

    1. Clique no menu suspenso Endereço IP e selecione Criar endereço IP.
    2. Digite um nome e uma descrição opcional para o endereço IP.
    3. Clique em Endereço IP estático e selecione Quero escolher.
    4. Insira o endereço IP personalizado que você quer reservar. Esse endereço IP precisa ser o mesmo usado no balanceador de carga do serviço.
    5. Clique em Reservar.
  10. Clique em Adicionar endpoint.

gcloud

  1. Reserve um endereço IP interno para o endpoint.

    Use o comando addresses create.

    gcloud compute addresses create ENDPOINT_ADDRESS_NAME \
        --project=CONSUMER_PROJECT \
        --region=REGION \
        --address=ENDPOINT_ADDRESS \
        --subnet=CONSUMER_SUBNET
    

    Substitua:

    • ENDPOINT_ADDRESS_NAME: um nome para o recurso de endereço IP.
    • CONSUMER_PROJECT: o ID do projeto do consumidor.
    • REGION: a região em que o endereço IP será criado.
    • ENDPOINT_ADDRESS: o endereço IP a ser atribuído ao recurso de endereço IP. Ele precisa ser o mesmo usado no balanceador de carga do serviço.
    • CONSUMER_SUBNET: o nome da sub-rede de migração de peering do consumidor
  2. Crie o endpoint.

    Use o comando forwarding-rules create:

    gcloud compute forwarding-rules create ENDPOINT \
        --region=REGION \
        --network=CONSUMER_NETWORK \
        --address=ENDPOINT_ADDRESS \
        --target-service-attachment=SERVICE_ATTACHMENT_URI
    

    Substitua:

    • ENDPOINT: um nome para o endpoint
    • REGION: a região em que o endpoint será criado.
    • CONSUMER_NETWORK: o nome da rede do consumidor
    • ENDPOINT_ADDRESS: o endereço IP reservado a ser atribuído ao endpoint. Você pode especificar o endereço IP diretamente ou usar o nome do recurso de endereço IP.
    • SERVICE_ATTACHMENT_URI: o URI do anexo de serviço

Excluir o intervalo interno do produtor

Depois que a sub-rede de migração do consumidor for criada, o intervalo interno não será mais necessário e poderá ser excluído.

gcloud

Use o comando internal-ranges delete:

gcloud network-connectivity internal-ranges delete RANGE_NAME \
    --project=PRODUCER_PROJECT_ID

Substitua:

  • RANGE_NAME: o nome do intervalo interno
  • PRODUCER_PROJECT_ID: o ID do projeto do produtor.

Validar se o endpoint funciona

Peça para o consumidor confirmar se ele consegue se conectar ao serviço pelo endpoint.

Se o endpoint não estiver funcionando e a solução de problemas não resolver o problema, reverta a migração.

Finalizar a migração

Se o endpoint estiver funcionando conforme o esperado, finalize a migração atualizando a sub-rede de migração do peer do consumidor para uma sub-rede normal.

Atualizar a sub-rede de migração entre iguais do consumidor

A atualização da sub-rede de migração entre pares do consumidor para uma sub-rede regular permite que o consumidor use a sub-rede para qualquer tipo de recurso.

Console

  1. No console do Google Cloud , acesse a página Redes VPC.

    Acessar redes VPC

  2. Clique no nome de uma rede VPC para mostrar a página Detalhes da rede VPC.

  3. Clique na guia Sub-redes.

  4. Clique no nome da sub-rede que você quer atualizar.

  5. Clique em Editar.

  6. Na seção Finalidade, selecione Particular.

  7. Clique em Salvar.

gcloud

Use o comando networks subnets create:

gcloud compute networks subnets update CONSUMER_SUBNET \
    --purpose=PRIVATE \
    --region=REGION \
    --project=CONSUMER_PROJECT

Substitua:

  • CONSUMER_SUBNET: o nome da sub-rede do consumidor
  • REGION: a região da sub-rede do consumidor
  • CONSUMER_PROJECT: o ID do projeto do consumidor.

Excluir as conexões de peering

Se a conexão de peering não for mais necessária, exclua as configurações de peering para o consumidor e o produtor.

Reverter a migração

Só é possível reverter da migração se a sub-rede do consumidor ainda não tiver sido atualizada para uma sub-rede regular. Se você reverter, o serviço será disponibilizado pelo peering de rede VPC.

  1. Se ele ainda existir, exclua o intervalo interno no projeto do produtor.
  2. Crie um intervalo interno no projeto do consumidor. Ao fazer o rollback, a origem da migração é a sub-rede do consumidor, e o destino é a sub-rede do produtor.

    gcloud network-connectivity internal-ranges create RANGE_NAME \
        --project=CONSUMER_PROJECT \
        --ip-cidr-range=CIDR_RANGE \
        --network=CONSUMER_NETWORK \
        --usage=FOR_MIGRATION \
        --migration-source=CONSUMER_SUBNET_URI \
        --migration-target=PRODUCER_SUBNET_URI
    
  3. Exclua o endpoint do Private Service Connect do consumidor.

  4. Exclua o recurso de endereço IP do consumidor.

  5. Recrie a sub-rede do produtor usando o mesmo nome e intervalo de CIDR. Defina a finalidade da sub-rede como PRIVATE.

  6. Recrie os recursos necessários para fornecer o serviço na sub-rede do produtor.

  7. O consumidor valida se pode acessar o serviço pela conexão de peering.