Nesta página, descrevemos como realizar operações de backup do cluster do Memorystore para Redis. Antes de ler esta página, familiarize-se com os backups.
Antes de começar
Certifique-se de que você ou a conta de usuário que está usando tenham as permissões necessárias para a ação que você precisa executar.
As funções Administrador do Redis e Editor do Redis podem realizar todas as operações de backup. A função Leitor do Redis pode visualizar e exportar backups.
Iniciar um backup sob demanda
Use o comando a seguir para fazer um backup sob demanda:
gcloud
gcloud redis clusters create-backup INSTANCE_ID \ --backup-id=BACKUP_ID \ --ttl=TTL_PERIOD \ --project=PROJECT_ID \ --region=REGION
Substitua:
- INSTANCE_ID é o ID da instância do cluster do Memorystore para Redis.
- BACKUP_ID é um ID do backup, como
december-2024-backup
- TTL_PERIOD especifica um time to live (TTL) para o backup.
O backup é excluído automaticamente após atingir o limite de TTL.
Definido como um número de dias. Por exemplo,
14d
. O valor mínimo é 1 dia. Se não for especificado, o valor padrão será 100 anos. - PROJECT_ID é o ID do projeto;
- REGION é a região em que o cluster está localizado (por exemplo,
us-east1
).
O comando retorna um nome de operação com o seguinte formato:
projects/PROJECT_ID/locations/REGION/operations/operation-UID
Use o comando
gcloud redis operations describe
para verificar o status de uma operação:
gcloud redis operations describe projects/PROJECT_ID/locations/REGION/operations/operation-UID
Também é possível usar o comando gcloud redis operations list
para listar todas as operações em um projeto e uma região.
Configurar programações de backup automatizadas
É possível configurar uma programação de backup diário ao criar um cluster ou ativar uma programação de backup diário em um cluster atual.
Criar um cluster com uma programação de backup automatizada ativada
O exemplo a seguir demonstra como definir uma programação de backup diário ao criar um novo cluster. Para mais opções disponíveis ao criar clusters, consulte Criar 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:
- INSTANCE_ID é o ID da instância do cluster do Memorystore para Redis que você está criando.
- START_TIME A especifica quando começar a fazer backups. Especifique o horário no formato
HH:00
em um ciclo de 24 horas no horário UTC. Por exemplo,23:00
. RETENTION_POLICY especifica por quantos dias cada backup será mantido. Definido como um número de dias, por exemplo,
7d
. O máximo é de 365 dias, e o padrão é de 35 dias.Mesmo depois que um cluster é excluído, o backup é retido pelo período de armazenamento, com um máximo de 365 dias. É necessário excluir o backup manualmente para removê-lo antes do fim do período de armazenamento.
Ativar backups programados em um cluster atual
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=enabled \ --automated-backup-start-time=START_TIME \ --automated-backup-ttl=RETENTION_POLICY
Substitua:
- INSTANCE_ID é o ID da instância do cluster do Memorystore para Redis que você está atualizando.
START_TIME Um carimbo de data/hora que especifica quando começar a fazer backups. O carimbo de data/hora precisa ser no nível da hora e designar uma janela de uma hora em que os backups começam, por exemplo,
2024-01-01T01:00:00Z
.RETENTION_POLICY especifica por quantos dias cada backup será mantido. Definido como um número de dias, por exemplo,
7d
.Mesmo depois que um cluster é excluído, o backup é mantido durante o período de armazenamento. É necessário excluir o backup manualmente para removê-lo antes do fim do período de armazenamento.
Desativar backups programados
Use o comando a seguir para desativar os backups programados em um cluster:
gcloud
gcloud redis clusters update INSTANCE_ID \ --automated-backup-mode=disabled
Substitua INSTANCE_ID pelo ID da instância do Memorystore para Redis Cluster que você está atualizando.
Concorrência entre operações de backup e atualização de cluster
As operações de atualização em um cluster e as operações de manutenção podem cancelar operações de backup em andamento nas seguintes situações:
- Se houver uma operação em andamento para atualizar um cluster, as solicitações de operações de backup serão rejeitadas.
- Se houver uma operação de backup em andamento, uma operação de entrada para atualizar um cluster poderá cancelar e falhar a operação de backup em andamento.
- Em raras circunstâncias, as operações de manutenção e backup podem coincidir e fazer com que as operações de backup sejam ignoradas para essa instância.
Listar e descrever backups
As seções a seguir mostram como encontrar informações sobre os backups disponíveis.
Listar coleções de backup
Uma coleção de backups inclui todos os backups em um cluster. Use o comando a seguir para listar as coleções de backup no projeto e na região especificados:
gcloud
gcloud redis clusters backup-collections list \ --project=PROJECT_ID \ --region=REGION
Substitua:
- REGION é a região em que o cluster está localizado (por exemplo,
us-east1
). - PROJECT_ID é o ID do projeto;
O comando retorna uma lista de coleções de backup semelhante a esta:
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
Listar backups em uma coleção de backups
Use o comando a seguir para listar backups em uma coleção de backups:
gcloud
gcloud redis clusters backups list \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Substitua:
- BACKUP_COLLECTION é o nome de uma coleção de backups.
- REGION é a região em que o cluster está localizado, como
us-east1
. - PROJECT_ID é o ID do projeto;
O comando retorna uma lista de backups semelhante a esta:
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
Descrever um backup
Use o comando a seguir para recuperar informações sobre um backup específico:
gcloud
gcloud redis clusters backups describe BACKUP_NAME \ --backup-collections=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Substitua:
- BACKUP_NAME é o nome de um backup, como
2024-05-01-10-15-00
. - BACKUP_COLLECTION é o nome de uma coleção de backups.
- REGION é a região em que o cluster está localizado, como
us-east1
. - PROJECT_ID é o ID do projeto;
O comando retorna informações sobre o backup semelhantes a estas:
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'
Excluir um backup
Use o comando a seguir para excluir um backup:
gcloud
gcloud redis clusters backups delete BACKUP_NAME \ --backup-collection=BACKUP_COLLECTION --project=PROJECT_ID \ --region=REGION
Substitua:
- BACKUP_NAME é o nome de um backup, como
2024-05-01-10-15-00
. - BACKUP_COLLECTION é o nome de uma coleção de backups.
- REGION é a região em que o cluster está localizado, como
us-east1
. - PROJECT_ID é o ID do projeto;
Exportar um backup para um bucket de armazenamento
É possível exportar um backup para um bucket do Cloud Storage. O bucket de destino precisa ser regional e estar na mesma região do backup. O Memorystore para Redis Cluster precisa ter permissão para acessar o bucket do Cloud Storage e criar pastas e objetos dentro dele.
As etapas a seguir demonstram como exportar um backup.
O Memorystore for Redis Cluster precisa ter permissão para acessar o bucket de destino do Cloud Storage. Conceda ao agente de serviço do Memorystore para Redis Cluster acesso aos recursos do Cloud Storage.
O agente de serviço do Memorystore para Redis Cluster usa o seguinte formato de nomeação:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Substitua PROJECT_NUMBER pelo número do projeto em que o cluster ou backup está localizado.
Conceda ao agente de serviço um papel que dê as permissões
storage.buckets.get
,storage.objects.create
,storage.objects.delete
estorage.folders.create
. Por exemplo, o comando a seguir concede o papelStorage Admin
para o bucket especificado ao agente de serviço do cluster do Memorystore para Redis: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:
- BUCKET_NAME é o nome do bucket de destino.
- PROJECT_NUMBER é o número do projeto usado no nome do agente de serviço.
Use o comando
gcloud redis clusters backups export
para exportar um backup para um bucket do Cloud Storage.gcloud
gcloud redis clusters backups export BACKUP_NAME \ --region=REGION \ --backup-collection=BACKUP_COLLECTION \ --gcs-bucket=BUCKET
Substitua:
- BACKUP_NAME é o nome de um backup do Memorystore for Redis Cluster.
- BACKUP_COLLECTION é o nome de uma coleção de backups.
- REGION é a região em que a coleção de backup está localizada, como
us-east1
. - BUCKET_NAME é um bucket do Cloud Storage, que não tem
gs://
como prefixo.
O bucket precisa ser regional e estar na mesma região que o backup. O Memorystore para Redis Cluster precisa ter permissão para acessar o bucket do Cloud Storage e criar pastas e objetos dentro dele.
Restaurar dados de um backup
Para restaurar dados de um backup, você pode propagar um novo cluster de um backup gerenciado no mesmo projeto ou de arquivos RDB em um bucket de armazenamento. Para fazer o seeding de um cluster com arquivos RDB, o Memorystore for Redis Cluster precisa ter permissão para acessar os arquivos.
Fazer seed de um novo cluster com base em um backup
O exemplo a seguir demonstra como importar dados de um backup para um novo cluster. O backup precisa estar na mesma região que o novo cluster.
O principal que cria o cluster precisa ter a permissão redis.backups.get
para o backup.
Para mais opções disponíveis ao criar clusters, consulte Criar uma instância.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-managed-backup=BACKUP_NAME \ --region=REGION
Substitua:
- INSTANCE_ID é o ID da instância do cluster do Memorystore para Redis que você está criando.
- BACKUP_NAME é o nome de um backup gerenciado. Por exemplo,
projects/PROJECT_ID/locations/REGION/backupCollections/BACKUP_COLLECTION_ID/backups/BACKUP_ID
. - REGION é a região em que o cluster está localizado, como
us-east1
.
Fazer seed de um novo cluster com arquivos RDB em um bucket de armazenamento
O exemplo a seguir demonstra como importar dados de arquivos RDB em um bucket do Cloud Storage para um novo cluster. O bucket precisa ser regional na mesma região que o novo cluster ou um bucket birregional com uma região igual.
Para fazer o seeding de um cluster com arquivos RDB em um Cloud Storage, é necessário conceder à Memorystore para Redis Cluster acesso ao bucket e aos objetos do Cloud Storage e executar a operação de criação.
O Memorystore para Redis Cluster precisa ter permissão para acessar os objetos do Cloud Storage. Conceda ao agente de serviço do Memorystore para Redis Cluster acesso aos recursos do Cloud Storage.
O agente de serviço do Memorystore para Redis Cluster usa o seguinte formato de nomeação:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Substitua PROJECT_NUMBER pelo número do projeto em que você vai criar o novo cluster.
Conceda ao agente de serviço um papel que dê as permissões
storage.buckets.get
estorage.objects.get
. Por exemplo, o comando a seguir concede o papelStorage Admin
a um bucket 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:
- BUCKET_NAME é o nome do bucket em que os arquivos RDB estão localizados.
- PROJECT_NUMBER é o número do projeto usado no nome do agente de serviço.
O exemplo a seguir demonstra como importar dados de arquivos RDB em um bucket do Cloud Storage para um novo cluster. Para mais opções disponíveis ao criar clusters, consulte Criar uma instância.
gcloud
gcloud redis clusters create INSTANCE_ID \ --import-gcs-object-uris=URI \ --region=REGION
Substitua:
- INSTANCE_ID é o ID da instância do cluster do Memorystore para Redis que você está criando.
- 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 em que o cluster está localizado, como
us-east1
.
Métricas do Cloud Monitoring
É possível usar as métricas do Cloud Monitoring para monitorar as operações recentes de backup e importação. Para uma lista de métricas disponíveis para backups do cluster do Memorystore para Redis, consulte Métricas de backup.
A seguir
- Leia mais sobre backups.
- Saiba mais sobre persistência.