← Voltar para Documentação

Configurar a AWS CLI e o rclone no seu bucket

Conecte as ferramentas padrão de S3 ao seu bucket da EasyOps, com os parâmetros de endpoint que costumam causar confusão.

Atualizado em

O Object Storage da EasyOps fala a API S3. Isso significa que você não precisa de nenhuma ferramenta proprietária: a AWS CLI, o rclone, o s3cmd e praticamente qualquer SDK que já usa S3 funcionam. O que muda é um detalhe, e é justamente onde quase todo mundo trava — você precisa dizer à ferramenta para falar com o endpoint da EasyOps, e não com o da Amazon.

Este artigo mostra as duas configurações que resolvem 95% dos casos e explica o motivo de cada parâmetro.

Antes de começar

Você precisa de um bucket já criado e de um par de chaves de acesso (access key e secret key). Se ainda não tem, veja criar um bucket compatível com S3. No painel, gere as credenciais de acesso do bucket e copie os dois valores.

A secret key normalmente é exibida uma única vez, no momento da criação. Se você perder, o caminho é gerar um novo par e revogar o antigo — não existe forma de recuperar o valor original. Guarde em um gerenciador de senhas antes de fechar a aba.

Você também precisa de dois dados que aparecem nos detalhes do bucket no painel: o endpoint (o host da região, algo como https://<endpoint-da-regiao>) e o nome da região. Use exatamente os valores que o painel mostra. Não adivinhe e não reaproveite endpoint de outro provedor — assinatura de requisição S3 inclui o host, então um host errado gera erro de autenticação e não erro de rede, o que confunde o diagnóstico.

Os parâmetros que causam confusão

ParâmetroPor que existeO que fazer
endpoint_urlA CLI assume amazonaws.com por padrão. Sem sobrescrever, ela tenta autenticar na Amazon com credenciais que não são de lá.Aponte para o endpoint da EasyOps, sempre com https://.
regionO algoritmo de assinatura SigV4 embute a região na assinatura. Mesmo que só exista uma, o campo não pode ficar vazio.Use o nome de região que o painel informa.
Estilo de endereçamentoS3 tem dois formatos: bucket.host (virtual-hosted) e host/bucket (path-style). Provedores compatíveis costumam aceitar path-style com mais previsibilidade.Se você vê erros de DNS ou 404 em bucket que existe, force path-style.
Checksum de requisiçãoVersões recentes da AWS CLI v2 passaram a enviar checksums CRC32 por padrão, e alguns backends S3 recusam.Se uploads falharem com erro de checksum ou header não suportado, desligue conforme abaixo.

Configurar a AWS CLI

Instale a versão 2 (a v1 já não recebe correções). Depois crie um perfil dedicado em vez de usar o default — assim você não mistura credenciais da EasyOps com credenciais de outra cloud na mesma máquina.

aws configure --profile easyops
# AWS Access Key ID:     sua access key
# AWS Secret Access Key: sua secret key
# Default region name:   a região informada no painel
# Default output format: json

Isso grava as chaves em ~/.aws/credentials e a região em ~/.aws/config. Agora edite ~/.aws/config e acrescente o endpoint e o estilo de endereçamento ao perfil, para não repetir --endpoint-url em cada comando:

[profile easyops]
region = <regiao-do-painel>
output = json
endpoint_url = https://<endpoint-do-painel>
s3 =
    addressing_style = path

Teste com uma listagem:

aws s3 ls --profile easyops
aws s3 ls s3://meu-bucket/ --profile easyops

Se o primeiro comando lista os buckets e o segundo lista o conteúdo, a configuração está correta. Operações do dia a dia:

# enviar um arquivo
aws s3 cp backup.sql.gz s3://meu-bucket/db/ --profile easyops

# sincronizar uma pasta (só o que mudou)
aws s3 sync ./site/ s3://meu-bucket/site/ --profile easyops

# baixar
aws s3 cp s3://meu-bucket/db/backup.sql.gz . --profile easyops

Preste atenção em aws s3 sync --delete. Ele apaga no destino tudo que não existe na origem. Se você inverter origem e destino por engano, o comando apaga o conteúdo do bucket sem pedir confirmação. Rode primeiro com --dryrun para ver a lista de operações antes de executar de verdade.

Quando a autenticação falha

SignatureDoesNotMatch quase nunca é senha errada. Na prática é endpoint com host diferente do que foi assinado, região divergente, ou relógio da máquina fora de hora — SigV4 rejeita requisições com desvio grande de horário. Confira date no servidor e garanta que o NTP está ativo.

Se o erro citar checksum ou um header desconhecido, force o comportamento antigo:

export AWS_REQUEST_CHECKSUM_CALCULATION=when_required
export AWS_RESPONSE_CHECKSUM_VALIDATION=when_required

Para deixar permanente, adicione request_checksum_calculation = when_required no bloco do perfil em ~/.aws/config.

Configurar o rclone

O rclone é melhor que a AWS CLI para espelhar diretórios grandes, retomar transferências e montar o bucket como sistema de arquivos. Você pode rodar rclone config interativamente, mas é mais rápido escrever ~/.config/rclone/rclone.conf direto:

[easyops]
type = s3
provider = Other
env_auth = false
access_key_id = <sua-access-key>
secret_access_key = <sua-secret-key>
region = <regiao-do-painel>
endpoint = https://<endpoint-do-painel>
force_path_style = true
acl = private

provider = Other faz o rclone desabilitar otimizações específicas da Amazon. Verifique e use:

rclone lsd easyops:
rclone ls easyops:meu-bucket
rclone copy ./site easyops:meu-bucket/site --progress
rclone sync ./site easyops:meu-bucket/site --progress --dry-run

A regra do --delete vale aqui também: rclone sync é unidirecional e remove o excedente no destino. Use --dry-run sempre na primeira execução de um comando novo. Para arquivos grandes numa VPS com pouca memória, limite a concorrência com --transfers 2 --s3-upload-concurrency 2 — o padrão do rclone assume banda e RAM folgadas.

Qual das duas usar

SituaçãoFerramenta
Scripts pontuais de upload e downloadAWS CLI
Espelhar diretórios, retomar transferência interrompidarclone
Integrar com SDK ou aplicaçãoSDK S3 com os mesmos parâmetros de endpoint
Montar o bucket como pasta localrclone (rclone mount)

Nenhuma das duas substitui backup de servidor. Bucket guarda arquivos; recuperar um sistema inteiro é outro problema — veja backup ou snapshot: qual usar em cada caso.

Credenciais dentro da VPS

Se as chaves vão viver numa VPS para rodar rotinas automatizadas, trate-as como segredo de produção: permissão restrita (chmod 600 ~/.aws/credentials), sob o usuário que executa o job, nunca em repositório versionado. Um par de chaves com escrita no bucket permite apagar tudo que está lá.

Com a CLI funcionando, o próximo passo prático é automatizar: veja enviar backup de banco para um bucket. Se você ainda vai configurar o acesso à máquina que vai rodar essas rotinas, comece por acessar sua VPS por SSH.

Não resolveu?

Nosso suporte é humano e em português. Se este guia não cobriu o seu caso, fale com a gente.

Falar com o suporte →