Atualizar uma instância para a nova arquitetura de rede,Atualizar uma instância para a nova arquitetura de rede


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

Esta página de atualização da arquitetura de rede do Cloud SQL se aplica apenas a algumas instâncias do Cloud SQL. Se suas instâncias do Cloud SQL usam um projeto de rede de Nuvem Privada Virtual (VPC) criado antes de agosto de 2021, você precisa atualizar a 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 arquitetura de rede antiga:

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

Por exemplo, do Cloud SQL para o AlloyDB para migração do PostgreSQL .
Conecte sua instância do Cloud SQL usando IP privado para serviços privados, como Cloud Build ou Vertex AI Não suportado devido à intransitividade do peering de rede Suportado
Instâncias que são compatíveis com Assured Workloads Não suportado Suportado
Microsoft AD gerenciado Não suportado Suportado
Conexão de serviço privado Não suportado Suportado
Cota padrão de instância do Cloud SQL por projeto 100 1000

Planeje sua atualização

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

  • Se você atualizar sua arquitetura de rede, poderá esperar um tempo de inatividade na sua instância de até 4 minutos, em média.

  • Se houver uma migração de dados em andamento, você não poderá atualizar a instância de origem para a nova arquitetura durante a migração de dados.

  • Se você se conectar a uma instância de uma fonte 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 de host da VPC compartilhada está incluído. Se este projeto não estiver incluído, a migração falhará.

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

  • Se sua rede incluir duas ou mais instâncias que usam endereços IP privados na mesma região, sua instância terá as seguintes limitações:

    • O Cloud SQL pode usar um intervalo (ou intervalos) /24 adicional do intervalo de endereços IP que você alocou para acesso a serviços privados. O Cloud SQL usa o intervalo (ou intervalos) /24 adicional para hospedar instâncias na nova arquitetura de rede.
    • Se houver um número limitado de intervalos de sub-rede /24 disponíveis restantes no intervalo de endereços IP alocado para acesso a serviços privados, o Cloud SQL poderá usar um intervalo /24 de propriedade do Google para instâncias qualificadas. Não é possível rebaixar a instância atualizada para ser uma réplica de uma instância externa.

    Essas limitações são temporárias e o Cloud SQL as remove durante um evento de manutenção subsequente.

  • Instâncias legadas de alta disponibilidade (HA) com réplicas de failover não são suportadas para uma atualização.

  • Após atualizar a arquitetura de rede, não é possível criar réplicas de failover de HA legadas para instâncias atualizadas.

  • Se você estiver atualizando instâncias de IP privado, o sinalizador import-custom-routes poderá estar habilitado para sua conexão de peering com a rede servicenetworking . Se você alterar essa configuração após a atualização, sua instância poderá perder a conectividade.

Planejar a atualização de todas as instâncias do Cloud SQL em um projeto de rede

Suas instâncias do Cloud SQL podem residir 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 de pilha dupla , o que significa que pode hospedar instâncias do Cloud SQL simultaneamente, usando as arquiteturas de rede antiga e nova. Isso ocorre quando pelo menos uma instância do 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 para todas as instâncias dentro de um projeto, você pode usar gcloud CLI ou a API.

Considerações para projetos de pilha dupla

Ao usar projetos de pilha dupla, tenha em mente as seguintes considerações:

  • Atualizar uma instância implicitamente : quando você modifica a rede privada de uma instância ou habilita o endereço IP privado em um projeto de pilha dupla, o Cloud SQL pode atualizar a instância para a nova arquitetura de rede implicitamente.
  • Sem rebaixamentos de arquitetura : mudanças na rede nunca rebaixam a arquitetura de rede de uma instância.
  • Rejeitar solicitações : se uma alteração de rede precisar de um downgrade para ser concluída, o Cloud SQL rejeitará a solicitação.

Para evitar possíveis conflitos e garantir uma atualização de rede tranquila, recomendamos que você planeje atualizar todas as instâncias do projeto para a nova arquitetura.

Atualize sua 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 obter informações sobre como instalar e começar a usar a CLI do gcloud, consulte Instalar a CLI do gcloud . Para obter 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 à seguinte:

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

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

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

O parâmetro sqlNetworkArchitecture indica se 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 de administração do Cloud SQL.

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

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

Você 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 de administração do Cloud SQL.

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

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

