Criando backups com Amazon S3

Backups! Backups!! Backups!!! Afinal precisamos sempre manter backups de nossos arquivos, sejam eles pessoais ou profissionais. Com a facilidade de criar backups hoje em dia, podemos contar com diversos meios para isto, serviços como DropBox, Google Backup entre outros são uma ótima forma de manter seus backups salvos.

[ Hits: 11.705 ]

Por: Percio Andrade Castelo Branco em 07/07/2016


Configuração



Chegamos na etapa de configuração do Amazon S3.

O primeiro passo é criar sua conta no sistema através do painel da Amazon. A conta pode ser criada em:
Após criar sua conta no S3, você precisará obter as chaves de conexão sendo elas a Key e PrivateKey, estas chaves podem ser obtidas em:
Obs.: a URL pode mudar de acordo com a região assinada na Amazon.

Com posse da chave crie e configure o arquivo abaixo no usuário root:

# echo "SUA_KEY:SUA_PRIVATE_KEY" > $HOME/.passwd-s3fs
# chmod 600 "$HOME/.passwd-s3fs"


Este arquivo deve existir, caso contrário a conexão não poderá ser efetuada.

Vamos então para o próximo passo que é criar a conta e testar a configuração.

Criação de conta

Chegamos na etapa de criação de conta e vamos verificar se tudo está funcionando corretamente.

1. Acesse o painel do Amazon S3 e crie um bucket. Digamos que foi criado como 'arquivos'.

Para saber como criar um bucket veja este guia:
2. Agora acesse seu servidor e crie o usuário que receberá o bucket, vamos definir como vivaolinux, este usuário deve possuir um diretório home válido:

# useradd -d /home/vivaolinux -m vivaolinux

Em seguida insira uma senha para este usuário:

# passwd vivaolinux

Anote a senha.

3. Agora vamos criar um diretório na home do cliente com o mesmo nome do bucket:

# mkdir /home/vivaolinux/arquivos

4. Uma vez o diretório criado, vamos invocar o s3fs para montar o bucket no diretório que criamos:

# /usr/local/bin/s3fs "vivaolinux" -o use_rrs -o allow_other -o default_acl=public-read "/home/vivaolinux/arquivos"

Podemos verificar se houve a montagem corretamente rodando:

# df -h | grep s3fs

Se aparecer listado a montagem foi feita corretamente.

5. Vamos inserir uma entrada no fstab para evitar que após o reinicio da maquina a montagem se perca:

# echo "s3fs#$BUCKET /home/vivaolinux/arquivos fuse _netdev,allow_other,nodnscache,retries=5 0 0" >> /etc/fstab

6. Vamos por fim adicionar o usuário vivaolinux à lista de usuários permitidos no FTP:

# echo "vivaolinux" >> /etc/vsftpd/user_list

Reinicie o servidor FTP em seguida:

# /etc/init.d/vsftpd restart

Opcional: caso você queira que o usuário possa somente fazer upload no Amazon S3 e não em seu servidor, modifique a permissão do diretório home para 0555:

# chmod 0555 "/home/vivaolinux/"

Agora você pode fazer upload de duas formas:

a) Diretamente via algum cliente de FTP utilizando a conexão:
  • Servidor: IP OU NOME_DO_SERVIDOR
  • PORTA: 21
  • USUÁRIO: USUÁRIO
  • SENHA: SENHA
  • DIRETÓRIO: /arquivos

b) Ou via shell diretamente no diretório "arquivos".

Uma vez o upload feito, ele é imediatamente enviado ao bucket na Amazon S3.

Página anterior     Próxima página

Páginas do artigo
   1. O que é o Amazon S3
   2. Configuração
   3. Automatização
Outros artigos deste autor

Backups com Amazon S3

Leitura recomendada

Conhecendo o rSync

Backups com Amazon S3

storage FreeNas 9.2.1.6 - Instalação e configuração

Backup de máquinas virtuais no ESXi 5.0 com script ghettoVCB

Clonar HD com o comando pv salvando em .img

  
Comentários
[1] Comentário enviado por fabio em 07/07/2016 - 02:53h

Muito bom! Eu já usava o Amazon EC2 e não tinha conhecimento sobre o E3. Acabei de criar um bucket e já estou usando! Vou aposentar meu Dropbox.

A instalação no Debian é bem simples:

# apt-get install s3fs

Depois é criar o arquivo ~/.passwd-s3 usando o procedimento do artigo e montar o diretório usando o comando s3fs conforme explicado aqui.

[2] Comentário enviado por Tacioandrade em 08/07/2016 - 00:35h

Só uma dica sobre o s3fs, fazendo uso dele com mais de um servidor ao mesmo tempo, acesso simultâneo ao mesmo arquivo irá corrompe-lo. Quem me passou isso foi um amigo que o utilizou e acabou perdendo dezenas de arquivos. =/

Att. Tácio Andrade.

[3] Comentário enviado por percioandrade em 08/07/2016 - 02:36h

É verdade e a resposta é devido a forma como ele trata os arquivos e suas limitações:

S3 LIMITATIONS

Objects can contain a maximum of 5GB.
You can't update part of an object. If you want to update 1 byte in a 1GB object you'll have to reupload the entire GB.

High risk for data corruption, due to the delayed writes (e.g., your system or the connection to AWS fails). Journaling doesn't help because as far as the filesystem is concerned the blocks have already been written (I.e., to S3Backer's cache).

Aqui tem toda a explicação do S3 e do S3FS: https://www.turnkeylinux.org/blog/exploring-s3-based-filesystems-s3fs-and-s3backer

O S3FS recomendo para uso pessoal, mas o Amazon S3 existe "N" maneiras de montar como um webserver por exemplo onde é possível ultrapassar estas limitações e fazer múltiplos acessos.

[4] Comentário enviado por baptista em 21/07/2016 - 19:09h

Quem quiser aprender mais sobre o AWS, temos um treinamento online em nosso site:

http://cursos.escolalinux.com.br/curso/aws-para-devops-20-horas


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts