Como criar réplicas de leitura

Esta página descreve como criar uma réplica de leitura para uma instância do Cloud SQL.

Réplica de leitura é uma cópia do mestre que reflete as alterações feitas na instância mestre em tempo quase real. Você cria uma réplica para descarregar solicitações de leitura ou tráfego de análises do mestre. Crie várias réplicas de leitura para uma única instância mestre.

Para mais informações sobre como funciona a replicação, consulte Requisitos e dicas para configurar a replicação.

Antes de começar

Caso você esteja criando a primeira réplica para essa instância, verifique se a instância atende aos requisitos de instâncias mestre. Saiba mais.

Criação de uma réplica de leitura

As etapas para criar uma réplica de leitura são diferentes para instâncias da segunda geração e da primeira geração.

Réplica de leitura para um mestre de segunda geração

Crie uma réplica de leitura para um mestre de segunda geração:

Console (segunda geração)

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

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

  2. Encontre a instância para a qual você quer criar uma réplica e abra o respectivo menu de ações mais à direita da listagem.

    Imagem do menu de três pontos

  3. Selecione Criar réplica de leitura.

    Caso não veja essa opção, a instância é uma réplica. Não é possível criar uma réplica de outra.

  4. Caso a instância tenha backups e geração de registros binários ativados, vá para a etapa 6. Caso contrário, selecione Automatizar backups e Ativar registro binário e clique em Continuar.

    Imagem do stepper à medida que você ativa backups

  5. Clique em Salvar e reiniciar para reiniciar a instância.

    A ativação da geração de registros binários causa a reinicialização da instância.

  6. Na página Criar réplica de leitura, atualize o código da instância, se necessário, e outras opções de configuração, conforme a necessidade.

    Imagem do painel "Criar réplica"

  7. Clique em Criar.

    O Cloud SQL cria um backup, se necessário, e cria a réplica. Você retorna à página da instância mestre.

gcloud (segunda geração)

  1. Verifique o status da instância do mestre:
    gcloud sql instances describe [MASTER_INSTANCE_NAME]

    Caso a propriedade databaseReplicationEnabled seja true, a instância é uma réplica. Você não pode criar uma réplica de uma réplica.

  2. Caso a propriedade enabled em backupConfiguration seja false, ative backups para a instância do mestre agora:
    gcloud sql instances patch [MASTER_INSTANCE_NAME] --backup-start-time [HH:MM]
    O parâmetro backup-start-time é especificado em um período de 24 horas, no fuso horário UTC±00, e especifica o início de uma janela de backup de quatro horas. Os backups podem começar a qualquer momento durante a janela de backup.
  3. Caso a propriedade binaryLogEnabled seja false, ative os logs binários:
    gcloud sql instances patch --enable-bin-log [MASTER_INSTANCE_NAME]
    A ativação de logs binários causa a reinicialização da instância.
  4. Crie a réplica:
    gcloud sql instances create [REPLICA_NAME] --master-instance-name=[MASTER_INSTANCE_NAME]
    

    É possível especificar um tamanho de camada diferente usando o parâmetro --tier, se necessário.

