Migrar uma sub-rede de serviço do peering para o Private Service Connect
Este documento descreve 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 de migração exige que todos os recursos conectados a uma determinada sub-rede sejam migrados ao mesmo tempo.
O processo de migração é iniciado pelo produtor do serviço, mas envolve tarefas que são 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 no preço 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
- Entenda o processo de migração, incluindo as considerações para migração.
- Entenda os preços para consumidores e produtores do Private Service Connect.
- Confira como publicar um serviço pelo Private Service Connect.
Implantar o serviço usando o Private Service Connect
Crie uma nova rede VPC, implante recursos de serviço na rede e publique o serviço pelo 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 para criar o endpoint.
Desligue o serviço baseado em peering
Para encerrar 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 impedir 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 de consumidor pretendida. Essa sub-rede não existe no momento em que você executa esse comando.
Excluir a sub-rede do produtor de peering
É necessário 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, você pode excluir a sub-rede.
Criar recursos de consumidor
Trabalhe com o consumidor do serviço para criar os seguintes recursos na rede VPC. 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 de pares
Crie uma sub-rede de migração de peer 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
, que impede que ela seja
usada para recursos diferentes dos endpoints do Private Service Connect.
Para mais informações, consulte Subredes de migração de peers.
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 consumidorCONSUMER_PROJECT
: o ID do projeto do consumidorCONSUMER_NETWORK
: o nome da rede do consumidorCIDR_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 de peer do consumidor. O consumidor precisa do URI do anexo de serviço para criar o endpoint.
gcloud
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 consumidorREGION
: 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. Esse endereço precisa ser o mesmo que foi usado no balanceador de carga do serviço.CONSUMER_SUBNET
: o nome da sub-rede do consumidor
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 endpointREGION
: a região em que o endpoint será criadoCONSUMER_NETWORK
: o nome da rede do consumidorENDPOINT_ADDRESS
: o endereço IP reservado a ser atribuído ao endpoint. É possível 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 é criada, o intervalo interno não é mais necessário e pode 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 internoPRODUCER_PROJECT_ID
: o ID do projeto do produtor.
Validar se o endpoint funciona
Peça ao consumidor para confirmar se ele pode 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, você poderá reverter a migração.
Finalizar a migração
Se o endpoint estiver funcionando conforme o esperado, será possível finalizar a migração atualizando a sub-rede de migração de peer do consumidor para uma sub-rede normal.
Atualizar a sub-rede de migração de pares do consumidor
Atualizar a sub-rede de migração de pares do consumidor para uma sub-rede normal permite que o consumidor use a sub-rede para qualquer tipo de recurso.
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 consumidorREGION
: a região da sub-rede do consumidorCONSUMER_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 a migração se a sub-rede do consumidor ainda não foi atualizada para uma sub-rede normal. Se você reverter, o serviço será disponibilizado pelo peering de rede VPC.
- Se ainda existir, exclua o intervalo interno no projeto do produtor.
Crie um intervalo interno no projeto do consumidor. Ao reverter, a origem da migração é a sub-rede de consumidor, e o destino da migração é a sub-rede de 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
Exclua o endpoint do Private Service Connect do consumidor.
Exclua o recurso de endereço IP do consumidor.
Recrie a sub-rede do produtor usando o mesmo nome e intervalo CIDR. Defina o propósito da sub-rede como
PRIVATE
.Recrie os recursos necessários para fornecer o serviço na sub-rede do produtor.
O consumidor valida que pode acessar o serviço pela conexão de peering.