Você 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 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 saída é semelhante à 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 em um projeto, use o método instance.list .

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

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

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

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

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

Você deve receber uma resposta JSON semelhante à seguinte:

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

Atualizar 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 leva alguns minutos.

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

operation_id

REST v1

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

Ao atualizar a arquitetura de rede do Cloud SQL, nenhuma atualização adicional da 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 a atualização, uma operação de longa execução é iniciada e um token de operação é retornado:

operation_id

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

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

Você 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 realizar a operação de atualização novamente.

REST v1beta4

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

Ao atualizar a arquitetura de rede do Cloud SQL, nenhuma atualização adicional da 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 a atualização, uma operação de longa execução é iniciada e o seguinte token de operação é retornado:

operation_id

Antes de usar qualquer um dos dados solicitados, 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 da solicitação:

{
  "sqlNetworkArchitecture": "NETWORK_ARCHITECTURE_TYPE"
}

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

Você 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, você poderá tentar a operação de atualização novamente.

Perguntas frequentes

Esta seção fornece respostas para perguntas frequentes sobre como atualizar sua arquitetura de rede do Cloud SQL.

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

Ao atualizar a arquitetura de rede, a instância do Cloud SQL entra no estado de MANUTENÇÃO. Nesse estado, a instância fica inativa por até quatro minutos, em média. Alterações adicionais na instância não são permitidas até que a atualização seja concluída. Outras instâncias no seu projeto ou rede não são afetadas pela atualização.

Todos os recursos funcionam da mesma forma após a atualização?

Todos os recursos da sua instância do Cloud SQL funcionam da mesma forma na nova arquitetura e na arquitetura antiga. Após atualizar uma instância para usar a nova arquitetura de rede, se você quiser alternar a rede dessa instância, certifique-se de que todas as instâncias na rede de destino também sejam atualizadas 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 usarão automaticamente a nova arquitetura de rede. Projetos existentes podem conter instâncias do Cloud SQL com mais de dois anos e que ainda usam a arquitetura de rede antiga. Portanto, todas as instâncias de um projeto existente devem ser atualizadas antes que novas instâncias nesse projeto possam 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 padrão, novas instâncias do Cloud SQL criadas em projetos criados após 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 suas instâncias existentes nesse projeto para a nova arquitetura de rede. Se estiver usando uma VPC Compartilhada , será necessário atualizar todas as instâncias nos projetos que participam da VPC Compartilhada.

Após atualizar todas as instâncias existentes no seu projeto, aguarde algumas horas antes de criar qualquer instância. As novas instâncias criadas no projeto usarão a nova arquitetura de rede.

Se houver instâncias excluídas recentemente com a arquitetura de rede antiga, será necessário aguardar quatro dias antes de criar uma nova instância com a nova arquitetura de rede. Esse atraso acomoda o processo de restauração de uma instância excluída.

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

Não, a atualização para a nova arquitetura de rede é baseada em cada instância.

A réplica será atualizada automaticamente se eu atualizar o primário?

Não, a atualização para a nova arquitetura de rede é baseada em cada instância individual. Cada réplica é tratada como uma instância separada e deve ser atualizada separadamente. Isso significa que, se a primária for atualizada 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ê atualizar uma réplica, a primária não será afetada.

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

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

Em alguns casos, quando a atualização automática ocorre em uma rede privada, a solicitação é temporariamente rejeitada. Como solução alternativa, você pode atualizar a arquitetura de rede da sua instância seguindo o procedimento em Atualizar a arquitetura de rede de uma única instância do Cloud SQL .

Ao tentar atualizar minha instância, recebo o erro "fora do intervalo de endereços IP reservado". O que preciso fazer?

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

Por exemplo, se um intervalo de endereços IP alocados 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 originalmente é chamado google-managed-services-VPC_NETWORK_NAME e o intervalo de endereços IP alocado originalmente é 10.0.0.0/16 . Em seguida, você 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 excluído ou atualizado para se referir a um intervalo de 10.1.0.0/16 , esse intervalo não abrangerá o endereço IP privado da instância, 10.0.0.1 . Posteriormente, ao tentar atualizar a arquitetura de rede da sua instância, você encontrará o erro outside the reserved IP address range .

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

Em seguida, tente atualizar a arquitetura de rede novamente.

O que vem a seguir