cURL (segunda geração)

  1. Use o método get do recurso de instâncias para retornar a versão do banco de dados e a configuração de backup atual para a instância mestre. Por exemplo, usando cURL, a solicitação é:
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
    

    A saída contém backupConfiguration:

    "backupConfiguration": [
     {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": false,
        "binaryLogEnabled": false
     }
    
  2. Caso enabled ou binaryLogEnabled seja false, use o método patch do recurso de instâncias para ativá-los. Especifique as propriedades da configuração de backup que você quer manter como está e as que quer alterar.

    Para ativar backups, defina enabled como true e startTime como um valor que seja o início da janela de backup. Para ativar a geração de registros binários, defina binaryLogEnabled como true.

    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"settings" : {"backupConfiguration" : {"startTime": "[HH:MM]", "enabled": true, "binaryLogEnabled": true}}}' \
         -X PATCH \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
    
  3. Use o método insert do recurso de instâncias para criar a réplica de leitura. As propriedades "região" e "databaseVersion" precisam ser iguais às da mestre.

    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"masterInstanceName": "[MASTER_INSTANCE_NAME]", "name": "[REPLICA_NAME]",
                  "region": "[MASTER_REGION]", "databaseVersion": [MASTER_DATABASE_VERSION],
                  "settings": {"tier":"[MACHINE_TYPE]"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances
    

Réplica de leitura para um mestre de primeira geração

Crie uma réplica de leitura para um mestre de primeira geração:

Console (primeira geração)

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

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

  2. Encontre a instância para a qual você quer criar uma réplica e abra o respectivo menu de ações mais à direita da listagem.

    Imagem do menu de três pontos

  3. Selecione Criar réplica de leitura.
  4. Caso a instância tenha backups e geração de registros binários ativados, passe à etapa 7. Caso contrário, selecione Automatizar backups e Ativar registro binário e clique em Continuar.

    Imagem do stepper à medida que você ativa backups

  5. Clique em Salvar e reiniciar para ativar a geração de relatórios binários e reiniciar a instância.

    A ativação da geração de registros binários causa a reinicialização da instância.

  6. Caso a instância não tenha backups, você deve aguardar a criação de um backup.

    A criação do backup pode demorar até 24 horas, dependendo da janela de backup da instância.

  7. Na página Criar réplica de leitura, atualize o código da instância, se necessário, e outras configurações, conforme a necessidade.
  8. Clique em Criar.

    O Cloud SQL cria a réplica, e você retorna à página da instância do mestre.

gcloud (primeira geração)

  1. Verifique o status da instância do mestre:
    gcloud sql instances describe [MASTER_INSTANCE_NAME]

    Caso a propriedade databaseReplicationEnabled seja true, a instância é uma réplica. Você não pode criar uma réplica de uma réplica.

  2. Caso a propriedade enabled em backupConfiguration seja false, ative backups para a instância do mestre agora:
    gcloud sql instances patch [MASTER_INSTANCE_NAME] --backup-start-time [HH:MM]
    O parâmetro backup-start-time é especificado em um período de 24 horas, no fuso horário UTC±00, e especifica o início de uma janela de backup de quatro horas. Os backups podem começar a qualquer momento durante a janela de backup.
  3. Caso a propriedade binaryLogEnabled seja false, ative os logs binários:
    gcloud sql instances patch --enable-bin-log [MASTER_INSTANCE_NAME]
    A ativação de logs binários causa a reinicialização da instância.
  4. Confirme a existência de pelo menos um backup bem-sucedido:
    gcloud sql backups list --instance [MASTER_INSTANCE_NAME]

    Caso esse comando retorne um ou mais backups, passe à próxima etapa. Do contrário, você deve aguardar a criação de um backup para continuar. Isso pode demorar até 24 horas, dependendo da janela de backup da instância.

  5. Crie a réplica:
    gcloud sql instances create [REPLICA_NAME] --master-instance-name [MASTER_INSTANCE_NAME]
    

    É possível especificar um tamanho de camada diferente usando o parâmetro --tier, se necessário.

cURL (primeira geração)

  1. Use o método get do recurso de instâncias para retornar os valores da configuração do backup atual. Por exemplo, usando cURL, a solicitação é:
    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]?fields=settings
    

    A saída contém backupConfiguration:

    "backupConfiguration": [
     {
        "kind": "sql#backupConfiguration",
        "startTime": "12:00",
        "enabled": false,
        "binaryLogEnabled": false
     }
    
  2. Caso enabled ou binaryLogEnabled seja false, use o método patch do recurso de instâncias para ativá-los. Especifique as propriedades da configuração de backup que você quer manter como está e as que quer alterar.

    Para ativar backups, defina enabled como true e startTime como um valor que seja o início da janela de backup. Para ativar a geração de relatórios binária, defina binaryLogEnabled como true.

    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"settings" : {"backupConfiguration" : {"startTime": "[HH:MM]", "enabled": true, "binaryLogEnabled": true}}}' \
         -X PATCH \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]
    
  3. Verifique se a instância tem backups.
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         -X GET \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances/[MASTER_INSTANCE_NAME]/backupRuns
    

    Caso nenhum backup seja mostrado, você deve aguardar a criação de um backup para passar para a próxima etapa. Isso pode demorar até 24 horas, dependendo da janela de backup.

  4. Use o método insert do recurso de instâncias para criar a réplica de leitura. A região precisa ser a mesma do mestre.

    ACCESS_TOKEN="$(gcloud auth application-default print-access-token)"
    curl --header "Authorization: Bearer ${ACCESS_TOKEN}" \
         --header 'Content-Type: application/json' \
         --data '{"masterInstanceName": "[MASTER_INSTANCE_NAME]", "name": "[REPLICA_NAME]", "region": "[REGION]", \
                  "settings": {"tier":"[TIER]", "replicationType": "ASYNCHRONOUS"}}' \
         -X POST \
         https://www.googleapis.com/sql/v1beta4/projects/[PROJECT-ID]/instances
    

Próximas etapas

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Cloud SQL para MySQL