Esta página descreve como usar a replicação entre regiões ao criar e trabalhar com clusters secundários.
Para uma visão geral conceitual da replicação entre regiões, consulte Sobre a replicação entre regiões.
Antes de começar
- O projeto do Google Cloud que você está usando precisa ter sido ativado para acessar o AlloyDB.
- É necessário ter uma destas funções do IAM no projeto do Google Cloud que você está usando:
roles/alloydb.admin
(papel predefinido do IAM de administrador do AlloyDB)roles/owner
(o papel básico do IAM "Proprietário")roles/editor
(papel básico do IAM de editor)
Se você não tiver nenhuma dessas funções, entre em contato com o administrador da organização para solicitar acesso.
Criar um cluster secundário
Quando você cria um cluster secundário, o AlloyDB copia e aplica parte da configuração do cluster principal, incluindo a recuperação pontual (PITR, na sigla em inglês) e a configuração de backup, no cluster secundário. O AlloyDB não adiciona nenhuma instância de pool de leitura ao cluster secundário após a criação, não importa quantas instâncias de pool de leitura existam no cluster principal.
Se você atualizar a configuração do cluster principal após a criação do cluster secundário, as mudanças não estarão disponíveis no cluster secundário. No entanto, é possível atualizar manualmente o cluster secundário para ter a configuração mais recente disponível no cluster principal.
É possível criar até cinco clusters secundários para um cluster primário. Todos os clusters secundários são replicados de uma única instância principal. Se você promover um cluster secundário, ele se tornará um cluster principal independente.
O diagrama a seguir ilustra como promover o cluster secundário chamado
cluster-2
em us-east4
:
Figura 1. Exemplo de promoção de um cluster secundário.
Para criar um cluster secundário e uma instância secundária do AlloyDB, siga estas etapas:
Console
No console do Google Cloud, acesse a página Clusters.
Clique em um cluster na coluna Nome do recurso.
Na página Visão geral, clique em Criar cluster secundário.
Configure o cluster secundário:
- No campo ID do cluster, insira um ID de recurso para o cluster secundário.
- Selecione uma região para o cluster secundário que seja diferente da região do cluster principal.
- Selecione a criptografia gerenciada pelo Google padrão ou uma chave gerenciada pelo cliente (CMEK) como um método de criptografia para criptografar o cluster secundário.
Se você quiser criptografar esse cluster usando a chave CMEK, siga estas etapas:
- Clique em Opções de criptografia avançadas.
- Selecione Chave de criptografia gerenciada pelo cliente (CMEK).
Selecione uma chave gerenciada pelo cliente no menu exibido.
O console do Google Cloud limita essa lista a chaves no mesmo projeto e na mesma região do novo cluster.Google Cloud
Para usar uma chave que não está nesta lista, siga estas etapas:
- Clique em Não encontra sua chave? Insira o nome do recurso da chave.
- Insira o nome do recurso no campo Nome do recurso da chave.
- Clique em Salvar.
- Clique em Continuar.
O uso da chave CMEK com o AlloyDB requer mais configurações. Para mais informações, consulte Usar CMEK.
Se a instância principal associada for criptografada com uma chave CMEK, você também precisará criptografar o cluster secundário com uma chave CMEK.
Configure a instância secundária:
- No campo ID da instância, insira um ID de recurso para a instância secundária. O ID do recurso precisa ser exclusivo em um cluster.
Clique em Criar cluster.
gcloud
Para usar a CLI gcloud, você pode instalar e inicializar a CLI do Google Cloud ou usar o Cloud Shell.
Use o comando gcloud alloydb clusters create-secondary
:
gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \
gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \ --cluster=SECONDARY_CLUSTER_ID \ --region=REGION_ID
Substitua:
SECONDARY_CLUSTER_ID
: o ID do cluster secundário que você quer criar.SECONDARY_INSTANCE_ID
: o ID da instância secundária que você quer criar.REGION_ID
: o ID da região do cluster secundário, por exemplo,us-central1
.PROJECT_ID
: o ID do projeto do cluster secundário.LOCATION_ID
: o local em que o cluster principal está localizado, por exemplo,us-central1
.PRIMARY_CLUSTER_ID
: o ID do cluster principal ao qual o cluster secundário está associado.SECONDARY_CLUSTER_ID
: o ID do cluster secundário ao qual a instância secundária está associada.ALLOWED_PROJECT
(opcional): a lista separada por vírgulas de IDs ou números de projeto que você quer permitir o acesso à instância. Por exemplo,my-project-1
,12345
,my-project-n
. É necessário definir uma lista de projetos ou números permitidos se o cluster estiver usando o Private Service Connect como o método de conexão à instância.--no-enable-automated-backup
(opcional): desative a criação de backups automáticos no cluster secundário.
Para criar um cluster e uma instância secundários ativados pelo Private Service Connect, adicione a flag --enable-private-service-connect
ao criar um cluster e adicione a flag --allowed-psc-projects
para definir uma lista separada por vírgulas de IDs de projeto ou números de projeto que você quer permitir o acesso à instância, por exemplo, my-project-1
, 12345
, my-project-n
.
gcloud alloydb clusters create-secondary SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --primary-cluster=projects/PROJECT_ID/locations/LOCATION_ID/clusters/ PRIMARY_CLUSTER_ID \ --enable-private-service-connect
gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \ --cluster=SECONDARY_CLUSTER_ID \ --region=REGION_ID \ --allowed-psc-projects=ALLOWED_PROJECT_LIST
Substitua:
ALLOWED_PROJECT
(opcional): a lista separada por vírgulas de IDs ou números de projetos que você quer permitir o acesso à instância,por exemplo,my-project-1
,12345
,my-project-n
. É necessário definir uma lista de projetos ou números permitidos se o cluster estiver usando o Private Service Connect como método de conexão à instância.
Para criar uma instância secundária para um cluster com IP público ativado, adicione o parâmetro --assign-inbound-public-ip=ASSIGN_IPV4
.
gcloud alloydb instances create-secondary SECONDARY_INSTANCE_ID \
--cluster=SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--assign-inbound-public-ip=ASSIGN_IPV4
Como alternativa, transmita a lista de blocos CIDR separada por vírgulas, como 64.233.160.0/16
, para o parâmetro --authorized-external-networks
para definir redes externas autorizadas na sua instância.
Conferir um cluster secundário
Para conferir informações detalhadas sobre um cluster secundário do AlloyDB, siga estas etapas:
No console do Google Cloud, acesse a página Clusters.
Clique em um cluster secundário na coluna Nome do recurso.
Na página Visão geral, confira todos os detalhes sobre o cluster secundário.
Atualizar uma instância secundária
É possível atualizar uma instância secundária para adicionar, modificar ou excluir sinalizações de banco de dados. Também é possível escalonar o tipo de máquina da instância secundária.
Configurar flags de bancos de dados em uma instância secundária
Para adicionar, modificar ou excluir sinalizações de banco de dados, siga estas etapas:
Console
No console do Google Cloud, acesse a página Clusters.
Na coluna Nome do recurso, clique em um cluster secundário que você quer modificar.
Na página Visão geral, acesse Instâncias no cluster, selecione a instância secundária e clique em Editar secundário.
Adicione, modifique ou exclua uma flag de banco de dados da sua instância:
Adicionar uma sinalização
- Para adicionar uma flag de banco de dados à sua instância, clique em Adicionar flag.
- Selecione uma flag na lista Nova flag do banco de dados.
- Informe um valor para a flag.
- Clique em Concluído.
Modificar uma flag
- Para modificar uma flag de banco de dados presente na sua instância, expanda a flag do banco de dados e modifique o valor da flag atual na seção Editar flag do banco de dados.
- Clique em Concluído.
Excluir uma flag
- Para excluir uma flag de banco de dados da sua instância, selecione uma flag e clique no ícone de exclusão.
- Clique em Concluído.
Clique em Atualizar secundário.
gcloud
Use o comando gcloud alloydb instances update
para mudar as flags do banco de dados de uma instância secundária.
gcloud alloydb instances update SECONDARY_INSTANCE_ID \
--database-flags FLAGS_LIST \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
Substitua:
SECONDARY_INSTANCE_ID
: o ID da instância secundária.FLAGS_LIST
: uma lista separada por vírgulas de uma ou mais especificações de sinalizadores de banco de dados. Cada especificação consiste no nome da flag, um sinal de igual (=
) e o valor a ser atribuído às flags. Para flags de banco de dados que não aceitam valores, informe o nome da flag seguido de um sinal de igual (=
).REGION_ID
: a região em que a instância secundária é colocada. Por exemplo,us-central1
.CLUSTER_ID
: o ID do cluster em que a instância secundária está colocada.PROJECT_ID
: o ID do projeto em que o cluster secundário está colocado.
Dimensionar o tipo de máquina da instância secundária
Para dimensionar o tipo de máquina da instância secundária, siga estas etapas:
Console
No console do Google Cloud, acesse a página Clusters.
Na coluna Nome do recurso, clique em um cluster secundário que você quer modificar.
Na página Visão geral, acesse a seção Instâncias no cluster e clique em Editar secundário.
Essa ação não estará disponível se a página informar um Status de Manutenção para o cluster. A ação vai ficar disponível novamente depois que o Status mudar para Pronto.
Selecione um tipo de máquina.
Clique em Atualizar secundário.
gcloud
Use o comando gcloud alloydb instances
update
para mudar o tipo de máquina da instância secundária.
gcloud alloydb instances update SECONDARY_INSTANCE_ID \
--cpu-count=CPU_COUNT \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
Substitua:
SECONDARY_INSTANCE_ID
: o ID da instância secundária que você está atualizando.CPU_COUNT
: o número de vCPUs que você quer para a instância. Valores válidos:2
(2 vCPUs, 16 GB de RAM)4
(4 vCPUs, 32 GB de RAM)8
(8 vCPUs, 64 GB de RAM)16
(16 vCPUs, 128 GB de RAM)32
(32 vCPUs, 256 GB de RAM)64
(64 vCPUs, 512 GB de RAM)
REGION_ID: a região em que a instância está colocada.
CLUSTER_ID: o ID do cluster em que a instância está colocada.
PROJECT_ID: o ID do projeto em que o cluster está colocado.
Se o comando retornar uma mensagem de erro que inclua a frase
invalid cluster state MAINTENANCE
, o cluster está em manutenção
de rotina. Isso impede temporariamente a reconfiguração da instância. Execute o comando
novamente depois que o cluster retornar ao estado READY
.
Para verificar o status do cluster, consulte Conferir os detalhes do cluster.
Adicionar instâncias do pool de leitura a um cluster secundário
Para adicionar uma instância de pool de leitura a um cluster secundário, siga estas etapas:
No console do Google Cloud, acesse a página Clusters.
Na coluna Nome do recurso, clique em um cluster secundário em que você quer adicionar uma instância de pool de leitura.
Na página Visão geral, acesse a seção Instâncias no cluster e clique em Adicionar pool de leitura.
Configure a instância do pool de leitura:
- No campo ID da instância do pool de leitura, insira um ID para a instância do pool de leitura.
- No campo Contagem de nós, insira uma contagem de nós. O número de nós em uma instância de pool de leitura determina a capacidade de computação geral da instância. É possível ter no máximo 20 nós em todas as instâncias do pool de leitura em um cluster.
- Selecione um tipo de máquina.
Opcional: defina flags personalizadas na sua instância. Para cada flag, faça o seguinte:
- Clique em Adicionar flag.
- Selecione uma flag na lista Nova flag do banco de dados.
- Informe um valor para a flag.
- Clique em Concluído.
Clique em Adicionar pool de leitura.
Promover um cluster secundário
Antes de promover um cluster secundário, siga estas etapas para verificar se o cluster secundário aplicou todas as transações recebidas do cluster primário:
- Interrompa todas as gravações no cluster principal.
Siga estas etapas para verificar o status de replicação do cluster secundário:
No console do Google Cloud, acesse a página Clusters.
Na lista de clusters, clique no nome do cluster secundário que você quer promover.
Na página de detalhes do cluster, clique em Monitoramento.
Na lista Monitoramento, selecione a instância secundária. Ele aparece na lista como Secundário: INSTANCE_NAME.
Na lista de métricas, localize o gráfico Atraso de replicação da instância principal.
Confirme se o gráfico mostra um atraso mínimo.
Um valor de atraso de
0
é ideal. Se o atraso for maior que0
, ainda será possível promover o cluster secundário, mas com o risco de perder algumas transações recentes já confirmadas no cluster principal.Na lista de métricas, localize o gráfico Status da replicação.
Confirme se todos os nós representados no gráfico têm um valor de
streaming
.
Para promover um cluster secundário a cluster primário, siga estas etapas:
Console
No console do Google Cloud, acesse a página Clusters.
Na coluna Nome do recurso, clique em um cluster secundário que você quer promover como o cluster principal.
Na página Visão geral, clique em Promover cluster.
Na caixa de diálogo exibida, insira o ID do cluster secundário para confirmar que você quer promover o cluster.
Clique em Promover.
Depois que o cluster é promovido, o campo Tipo: cluster secundário (altamente disponível) na página Visão geral é atualizado para Tipo: Altamente disponível com pools de leitura.
gcloud
Use o comando gcloud alloydb clusters promote
:
gcloud alloydb clusters promote SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \
Substitua:
SECONDARY_CLUSTER_ID
: o ID do cluster secundário que você quer promover.REGION_ID
: o ID da região do cluster secundário, por exemplo,us-central1
.PROJECT_ID
: o ID do projeto do cluster secundário.
Realizar uma alternância
Antes de realizar uma migração, verifique se todas as regiões às quais as instâncias principal e secundária pertencem estão on-line e se as instâncias estão em um estado saudável. Para mais informações, consulte Monitorar uma instância usando o painel "Insights do sistema" do AlloyDB.
Se você fizer uma alternância quando tiver vários clusters secundários, ocorrerá o seguinte:
- O cluster secundário que recebe o comando de mudança se torna um cluster principal.
- O cluster principal anterior se torna um cluster secundário, replicando a partir do novo cluster principal.
- Todos os outros clusters secundários passam a replicar a partir do novo cluster principal.
O diagrama a seguir ilustra uma mudança de cluster-1
em us-central1
para cluster-2
em us-east4
:
Figura 2. Exemplo de como realizar uma troca para um dos dois clusters secundários.
Para fazer uma troca, siga estas etapas:
Console
No console do Google Cloud, acesse a página Clusters.
Na coluna Nome do recurso, clique em um cluster secundário que você quer mudar para o cluster principal.
Na página Visão geral, clique em Alternar.
Na caixa de diálogo exibida, insira o ID do cluster secundário para confirmar que você quer mudar para o cluster.
Clique em Alternar.
Depois que o cluster é alternado, o campo Tipo: cluster secundário na página Visão geral é atualizado para
Tipo de cluster: cluster primário e Tipo de cluster: cluster secundário.
gcloud
Use o comando gcloud alloydb clusters switchover
:
gcloud alloydb clusters switchover SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_ID \
Substitua:
SECONDARY_CLUSTER_ID
: o ID do cluster secundário que você quer promover.REGION_ID
: o ID da região do cluster secundário, por exemplo,us-central1
.PROJECT_ID
: o ID do projeto do cluster secundário.