Daniel Keys Moran diz “Você pode ter dados sem informação, mas não pode ter informação sem dados”. Os dados são o principal ativo em todas as organizações, se você perder os dados, perderá as informações. Isso, por sua vez, pode levar a más decisões de negócios ou até mesmo o negócio não ser capaz de operar. Ter um plano de recuperação de desastres para seus dados é essencial, e a nuvem pode ser particularmente útil aqui. Ao aproveitar o armazenamento em nuvem, você não precisa preparar o armazenamento para armazenar seus dados de backup ou gastar dinheiro antecipadamente em sistemas de armazenamento caros. O Amazon S3 e o Google Cloud Storage são ótimas opções, pois são confiáveis, baratos e duráveis.
Escrevemos anteriormente sobre como armazenar seus backups do PostgreSQL na AWS e também no GCP. Então, vejamos algumas dicas para armazenar backups de seus dados do TimescaleDB para AWS S3 e Cloud Storage.
Preparando seu bucket do AWS S3
A AWS fornece uma interface web simples para gerenciar dados no AWS S3. O termo bucket é semelhante a um “diretório” nos termos tradicionais de armazenamento do sistema de arquivos, é um contêiner lógico para objetos.
Criar um novo bucket no S3 é fácil, você pode ir diretamente ao menu do S3 e criar um novo bucket conforme mostrado abaixo:
Você precisa preencher o nome do bucket, o nome é globalmente exclusivo em AWS como o namespace é compartilhado em todas as contas da AWS. Você pode restringir o acesso ao bucket pela Internet ou publicá-lo com restrições de ACL. A criptografia é uma prática importante para proteger seus dados de backup.
Preparando seu bucket do Google Cloud Storage
Para configurar o armazenamento em nuvem no GCP, vá para a categoria Armazenamento e escolha Armazenamento -> Criar bucket. Preencha o nome do bucket, semelhante ao Amazon S3, e o nome do bucket também é globalmente exclusivo no GCP.
Escolha onde você irá armazenar seu backup, existem três tipos de localização; você pode armazenar em uma única região, região dupla ou multirregião.
Escolha o tipo de classe de armazenamento para seu bucket, existem quatro categorias que estão; Padrão, Nearline, Coldline e Arquivo. Cada categoria tem critérios sobre como você pode recuperar os dados e também o custo.
Existem algumas configurações avançadas relacionadas à criptografia dos buckets, política de retenção e controle de acesso.
Configurar o utilitário de armazenamento em nuvem
A AWS CLI é uma interface fornecida pela AWS para interagir com serviços da AWS, como S3, EC2, grupos de segurança, VPC etc. por meio da linha de comando. Você pode configurar a AWS CLI no nó em que os arquivos de backup residem antes de transferir os arquivos para o S3. Você pode seguir o procedimento de instalação da AWS CLI aqui.
Você pode verificar sua versão da AWS CLI executando o comando abaixo:
[email protected]:~# /usr/local/bin/aws --version
aws-cli/2.1.7 Python/3.7.3 Linux/4.15.0-91-generic exe/x86_64.ubuntu.18 prompt/off
Depois disso, você precisa configurar a Chave de Acesso e a Chave Secreta do servidor conforme abaixo:
[email protected]:~# aws configure
AWS Access Key ID [None]: AKIAREF*******AMKYUY
AWS Secret Access Key [None]: 4C6Cjb1zAIMRfYy******1T16DNXE0QJ3gEb
Default region name [None]: ap-southeast-1
Default output format [None]:
Então você está pronto para executar e transferir o backup para seu bucket.
$ aws s3 cp “/mnt/backups/BACKUP-1/full-backup-20201201.tar.gz” s3://s9s-timescale-backup/
Você pode criar um script de shell para o comando acima e configurar um agendador para execução diária.
O GCP fornece a GSUtil Tool, que permite acessar o Cloud Storage por meio da linha de comando. O procedimento de instalação do GSUtil pode ser encontrado aqui. Após a instalação, você pode executar gcloud init para configurar o acesso ao GCP.
[email protected]:~# gcloud init
Ele solicitará que você faça login no Google Cloud acessando o URL e adicionando o código de autenticação.
Depois de tudo configurado, você pode executar a transferência de backup para o Cloud Storage executando o seguinte:
[email protected]:~# gsutil cp /mnt/backups/BACKUP-1/full-backup-20201201.tar.gz gs://s9s-timescale-backup/
Gerencie seu backup com ClusterControl
O ClusterControl é compatível com o upload de backups do TimeScaleDB para a nuvem. Atualmente, oferecemos suporte a Amazon AWS, Google Cloud Platform e Microsoft Azure. Para configurar seu backup do TimescaleDB para a nuvem é muito simples, você pode acessar o Backup em seu cluster do TimescaleDB e Criar Backup conforme mostrado abaixo:
Ative a opção “Upload Backup to the cloud” e continue. Ele solicitará que você escolha o provedor de nuvem e preencha as chaves de acesso e secretas. Nesse caso, utilizo o AWS S3 como provedor de backup na nuvem.
E, finalmente, escolha o bucket que foi criado anteriormente. Você pode configurar a retenção do backup e Agendar Backup conforme abaixo: