Atualize uma instância para a nova arquitetura de rede


Importante: o comando para atualizar as instâncias do Cloud SQL para a nova arquitetura de rede está temporariamente desativado.

Esta página descreve como atualizar as suas instâncias do Cloud SQL da antiga arquitetura de rede para a nova arquitetura de rede.

Esta página de atualização da arquitetura de rede do Cloud SQL aplica-se apenas a algumas instâncias do Cloud SQL. Se as suas instâncias do Cloud SQL usarem um projeto de rede da nuvem virtual privada (VPC) criado antes de agosto de 2021, tem de atualizar a arquitetura de rede do Cloud SQL para as suas instâncias.

Vista geral

A tabela seguinte mostra as vantagens da nova arquitetura de rede em comparação com a arquitetura de rede antiga:

Capacidade Arquitetura de rede antiga Nova arquitetura de rede
Migrar do Cloud SQL para o AlloyDB for PostgreSQL através do serviço de migração de bases de dados Requer a configuração de um endereço IP privado para a migração Não é necessária nenhuma configuração de rede adicional.

Por exemplo, Migração do Cloud SQL para o AlloyDB para PostgreSQL.
Ligue a sua instância do Cloud SQL através do IP privado a serviços privados, como o Cloud Build ou o Vertex AI Não suportado devido à intransitividade do intercâmbio de redes Suportado
Instâncias em conformidade com o Assured Workloads Não suportado Suportado
Microsoft AD gerido Não suportado Suportado
Private Service Connect Não suportado Suportado
Utilização do intervalo de endereços IP Intervalos de endereços IP adicionais consumidos para sub-redes dedicadas para instâncias de IP privado do Cloud SQL para PostgreSQL Não são consumidos intervalos de endereços IP adicionais para instâncias do Cloud SQL para PostgreSQL
Quota de instâncias predefinida do Cloud SQL por projeto 100 1000

Planeie a atualização

Antes de atualizar a arquitetura de rede das suas instâncias do Cloud SQL, planeie a atualização de acordo com as seguintes restrições de atualização:

  • Se atualizar a arquitetura de rede, pode esperar uma inatividade na sua instância de até 4 minutos, em média.

  • Se existir uma migração de dados em curso, não pode atualizar a instância de origem para a nova arquitetura durante a migração de dados.

  • Se estabelecer ligação a uma instância a partir de uma origem externa, verifique se todas as ligações de peering estão atualizadas para permitir a exportação de rotas personalizadas.

  • Se estiver a usar perímetros de serviço, verifique se o projeto anfitrião da VPC partilhada está incluído. Se este projeto não estiver incluído, a migração falha.

  • Não pode atualizar a arquitetura de rede de instâncias numa rede com mais de 300 instâncias do Cloud SQL.

  • Se a sua rede incluir duas ou mais instâncias que usam endereços IP privados na mesma região, o Cloud SQL tem de usar um intervalo adicional /24 (ou intervalos) do seu intervalo de endereços IP de acesso privado a serviços atribuído para alojar as instâncias na nova arquitetura de rede. Este consumo adicional é temporário e é removido durante um evento de manutenção subsequente do Cloud SQL.

Planeie atualizar todas as instâncias do Cloud SQL num projeto de rede

As suas instâncias do Cloud SQL podem residir no mesmo projeto que a rede de VPC ou num projeto separado. O projeto que aloja a rede VPC é o projeto de rede.

Um projeto de rede pode funcionar no modo de pilha dupla, o que significa que pode alojar instâncias do Cloud SQL em simultâneo, usando as arquiteturas de rede antigas e novas. Isto ocorre quando, pelo menos, uma instância no projeto usa a arquitetura antiga. Como resultado, o Cloud SQL não pode atualizar o projeto para a nova arquitetura.

Para consultar a arquitetura de rede de todas as instâncias num projeto, pode usar a CLI gcloud ou a API.

Considerações para projetos de pilha dupla

Quando usar projetos de pilha dupla, tenha em atenção as seguintes considerações:

  • Atualize uma instância implicitamente: quando modifica uma rede privada de uma instância ou ativa o endereço IP privado num projeto de pilha dupla, o Cloud SQL pode atualizar a instância para a nova arquitetura de rede implicitamente.
  • Não existem alterações à arquitetura para versões anteriores: as alterações à rede nunca alteram a arquitetura de rede de uma instância para uma versão anterior.
  • Rejeitar pedidos: se uma alteração da rede precisar de uma desatualização para ser concluída, o Cloud SQL rejeita o pedido.
  • As novas instâncias não podem usar intervalos de IP da arquitetura de rede antiga: quando um projeto está no modo de pilha dupla, não pode criar instâncias que usem intervalos de IP associados a ligações de serviço da arquitetura de rede antiga.
  • Aplicação da nova arquitetura de rede: pode forçar uma instância a usar a nova arquitetura de rede quando criar a instância ou modificar a respetiva configuração de rede. Quando usa a flag --enforce-new-network-architecture para criar ou atualizar a instância, esta é colocada numa sub-rede separada das instâncias que usam a arquitetura de rede antiga. A separação é permanente e persiste mesmo depois de atualizar as instâncias da arquitetura de rede antiga para a nova arquitetura de rede.

    Para ver mais detalhes sobre a atribuição de IPs e as sub-redes, consulte o artigo Intervalos de endereços IP atribuídos.

Para evitar potenciais conflitos e garantir uma atualização de rede sem problemas, recomendamos que planeie atualizar todas as instâncias no projeto para a nova arquitetura.

Atualize a arquitetura de rede do Cloud SQL

Para atualizar a arquitetura de rede da sua instância do Cloud SQL, faça o seguinte:

  1. Verifique a arquitetura de rede de uma única instância do Cloud SQL ou de várias instâncias do Cloud SQL.
  2. Atualize a arquitetura de rede de uma instância do Cloud SQL.

Verifique a arquitetura de rede de uma única instância do Cloud SQL

Para verificar a arquitetura de rede atual de uma única instância, use o comando gcloud sql instances describe ou o método instances.get.

gcloud

Para informações sobre a instalação e o início da utilização da CLI gcloud, consulte o artigo Instale a CLI gcloud. Para obter informações sobre como iniciar a Cloud Shell, consulte o artigo Use a Cloud Shell.

Para verificar a arquitetura de rede de uma única instância, execute o seguinte comando:

   gcloud sql instances describe INSTANCE_NAME
   

Se a instância usar a arquitetura de rede antiga, a resposta é semelhante à seguinte:

   name: INSTANCE_NAME
   project: PROJECT_ID
   ...
   sqlNetworkArchitecture: OLD_NETWORK_ARCHITECTURE
  

Se a instância usar a nova arquitetura de rede, a resposta é semelhante à seguinte:

   name: INSTANCE_NAME
   project: PROJECT_ID
   ...
   sqlNetworkArchitecture: NEW_NETWORK_ARCHITECTURE
  

O parâmetro sqlNetworkArchitecture indica se a sua instância usa a arquitetura de rede antiga (OLD_NETWORK_ARCHITECTURE) ou a nova arquitetura de rede (NEW_NETWORK_ARCHITECTURE).

REST v1

Para verificar a arquitetura de rede de uma instância, use o método instances.get da API Admin do Cloud SQL.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • NETWORK_ARCHITECTURE_TYPE: O tipo de arquitetura de rede é definido da seguinte forma:
    • OLD_NETWORK_ARCHITECTURE: a instância usa a arquitetura de rede antiga.
    • NEW_NETWORK_ARCHITECTURE: a instância usa a nova arquitetura de rede.

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON do pedido:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

REST v1beta4

Para verificar a arquitetura de rede de uma instância, use o método instances.get da API Admin do Cloud SQL.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • NETWORK_ARCHITECTURE_TYPE: O tipo de arquitetura de rede é definido da seguinte forma:
    • OLD_NETWORK_ARCHITECTURE: a instância usa a arquitetura de rede antiga.
    • NEW_NETWORK_ARCHITECTURE: a instância usa a nova arquitetura de rede.

Método HTTP e URL:

GET https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON do pedido:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

Verifique a arquitetura de rede de várias instâncias do Cloud SQL

Para verificar a arquitetura de rede de várias instâncias num projeto, use o comando gcloud sql instances list ou o método instance.list.

gcloud

Para verificar a arquitetura de rede de várias instâncias num projeto, execute o seguinte comando:

gcloud sql instances list --show-sql-network-architecture

O resultado tem um aspeto semelhante ao seguinte.

NAME        DATABASE_VERSION LOCATION   ...     SQL_NETWORK_ARCHITECTURE
instance_1  POSTGRES_13      asia-northeast1-b  OLD_NETWORK_ARCHITECTURE
instance_2  MYSQL_5_7        europe-west1-d     NEW_NETWORK_ARCHITECTURE
...

REST v1

Para verificar a arquitetura de rede de várias instâncias num projeto, use o método instance.list.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto.
  • NETWORK_ARCHITECTURE_TYPE: O tipo de arquitetura de rede da seguinte forma:
    • OLD_NETWORK_ARCHITECTURE: a instância usa a arquitetura de rede antiga.
    • NEW_NETWORK_ARCHITECTURE: a instância usa a nova arquitetura de rede.

Método HTTP e URL:

LIST https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances

Corpo JSON do pedido:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

REST v1beta4

