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.

Informações gerais

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 e do AlloyDB para PostgreSQL para o Cloud SQL 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 ou migração do AlloyDB para PostgreSQL para o Cloud SQL.
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 Sem suporte Compatível
Microsoft AD gerenciado Sem suporte Compatível
Private Service Connect Sem suporte Compatível
uso do intervalo de endereços IP Intervalos extras de endereços IP consumidos para sub-redes dedicadas em instâncias de IP particulares do Cloud SQL para PostgreSQL Nenhum intervalo de endereços IP extra consumido nas instâncias do Cloud SQL para PostgreSQL
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 do banco de dados terá um período de inatividade de até quatro minutos.

  • 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, nos últimos quatro dias ou menos, houver duas ou mais instâncias em sua rede na mesma região, você só poderá fazer upgrade das instâncias com alta disponibilidade ativada.

    Observação: nesse cenário, o Cloud SQL usa um intervalo extra /24 temporariamente para hospedar as instâncias atualizadas na nova arquitetura. Depois que o Cloud SQL faz upgrade de todas as instâncias na combinação de rede e região, o Cloud SQL libera o intervalo.

    Por exemplo, se a rede tiver duas instâncias, uma em us-east1 e a outra em us-central1, será possível fazer upgrade de ambas as instâncias, independentemente da alta disponibilidade estar ativada ou não. No entanto, se a rede contiver três instâncias, uma em us-east1 e as outras duas em us-central1, será possível fazer upgrade das instâncias em us-central1 com alta disponibilidade ativada. Como a instância em us-east1 é a única nessa região, é possível fazer o upgrade dela, independentemente de a alta disponibilidade estar ativada.

  • Depois de fazer upgrade de uma instância de alta disponibilidade para a nova arquitetura de rede, não é possível desativar a alta disponibilidade para essa instância.

  • 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.

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 podem ser hospedadas em um projeto separado. O projeto que hospeda a rede VPC é o da rede.

Se pelo menos uma instância do Cloud SQL em um projeto de rede estiver usando a arquitetura de rede antiga, isso valerá para o projeto inteiro. Nesse caso, o upgrade para a nova arquitetura de rede não abrangeu o projeto totalmente.

É possível usar a gcloud CLI ou a API Cloud SQL Admin para consultar a arquitetura de rede de todas as instâncias do Cloud SQL em um projeto.

Quando você modifica a rede privada de uma instância ou ativa o IP particular em uma instância, não é possível modificar a arquitetura de rede na mesma solicitação. Se você fizer isso, a solicitação será rejeitada. Para evitar isso, recomendamos que você faça upgrade de todas as instâncias de um projeto de rede antes de modificá-lo.

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
   ...
   sql_network_architecture: 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
   ...
   sql_network_architecture: NEW_NETWORK_ARCHITECTURE
  

O parâmetro sql_network_architecture 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/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 anterior a agosto de 2021 e usar a nova arquitetura de rede, faça o seguinte:

  1. Atualize todas as instâncias existentes no projeto com a nova arquitetura de rede.

  2. Se tiver um contrato de suporte do Google Cloud, crie uma solicitação de suporte para alterar a arquitetura de rede padrão do projeto para a nova.

  3. Se você não tem um contrato de suporte, crie sua instância e faça upgrade para a nova arquitetura de rede.

Depois que o padrão do projeto for alterado, você pode criar instâncias com a nova arquitetura de rede nesse projeto.

Se você não alterar a arquitetura de rede padrão do projeto, todas as novas instâncias nele usarão a arquitetura de rede antiga. Em seguida, faça o upgrade individual de cada uma dessas instâncias para 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.

A seguir