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.
Parte 2: 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.
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:
b) Ou via shell diretamente no diretório "arquivos".
Uma vez o upload feito, ele é imediatamente enviado ao bucket na 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.
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.