Para verificar a arquitetura de rede de várias instâncias num projeto, use o método instance.list.

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto.
  • NETWORK_ARCHITECTURE_TYPE: O tipo de arquitetura de rede é definido da seguinte forma:
    • OLD_NETWORK_ARCHITECTURE: a instância usa a arquitetura de rede antiga.
    • NEW_NETWORK_ARCHITECTURE: a instância usa a nova arquitetura de rede.

Método HTTP e URL:

LIST https://sqladmin.googleapis.com/v1beta4/projects/PROJECT_ID/instances

Corpo JSON do pedido:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": sql#instance
  "name": INSTANCE_NAME
  "project": PROJECT_ID
  "sqlNetworkArchitecture": enum (SqlNetworkArchitecture)
  ...
}

Atualize a arquitetura de rede de uma única instância do Cloud SQL

Para atualizar a arquitetura de rede de uma única instância, use o comando gcloud sql instances patch, o método instance.update ou o método instance.patch.

gcloud

Para atualizar a arquitetura de rede de uma instância, execute o seguinte comando:

gcloud sql instances patch INSTANCE_NAME --upgrade-sql-network-architecture

A operação de atualização demora alguns minutos.

Durante a atualização, é iniciada uma operação de longa duração e é devolvido um token de operação:

operation_id

REST v1

Para atualizar a arquitetura de rede de uma instância, use o método instance.update ou o método instance.patch da API Admin do Cloud SQL.

Quando atualiza a arquitetura de rede do Cloud SQL, não são permitidas atualizações adicionais à instância no pedido. O corpo do pedido contém uma instância do objeto DatabaseInstance, com sqlNetworkArchitecture definido como NEW_NETWORK_ARCHITECTURE.

Durante a atualização, é iniciada uma operação de longa duração e é devolvido um token de operação:

operation_id

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • NETWORK_ARCHITECTURE_TYPE: O tipo de arquitetura de rede é definido da seguinte forma:
    • OLD_NETWORK_ARCHITECTURE: a instância usa a arquitetura de rede antiga.
    • NEW_NETWORK_ARCHITECTURE: a instância usa a nova arquitetura de rede.

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON do pedido:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": sql#instance,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "name": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string
  ...
}

Se a atualização da sua instância falhar, tente novamente a operação de atualização.

REST v1beta4

Para atualizar a arquitetura de rede de uma instância, use o comando instance.update method ou o comando instance.patch method da API Admin do Cloud SQL.

Quando atualiza a arquitetura de rede do Cloud SQL, não são permitidas atualizações adicionais à instância no pedido. O corpo do pedido contém uma instância do objeto DatabaseInstance, com sqlNetworkArchitecture definido como NEW_NETWORK_ARCHITECTURE.

Durante a atualização, é iniciada uma operação de longa duração e é devolvido o seguinte token de operação:

operation_id

Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:

  • PROJECT_ID: o ID do projeto.
  • INSTANCE_NAME: o nome da instância.
  • NETWORK_ARCHITECTURE_TYPE: O tipo de arquitetura de rede é definido da seguinte forma:
    • OLD_NETWORK_ARCHITECTURE: a instância usa a arquitetura de rede antiga.
    • NEW_NETWORK_ARCHITECTURE: a instância usa a nova arquitetura de rede.

Método HTTP e URL:

PATCH https://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME

Corpo JSON do pedido:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar o seu pedido, expanda uma destas opções:

Deve receber uma resposta JSON semelhante à seguinte:

{
  "kind": sql#instance,
  "targetLink": string,
  "status": enum (SqlOperationStatus),
  "name": string,
  "insertTime": string,
  "startTime": string,
  "endTime": string
  ...
}

Se a atualização da sua instância falhar por qualquer motivo, pode tentar novamente a operação de atualização.

Perguntas frequentes

Esta secção faculta respostas a Perguntas frequentes sobre a atualização da arquitetura de rede do Cloud SQL.

Qual é o impacto da atualização na minha instância do Cloud SQL?

Quando atualiza a arquitetura de rede, a instância do Cloud SQL tem um estado de MANUTENÇÃO. Neste estado, a instância fica inativa, em média, até quatro minutos. Não são permitidas alterações adicionais à instância até que a atualização esteja concluída. Outras instâncias no seu projeto ou rede não são afetadas pela atualização.

Todas as funcionalidades funcionam da mesma forma após a atualização?

Todas as funcionalidades da sua instância do Cloud SQL funcionam da mesma forma na nova arquitetura que na arquitetura antiga. Depois de atualizar uma instância para usar a nova arquitetura de rede, se quiser mudar a rede dessa instância, certifique-se de que todas as instâncias na rede de destino também são atualizadas para a nova arquitetura de rede.

Que instâncias usam a arquitetura de rede antiga?

