Como ativar e desativar a alta disponibilidade em uma instância

Nesta página, descrevemos como configurar uma instância para alta disponibilidade.

Você pode configurar uma instância para alta disponibilidade ao criá-la ou pode ativar a alta disponibilidade em uma instância existente.

Para mais informações sobre alta disponibilidade, consulte Visão geral da configuração de alta disponibilidade.

Como criar uma nova instância configurada para alta disponibilidade

Quando você cria uma instância e a configura para alta disponibilidade, o Cloud SQL a cria como uma instância regional.

Para criar uma instância configurada para alta disponibilidade:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Crie uma instância.
  3. Na página Informações da instância, selecione Mostrar opções de configuração.
  4. Abra Backups, recuperação e alta disponibilidade.
  5. Selecione o botão de opção Alta disponibilidade (regional).

gcloud

  1. Crie a instância regional:
    gcloud sql instances create [REGIONAL_INSTANCE_NAME] \
                         --availability-type=REGIONAL \
                         --database-version=[DATABASE_VERSION] \
                         --cpu=[NUMBER_CPUS] --memory=[MEMORY_SIZE]
    
    Para uma lista completa de parâmetros disponíveis, consulte a página de referência gcloud sql instances create.
  2. Configure o usuário raiz:
    gcloud sql users set-password root no-host \
               --instance=[REGIONAL_INSTANCE_NAME]
               --password=[PASSWORD]
    

cURL

  1. Crie a instância regional:
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"name":"[INSTANCE_NAME]", "region":"[REGION]",
                  "databaseVersion": "[DATABASE_VERSION]",
                  "settings": {"tier": "[MACHINE_TYPE]",
                  "availabilityType": "REGIONAL"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances
    
    Para ver a lista completa de parâmetros dessa solicitação, consulte a página instances:insert.
  2. Quando a instância termina a inicialização, atualize a senha do usuário postgres:
       curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
            --header 'Content-Type: application/json' \
            --data '{"name": "postgres", "host": "nohost", "password": "[PASSWORD]"}' \
            'https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]/users?name=postgres'
    

Para mais detalhes sobre como criar uma instância, consulte Como criar instâncias.

Configuração de uma instância existente para alta disponibilidade

Quando uma instância atual é configurada para alta disponibilidade, ela fica inativa por alguns minutos durante a reconfiguração.

Para configurar uma instância existente para alta disponibilidade:

Console

Quando uma instância existente é configurada para alta disponibilidade, ela fica inativa por alguns minutos durante a reconfiguração.

Para configurar uma instância existente para alta disponibilidade:

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique no nome da instância para abrir a página Visão geral e clique em Editar na barra de botões.
  3. Na seção da opção de configuração Backups automáticos e alta disponibilidade, selecione Alta disponibilidade (regional). Também é recomendável ativar a opção Automatizar backups.
  4. Clique em Save.

    Você retorna à página da instância para o mestre enquanto a instância é atualizada.

gcloud

Atualize a instância para ser regional:

gcloud sql instances patch [INSTANCE_NAME] --availability-type REGIONAL

Para informações de referência, consulte gcloud sql instances patch.

cURL

Quando uma instância existente é configurada para alta disponibilidade, ela fica inativa por alguns minutos durante a reconfiguração.

Atualize a instância para ser uma instância regional:

curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings": {"availabilityType":"REGIONAL"}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]

Como inicializar failover

O teste de failover é opcional, mas é recomendado. Portanto, você pode ver como seu aplicativo responde em caso de um failover.

Para saber mais sobre failover, consulte a Visão geral do failover.

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique no nome da instância mestre para abrir a respectiva página Detalhes da instância.
  3. Clique em Failover na barra de botões.

gcloud

Inicie o failover:

gcloud sql instances failover [MASTER_INSTANCE_NAME]

cURL

  1. Descreva a instância do mestre para conseguir o valor do campo settingsVersion.
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
    
  2. Inicie o failover:
    gcloud auth login
    ACCESS_TOKEN="$(gcloud auth print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"failoverContext":{"settingsVersion":"[SETTINGS_VERSION]"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]/failover
    

A instância realizou failover e não está disponível para exibir dados por alguns minutos.

Como verificar se uma instância tem alta disponibilidade

Para verificar se uma instância tem alta disponibilidade:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Clique em um nome de instância para abrir a página Detalhes da instância.
  3. Em Configuração, aparece Altamente disponível (regional).

gcloud

gcloud sql instances describe [INSTANCE_NAME]
A resposta indica que availabilityType é REGIONAL.

cURL

gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     -X GET \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]?fields=settings
A resposta indica que availabilityType é REGIONAL.

Como desativar a alta disponibilidade em uma instância

Antes de executar este procedimento, verifique se não há operações em execução na instância no momento.

Para desativar a alta disponibilidade:

Console

  1. Acesse a página Instâncias do Cloud SQL no Console do Google Cloud.

    Acessar a página "Instâncias" do Cloud SQL

  2. Selecione a instância em que você quer desativar a alta disponibilidade.
  3. Na página Detalhes da instância, clique em EDITAR.
  4. Abra Backups automáticos.
  5. Em Disponibilidade, clique em Única zona.
  6. Clique em Salvar. Essa edição requer que a instância seja reiniciada.
  7. Quando a caixa de mensagem aparecer, clique em SALVAR E REINICIAR.

gcloud

Para informações de referência, consulte gcloud sql instances patch.
gcloud sql instances patch [INSTANCE_NAME]
           --availability-type ZONAL

cURL

A solicitação a seguir usa o método instances:patch para alterar o tipo de disponibilidade na instância para ZONAL.
gcloud auth login
ACCESS_TOKEN="$(gcloud auth print-access-token)"
curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
     --header 'Content-Type: application/json' \
     --data '{"settings": {"availabilityType":"ZONAL"}}' \
     -X PATCH \
     https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[INSTANCE_NAME]

A seguir