Fazer upgrade de uma instância para a nova arquitetura de rede


Nesta página, descrevemos como fazer upgrade das suas instâncias do Cloud SQL da arquitetura de rede antiga para a nova.

O upgrade da arquitetura de rede do Cloud SQL mostrado nesta página se aplica apenas a algumas instâncias do Cloud SQL. Se as instâncias do Cloud SQL usarem um projeto de rede de nuvem privada virtual (VPC) criado antes de agosto de 2021, será necessário fazer upgrade da arquitetura de rede do Cloud SQL para suas instâncias.

Visão geral

A tabela a seguir mostra os benefícios da nova arquitetura de rede em comparação com a antiga:

Capacidade Arquitetura de rede antiga Nova arquitetura de rede
Migrar do Cloud SQL para o AlloyDB para PostgreSQL usando o Database Migration Service Exige que você configure um endereço IP particular para a migração. Nenhuma configuração de rede extra é necessária.

Por exemplo, migração do Cloud SQL para o AlloyDB para PostgreSQL.
Conectar sua instância do Cloud SQL usando o IP privado a serviços privados, como o Cloud Build ou a Vertex AI. Indisponível devido à intransitividade do peering de rede Compatível
Instâncias que estão em conformidade com o Assured Workloads Não compatível Compatível
Microsoft AD gerenciado Não compatível Compatível
Private Service Connect Não compatível Compatível
Cota de instâncias padrão do Cloud SQL por projeto 100 1000

Planeje o upgrade.

Planeje o upgrade da arquitetura de rede das instâncias do Cloud SQL de acordo com as seguintes restrições:

  • Se você fizer upgrade da arquitetura de rede, a instância terá um período de inatividade de até quatro minutos em média.

  • Se houver uma migração de dados em andamento, não será possível fazer upgrade da instância de origem para a nova arquitetura durante a migração.

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

  • Se você estiver usando perímetros de serviço, verifique se o projeto host da VPC compartilhada está incluído. Se esse projeto não for incluído, a migração vai falhar.

  • Não é possível fazer upgrade da arquitetura de rede de instâncias em uma rede com mais de 300 instâncias do Cloud SQL.

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

  • As instâncias legadas de alta disponibilidade (HA) com réplicas de failover não são compatíveis com o upgrade.

  • Após fazer upgrade da arquitetura de rede, não será possível criar réplicas de failover de alta disponibilidade legadas para instâncias atualizadas.

Planejar o upgrade de todas as instâncias do Cloud SQL em um projeto de rede

As instâncias do Cloud SQL podem estar no mesmo projeto que a rede VPC ou em um projeto separado. O projeto que hospeda a rede VPC é o projeto de rede.

Um projeto de rede pode operar no modo stack dupla, ou seja, pode hospedar instâncias do Cloud SQL simultaneamente, usando a arquitetura de rede antiga e a nova. Isso ocorre quando pelo menos uma instância no projeto usa a arquitetura antiga. Como resultado, o Cloud SQL não pode fazer upgrade do projeto para a nova arquitetura.

Para consultar a arquitetura de rede de todas as instâncias em um projeto, use a CLI gcloud ou a API.

Considerações sobre projetos de pilha dupla

Ao usar projetos de pilha dupla, considere o seguinte:

  • Fazer upgrade de uma instância de forma implícita: quando você modifica a rede privada de uma instância ou ativa o endereço IP particular em um projeto de pilha dupla, o Cloud SQL pode fazer upgrade da instância para a nova arquitetura de rede de forma simples.
  • Nenhum downgrade de arquitetura: as mudanças de rede nunca fazem downgrade da arquitetura de rede de uma instância.
  • Rejeitar solicitações: se uma mudança de rede precisar de um downgrade para ser concluída, o Cloud SQL vai rejeitar a solicitação.

Para evitar possíveis conflitos e garantir um upgrade de rede tranquilo, recomendamos que você planeje o upgrade de todas as instâncias do projeto para a nova arquitetura.

Fazer upgrade da arquitetura de rede do Cloud SQL

Para fazer upgrade da arquitetura de rede das instâncias do Cloud SQL, faça o seguinte:

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

Verificar 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 como instalar e dar os primeiros passos com a CLI gcloud, consulte Instalar a CLI gcloud. Para mais informações sobre como iniciar o Cloud Shell, consulte Usar o 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 será semelhante a esta:

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

Se a instância usar a nova arquitetura de rede, a resposta será semelhante a esta:

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

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

REST v1

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

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 maneira:
    • 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 Cloud SQL Admin.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 maneira:
    • 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

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

Para verificar a arquitetura de rede de várias instâncias em um 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 em um projeto, execute o seguinte comando:

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

A resposta será similar à mostrada a seguir.

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 em um projeto, use o método instance.list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • NETWORK_ARCHITECTURE_TYPE: o tipo de arquitetura de rede, por exemplo:
    • 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