Todos os novos projetos criados após agosto de 2021 usam automaticamente a nova arquitetura de rede. Os projetos existentes podem conter instâncias do Cloud SQL criadas antes de agosto de 2021 e que ainda usam a arquitetura de rede antiga. Por conseguinte, todas as instâncias num projeto existente têm de ser atualizadas antes de quaisquer novas instâncias nesse projeto poderem começar a usar a nova arquitetura de rede.

Todas as novas instâncias do Cloud SQL são criadas na nova arquitetura de rede?

Por predefinição, as novas instâncias do Cloud SQL criadas em projetos criados após agosto de 2021 usam a nova arquitetura de rede.

Se quiser criar uma instância num projeto criado antes de agosto de 2021 e usar a nova arquitetura de rede, tem as seguintes opções:

  • Atualizar todas as instâncias existentes: atualize todas as instâncias existentes no projeto para a nova arquitetura de rede. Se estiver a usar a VPC partilhada, tem de atualizar todas as instâncias nos projetos que estão a participar na VPC partilhada. Depois de atualizar todas as instâncias existentes no projeto, aguarde várias horas antes de criar instâncias adicionais no projeto. As novas instâncias que criar no projeto vão usar a nova arquitetura de rede.

  • Aplique a utilização da nova arquitetura de rede: pode forçar o Cloud SQL a usar a nova arquitetura de rede através do campo sqlNetworkArchitecture na API ou da flag --enforce-new-network-architecture na CLI gcloud quando cria uma instância ou modifica a configuração de rede de IP privado de uma instância existente. No entanto, quando aplica uma nova arquitetura de rede às instâncias antes de um projeto ser totalmente atualizado, pode ocorrer uma falha na criação de instâncias se não houver espaço de endereço IP suficiente disponível. Para ver mais detalhes sobre a atribuição de intervalos de endereços IP, consulte o artigo Intervalos de endereços IP atribuídos.

Se existirem instâncias eliminadas recentemente com a arquitetura de rede antiga, tem de aguardar quatro dias antes de criar uma nova instância com a nova arquitetura de rede. Este atraso permite restaurar uma instância eliminada.

É possível atualizar todas as instâncias num projeto com um único comando?

Não, a atualização para a nova arquitetura de rede baseia-se em cada instância.

A réplica é atualizada automaticamente se eu atualizar a principal?

Não, a atualização para a nova arquitetura de rede baseia-se em cada instância individual. Cada réplica é tratada como uma instância separada e tem de ser atualizada separadamente. Isto significa que, se o servidor principal for atualizado e a réplica estiver a usar a arquitetura de rede antiga, a réplica não é afetada. O oposto também é verdadeiro. Se atualizar uma réplica, o elemento principal não é afetado.

Recebi uma notificação a indicar que a arquitetura de rede das minhas instâncias do Cloud SQL vai ser atualizada. O que necessito de fazer?

Não é necessária nenhuma ação da sua parte.

Em alguns casos, quando a atualização automática ocorre numa rede privada, o pedido é rejeitado temporariamente. Como solução alternativa, pode atualizar a arquitetura de rede da sua instância por conta própria seguindo o procedimento descrito no artigo Atualize a arquitetura de rede de uma única instância do Cloud SQL.

Quando tento atualizar a minha instância, recebo o erro "fora do intervalo de endereços IP reservados". O que necessito de fazer?

Para usar instâncias do Cloud SQL numa rede VPC com IP privado, atribua intervalos de endereços IP quando configurar o acesso privado a serviços para a rede VPC.

Por exemplo, se um intervalo de endereços IP atribuído for alterado ou eliminado, pode ocorrer um erro semelhante ao seguinte:

Network architecture upgrade not allowed for private-ip instance PROJECT_ID:INSTANCE_NAME
whose IP address range 10.0.0.0/24 is outside the reserved IP address range for
private services access. Re-allocate the IP address range for private services access and retry.

Neste exemplo, o intervalo de endereços IP atribuído original tem o nome google-managed-services-VPC_NETWORK_NAME e o intervalo de endereços IP atribuído original é 10.0.0.0/16. Em seguida, cria uma instância com um endereço IP privado de 10.0.0.1. Se o intervalo de endereços IP de google-managed-services-VPC_NETWORK_NAME for eliminado ou for atualizado para referir-se a um intervalo de 10.1.0.0/16 este intervalo não abrange o endereço IP privado da instância 10.0.0.1. Posteriormente, quando tenta atualizar a arquitetura de rede da sua instância, ocorre o erro outside the reserved IP address range.

Para resolver este problema, siga o procedimento em Configure o acesso a serviços privados para o Cloud SQL. Reatribua um intervalo de endereços IP que inclua o endereço IP da sua instância aos intervalos atribuídos para acesso privado a serviços. No mínimo, pode atribuir o intervalo de endereços IP comunicado na sua mensagem de erro (no exemplo anterior, 10.0.0.0/24).

Em seguida, tente novamente a atualização da arquitetura de rede.

O que se segue?