Esta página descreve como realizar operações de cópia de segurança do Memorystore for Redis Cluster. Antes de ler esta página, deve conhecer as cópias de segurança.
Antes de começar
Certifique-se de que tem ou que a conta de utilizador que está a usar tem as autorizações necessárias para a ação que tem de executar.
As funções Redis Admin e Redis Editor podem realizar todas as operações de cópia de segurança. A função Visualizador do Redis pode ver e exportar cópias de segurança.
Inicie uma cópia de segurança a pedido
Use o seguinte comando para fazer uma cópia de segurança a pedido:
gcloud
gcloud redis clusters create-backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Substitua o seguinte:
- INSTANCE_ID é o ID da instância do Memorystore for Redis Cluster.
- BACKUP_ID é um ID da cópia de segurança, como
december-2024-backup
- TTL_PERIOD especifica um tempo de vida (TTL) para a cópia de segurança.
A cópia de segurança é eliminada automaticamente após atingir o limite de TTL.
Definir um número de dias. Por exemplo,
14d
. O valor mínimo é de 1 dia. Se não for especificado, o valor predefinido é 100 anos. - PROJECT_ID é o ID do seu projeto.
- REGION é a região onde o cluster está localizado (por exemplo,
us-east1
).
O comando devolve um nome da operação com o seguinte formato:
projects/PROJECT_ID/locations/REGION/operations/operation-UID
Pode usar o comando
gcloud redis operations describe
para verificar o estado de uma operação:
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
Também pode usar o comando
gcloud redis operations list
para listar todas as operações num projeto e numa região.
Configure programações de cópias de segurança automáticas
Pode configurar um agendamento de cópias de segurança diárias quando cria um novo cluster ou pode ativar um agendamento de cópias de segurança diárias num cluster existente.
Crie um cluster com um horário de cópia de segurança automatizado ativado
O exemplo seguinte demonstra como definir uma programação de cópias de segurança diárias à medida que cria um novo cluster. Para ver mais opções disponíveis ao criar clusters, consulte o artigo Crie uma instância.
gcloud
gcloud redis clusters create INSTANCE_ID \ --automated-backup-mode=ENABLED \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Substitua o seguinte:
- INSTANCE_ID é o ID da instância do Memorystore for Redis Cluster que está a criar.
- START_TIME A especifica quando começar a fazer cópias de segurança. Especifique
a hora no formato
HH:00
num ciclo de 24 horas na hora UTC. Por exemplo,23:00
. RETENTION_POLICY especifica o número de dias durante os quais cada cópia de segurança é retida. Definido para um número de dias, por exemplo,
7d
. O máximo é de 365 dias e a predefinição é de 35 dias.Mesmo após a eliminação de um cluster, a cópia de segurança é retida durante o período de retenção, com um máximo de 365 dias. Tem de eliminar manualmente a cópia de segurança para a remover antes de o período de retenção expirar.
Ative as cópias de segurança agendadas num cluster existente
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Substitua o seguinte:
- INSTANCE_ID é o ID da instância do Memorystore for Redis Cluster que está a atualizar.
START_TIME Uma data/hora que especifica quando começar a fazer cópias de segurança. A indicação de tempo tem de estar ao nível da hora e designa um período de uma hora em que as cópias de segurança começam, por exemplo,
2024-01-01T01:00:00Z
.RETENTION_POLICY especifica o número de dias durante os quais cada cópia de segurança é retida. Definido para um número de dias, por exemplo,
7d
.Mesmo depois de um cluster ser eliminado, a cópia de segurança é retida durante o período de retenção. Tem de eliminar manualmente a cópia de segurança para a remover antes de o período de retenção expirar.
Desative as cópias de segurança agendadas
Use o seguinte comando para desativar as cópias de segurança agendadas num cluster:
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=disabled
Substitua INSTANCE_ID pelo ID da instância do Memorystore for Redis Cluster que está a atualizar.
Concorrência entre operações de cluster de cópia de segurança e atualização
As operações de atualização num cluster e as operações de manutenção podem cancelar as operações de cópia de segurança em curso nas seguintes situações:
- Se existir uma operação em curso para atualizar um cluster, os pedidos de operações de cópia de segurança são rejeitados.
- Se existir uma operação de cópia de segurança em curso, uma operação de entrada para atualizar um cluster pode cancelar e fazer falhar a operação de cópia de segurança em curso.
- Em circunstâncias raras, as operações de manutenção e de cópia de segurança podem coincidir e levar à ignorância das operações de cópia de segurança para essa instância.
Liste e descreva as cópias de segurança
As secções seguintes demonstram como encontrar informações sobre as cópias de segurança disponíveis.
Liste coleções de cópias de segurança
Uma coleção de cópias de segurança inclui todas as cópias de segurança num cluster. Use o seguinte comando para listar as coleções de cópias de segurança no projeto e na região especificados:
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Substitua o seguinte:
- REGION é a região onde o cluster está localizado (por exemplo,
us-east1
). - PROJECT_ID é o ID do seu projeto.
O comando devolve uma lista de recolhas de cópias de segurança semelhante à seguinte:
BACKUP_COLLECTION_NAME CLUSTER_NAME CLUSTER_UID 6d9e1ff4-0f89-4c0a-a941-155dd4c3a213 projects/PROJECT_ID/locations/REGION/clusters/cluster1 6e539aed-ee7b-4eea-83ad-b4715b1ef160 dda2f551-b416-47ff-b1cf-684e00483dc9 projects/PROJECT_ID/locations/REGION/clusters/cluster2 57130520-636c-4ac7-ad7e-86f7cfb32838
Liste as cópias de segurança numa coleção de cópias de segurança
Use o seguinte comando para listar as cópias de segurança numa coleção de cópias de segurança:
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Substitua o seguinte:
- BACKUP_COLLECTION é o nome de uma coleção de cópias de segurança.
- REGION é a região onde o seu cluster está localizado, como
us-east1
. - PROJECT_ID é o ID do seu projeto.
O comando devolve uma lista de cópias de segurança semelhante à seguinte:
BACKUP_NAME STATE CREATE_TIME EXPIRE_TIME backup-1 ACTIVE 2024-11-10T03:52:40.899882388Z 2124-11-10T03:53:02.856981736Z backup-2 ACTIVE 2024-11-11T03:48:22.137134936Z 2124-11-11T03:48:44.130735425Z
Descreva uma cópia de segurança
Use o seguinte comando para obter informações sobre uma cópia de segurança específica:
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Substitua o seguinte:
- BACKUP_NAME é o nome de uma cópia de segurança, como
2024-05-01-10-15-00
. - BACKUP_COLLECTION é o nome de uma coleção de cópias de segurança.
- REGION é a região onde o seu cluster está localizado, como
us-east1
. - PROJECT_ID é o ID do seu projeto.
O comando devolve informações sobre a cópia de segurança semelhantes às seguintes:
backupFiles: - createTime: '2024-11-10T03:52:55.539Z' fileName: 3d2774dab822137c5bac9386f3fa69ee4c73b928.rdb sizeBytes: '694879680' - createTime: '2024-11-10T03:52:54.742Z' fileName: 7f5d99faaefc63ed8292a71da2552db3b06cdcff.rdb sizeBytes: '694925906' - createTime: '2024-11-10T03:52:54.972Z' fileName: 0aac1092a3fb81515aefb6b2421f31eb346c3961.rdb sizeBytes: '694784169' cluster: projects/PROJECT_ID/locations/us-east1/clusters/cluster1 clusterUid: 57130520-636c-4ac7-ad7e-86f7cfb32838 createTime: '2024-11-10T03:52:40.899882388Z' expireTime: '2124-11-10T03:53:02.856981736Z' name: projects/PROJECT_ID/locations/us-east1/backupCollections/dda2f551-b416-47ff-b1cf-684e00483dc9/backups/december-2024-backup nodeType: REDIS_HIGHMEM_MEDIUM shardCount: 3 state: ACTIVE totalSizeBytes: '2084589755'
Elimine uma cópia de segurança
Use o seguinte comando para eliminar uma cópia de segurança:
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Substitua o seguinte:
- BACKUP_NAME é o nome de uma cópia de segurança, como
2024-05-01-10-15-00
. - BACKUP_COLLECTION é o nome de uma coleção de cópias de segurança.
- REGION é a região onde o seu cluster está localizado, como
us-east1
. - PROJECT_ID é o ID do seu projeto.
Exporte uma cópia de segurança para um contentor de armazenamento
Pode exportar uma cópia de segurança para um contentor do Cloud Storage. O contentor de destino tem de ser um contentor regional e tem de estar na mesma região que a cópia de segurança. O Memorystore for Redis Cluster tem de ter autorização para aceder ao contentor do Cloud Storage e criar pastas e objetos no contentor.
Os passos seguintes demonstram como exportar uma cópia de segurança.
O Memorystore for Redis Cluster tem de ter autorização para aceder ao contentor do Cloud Storage de destino. Conceda ao agente de serviço do Memorystore for Redis Cluster acesso aos recursos do Cloud Storage.
O agente de serviço do Memorystore for Redis Cluster usa o seguinte formato de nomenclatura:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Substitua PROJECT_NUMBER pelo número do projeto do projeto onde o cluster ou a cópia de segurança está localizado.
Conceda ao agente do serviço uma função que lhe dê as autorizações
storage.buckets.get
,storage.objects.create
,storage.objects.delete
estorage.folders.create
. Por exemplo, o comando seguinte concede a funçãoStorage Admin
para o contentor especificado ao agente do serviço Memorystore for Redis Cluster:gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/storage.admin
Substitua o seguinte:
- BUCKET_NAME é o nome do contentor de destino.
- PROJECT_NUMBER é o número do projeto usado no nome do agente do serviço.
Use o comando
gcloud redis clusters backups export
para exportar uma cópia de segurança para um contentor do Cloud Storage.gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Substitua o seguinte:
- BACKUP_NAME é o nome de uma cópia de segurança do Memorystore for Redis Cluster.
- BACKUP_COLLECTION é o nome de uma coleção de cópias de segurança.
- REGION é a região onde a recolha de cópias de segurança está localizada, como
us-east1
. - BUCKET_NAME é um contentor do Cloud Storage que não tem
gs://
como prefixo.
O contentor tem de ser um contentor regional e tem de estar na mesma região que a cópia de segurança. O Memorystore for Redis Cluster tem de ter autorização para aceder ao contentor do Cloud Storage e criar pastas e objetos no contentor.
Restaure dados a partir de uma cópia de segurança
Para restaurar dados a partir de uma cópia de segurança, pode inicializar um novo cluster a partir de uma cópia de segurança gerida no mesmo projeto ou inicializar um novo cluster a partir de ficheiros RDB num contentor de armazenamento. Para inicializar um cluster a partir de ficheiros RDB, o Memorystore for Redis Cluster tem de ter autorização para aceder aos ficheiros.
Inicialize um novo cluster a partir de uma cópia de segurança
O exemplo seguinte demonstra como importar dados de uma cópia de segurança para um novo cluster. A cópia de segurança tem de estar na mesma região que o novo cluster.
O principal que cria o cluster tem de ter a autorização redis.backups.get
para a cópia de segurança.
Para ver mais opções disponíveis ao criar clusters, consulte o artigo Crie uma instância.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Substitua o seguinte:
- INSTANCE_ID é o ID da instância do Memorystore for Redis Cluster que está a criar.
- BACKUP_NAME é o nome de uma cópia de segurança gerida. Por exemplo,
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
. - REGION é a região onde o seu cluster está localizado, como
us-east1
.
Inicialize um novo cluster a partir de ficheiros RDB num contentor de armazenamento
O exemplo seguinte demonstra como importar dados de ficheiros RDB num contentor do Cloud Storage para um novo cluster. O contentor tem de ser um contentor regional na mesma região que o novo cluster ou um contentor de região dupla com uma região igual.
Para inicializar um cluster a partir de ficheiros RDB num Cloud Storage, tem de conceder ao Memorystore for Redis Cluster acesso ao contentor e aos objetos do Cloud Storage e, em seguida, executar a operação de criação.
O Memorystore for Redis Cluster tem de ter autorização para aceder aos objetos do Cloud Storage. Conceda ao agente de serviço do Memorystore for Redis Cluster acesso aos recursos do Cloud Storage.
O agente de serviço do Memorystore for Redis Cluster usa o seguinte formato de nomenclatura:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Substitua PROJECT_NUMBER pelo número do projeto do projeto onde vai criar o novo cluster.
Conceda ao agente de serviços uma função que lhe atribua as autorizações
storage.buckets.get
estorage.objects.get
. Por exemplo, o comando seguinte concede a funçãoStorage Admin
a um contentor do Cloud Storage:gcloud
gcloud storage buckets add-iam-policy-binding gs://BUCKET_NAME --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com --role=roles/storage.admin
Substitua o seguinte:
- BUCKET_NAME é o nome do contentor onde se encontram os ficheiros RDB.
- PROJECT_NUMBER é o número do projeto usado no nome do agente do serviço.
O exemplo seguinte demonstra como importar dados de ficheiros RDB num contentor do Cloud Storage para um novo cluster. Para ver mais opções disponíveis quando criar clusters, consulte o artigo Crie uma instância.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-gcs-object-uris=URI \ --region=REGION
Substitua o seguinte:
- INSTANCE_ID é o ID da instância do Memorystore for Redis Cluster que está a criar.
- URI é um ou mais URIs do Cloud Storage separados por vírgulas (
,
). Por exemplo,gs://my-bucket/folder/file1.rdb,gs://my-bucket/folder/file2.rdb
. - REGION é a região onde o seu cluster está localizado, como
us-east1
.
Métricas do Cloud Monitoring
Pode usar as métricas do Cloud Monitoring para monitorizar as operações recentes de cópia de segurança e importação. Para ver uma lista das métricas disponíveis para cópias de segurança do Memorystore for Redis Cluster, consulte o artigo Métricas de cópia de segurança.
O que se segue?
- Leia mais sobre as cópias de segurança.
- Saiba mais acerca da persistência.