{
  "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 em um projeto, use o método instance.list.

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • PROJECT_ID: o ID do projeto.
  • NETWORK_ARCHITECTURE_TYPE: o tipo de arquitetura de rede é definido da seguinte maneira:
    • 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Fazer upgrade da arquitetura de rede de uma única instância do Cloud SQL

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

gcloud

Para fazer upgrade da arquitetura de rede de uma instância, execute o seguinte comando:

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

O upgrade leva alguns minutos.

Durante o upgrade, uma operação de longa duração é iniciada e um token de operação é retornado:

operation_id

REST v1

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

Quando você faz upgrade da arquitetura de rede do Cloud SQL, nenhuma outra atualização para a instância é permitida na solicitação. O corpo da solicitação contém uma instância do objeto DatabaseInstance, com sqlNetworkArchitecture definido como NEW_NETWORK_ARCHITECTURE.

Durante o upgrade, uma operação de longa duração é iniciada e um token de operação é retornado:

operation_id

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 maneira:
    • 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Se o upgrade da instância falhar, tente novamente.

REST v1beta4

Para fazer upgrade da arquitetura de rede de uma instância, use instance.update method ou instance.patch method da API Cloud SQL Admin.

Quando você faz upgrade da arquitetura de rede do Cloud SQL, nenhuma outra atualização para a instância é permitida na solicitação. O corpo da solicitação contém uma instância do objeto DatabaseInstance, com sqlNetworkArchitecture definido como NEW_NETWORK_ARCHITECTURE.

Durante o upgrade, uma operação de longa duração é iniciada, e o seguinte token de operação é retornado:

operation_id

Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:

  • 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 maneira:
    • 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

Para enviar a solicitação, expanda uma destas opções:

Você receberá uma resposta JSON semelhante a esta:

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

Se o upgrade da instância falhar por qualquer motivo, tente novamente.

Perguntas frequentes

Nesta seção, você verá respostas para perguntas frequentes sobre como fazer upgrade da arquitetura de rede do Cloud SQL.

Qual é o impacto do upgrade na minha instância do Cloud SQL?

Ao fazer upgrade da arquitetura de rede, a instância do Cloud SQL tem um estado de MANUTENÇÃO. Nesse estado, a instância sofre até quatro minutos de inatividade, em média. Não é permitido fazer outras alterações na instância até que o upgrade seja concluído. Outras instâncias no projeto ou na rede não são afetadas pelo upgrade.

Todos os recursos funcionam da mesma forma após o upgrade?

Todos os recursos da instância do Cloud SQL funcionam na nova arquitetura da mesma forma que na arquitetura antiga. Depois de fazer upgrade de uma instância para usar a nova arquitetura de rede, se você quiser alternar a rede dessa instância, verifique se todas as instâncias na rede de destino também têm upgrade para a nova arquitetura de rede.

Quais 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 com mais de dois anos, que, portanto, ainda usam a arquitetura de rede antiga. Sendo assim, todas as instâncias em um projeto atual precisam ser atualizadas antes que novas instâncias nesse projeto possam usar a nova arquitetura de rede.

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

Por padrão, as novas instâncias do Cloud SQL criadas em projetos posteriores a agosto de 2021 usam a nova arquitetura de rede.

Se você quiser criar uma instância em um projeto criado antes de agosto de 2021 e usar a nova arquitetura de rede, será necessário atualizar todas as instâncias atuais nesse projeto para a nova arquitetura de rede. Se você estiver usando a VPC compartilhada, será necessário atualizar todas as instâncias nos projetos que estão participando da VPC compartilhada.

Depois de atualizar todas as instâncias do projeto, aguarde várias horas antes de criar novas instâncias. As novas instâncias criadas no projeto usam a nova arquitetura de rede.

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

Não, o upgrade para a nova arquitetura de rede é baseado em cada instância.

A réplica receberá upgrade automaticamente se eu fizer upgrade da principal?

Não, o upgrade para a nova arquitetura de rede é baseado em cada instância. Cada réplica é tratada como uma instância separada e precisa ser atualizada separadamente. Isso significa que, se o principal for atualizado e a réplica estiver usando a arquitetura de rede antiga, a réplica não será afetada. O oposto também é verdadeiro. Se você fizer upgrade de uma réplica, a principal não será afetada.

Recebi uma notificação informando que a arquitetura de rede das minhas instâncias do Cloud SQL será atualizada. O que eu preciso fazer?

Você não precisa fazer nada.

Em algumas instâncias, quando o upgrade automático ocorre em uma rede privada, a solicitação é temporariamente rejeitada. Como solução alternativa, você pode atualizar a arquitetura da rede da instância por conta própria seguindo o procedimento Fazer upgrade da arquitetura de rede de uma única instância do Cloud SQL.

Quando tento fazer upgrade da minha instância, recebo o erro "fora do intervalo de endereços IP reservado". O que eu preciso fazer?

Para usar instâncias do Cloud SQL em uma rede VPC com IP particular, aloque intervalos de endereços IP ao configurar o acesso a serviços particulares na rede VPC.

Por exemplo, se um intervalo de endereços IP alocado for alterado ou excluído, você poderá encontrar 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 alocado original tem o google-managed-services-VPC_NETWORK_NAME, e o intervalo de endereços IP alocado original é 10.0.0.0/16. Em seguida, você cria uma instância com um endereço IP particular de 10.0.0.1. Se o intervalo de endereços IP de google-managed-services-VPC_NETWORK_NAME for excluído ou atualizado para se referir a um intervalo de 10.1.0.0/16, esse intervalo não abrange o endereço IP particular 10.0.0.1 da instância. Em seguida, quando você tentar atualizar a arquitetura de rede da sua instância, você vai encontrar o erro outside the reserved IP address range.

Para resolver esse problema, siga o procedimento em Configurar o acesso a serviços particulares no Cloud SQL. Realoque um intervalo de endereços IP que inclua o endereço IP da instância nos intervalos alocados para acesso a serviços particulares. No mínimo, é possível alocar o intervalo de endereços IP informado na mensagem de erro (no exemplo anterior, 10.0.0.0/24).

Em seguida, tente fazer o upgrade da arquitetura da rede de novo.

A seguir