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
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.--enforce-new-network-architecture 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:
- Verifique a arquitetura de rede de uma única instância do Cloud SQL ou de várias instâncias do Cloud SQL.
- 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?
- Todas as funcionalidades funcionam da mesma forma após a atualização?
- Que instâncias usam a arquitetura de rede antiga?
- Todas as novas instâncias do Cloud SQL são criadas na nova arquitetura de rede?
- É possível atualizar todas as instâncias num projeto com um único comando?
- A réplica é atualizada automaticamente se eu atualizar a principal?
- Recebi uma notificação a informar que a arquitetura de rede das minhas instâncias do Cloud SQL vai ser atualizada. O que tenho de fazer?
- Quando tento atualizar a minha instância, recebo o erro "fora do intervalo de endereços IP reservados". O que tenho de fazer?
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 CLIgcloud
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?
- Leia mais sobre o Private Service Connect
- Leia mais sobre o Assured Workloads
- Leia mais sobre a configuração do acesso privado ao serviço para o Cloud SQL
- Leia mais sobre o serviço de migração de bases de dados para o AlloyDB para PostgreSQL