Cerca de 10 minutos
Como usar o Aktar com Amazon S3
O Amazon S3 é o armazenamento de objetos original e funciona com a predefinição Amazon S3 do Aktar. O único ponto que exige atenção é o acesso público: o S3 bloqueia esse acesso por padrão, então você precisa adicionar uma bucket policy para leitura pública ou colocar o CloudFront na frente do bucket.
O que você precisa
- Uma conta na AWS
- Permissão para criar buckets S3 e usuários IAM
- O Aktar instalado no seu Mac
Passo a passo
- 1
Crie um bucket
No console do S3, clique em Create bucket, escolha um nome único globalmente e a região mais próxima de você, por exemplo
eu-central-1. Você pode manter a propriedade de objetos padrão "Bucket owner enforced": o Aktar não usa ACLs. - 2
Libere a leitura pública
Opção A, bucket policy: na aba Permissions do bucket, desative as configurações de "Block public access" que bloqueiam bucket policies públicas e depois adicione esta bucket policy (substitua
YOUR-BUCKET):{ "Version": "2012-10-17", "Statement": [{ "Sid": "PublicRead", "Effect": "Allow", "Principal": "*", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::YOUR-BUCKET/*" }] }Opção B, CloudFront: mantenha o bucket privado e crie uma distribuição do CloudFront com o bucket como origem (usando Origin Access Control). Assim você tem HTTPS em um domínio personalizado e cache.
- 3
Crie um usuário IAM para o Aktar
No IAM, crie um usuário e anexe uma política que permita apenas o que o Aktar precisa nesse bucket:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::YOUR-BUCKET" }, { "Effect": "Allow", "Action": ["s3:PutObject", "s3:GetObject", "s3:DeleteObject"], "Resource": "arn:aws:s3:::YOUR-BUCKET/*" } ] }Depois crie uma access key para o usuário e copie o Access Key ID e o Secret Access Key.
- 4
Adicione o destino no Aktar
Em Settings → Destinations → Add Destination, escolha Amazon S3 e informe os valores abaixo. O endpoint e a região precisam corresponder à região do bucket.
- 5
Teste e salve
Clique em Test Connection para confirmar que o bucket aceita gravação e que a URL pública entrega os arquivos, depois clique em Save.
Configurações no Aktar
Preencha estes valores em Settings → Destinations → Add Destination. Os nomes dos campos são os mesmos do app.
| Campo | Valor de exemplo |
|---|---|
| Provider | Amazon S3 |
| Endpoint | https://s3.eu-central-1.amazonaws.comUse a região do seu bucket. |
| Region | eu-central-1 |
| Access Key ID | AKIA…Do usuário IAM. |
| Secret Access Key | •••••••• |
| Bucket | your-bucket |
| Public Base URL | your-bucket.s3.eu-central-1.amazonaws.comOu o seu domínio do CloudFront. |
Dicas
- Prefira o CloudFront com um domínio personalizado se você compartilha links publicamente: você ganha cache e pode manter o próprio bucket privado.
- Restrinja a política IAM a um único bucket. O Aktar nunca precisa de permissões para a conta inteira.
- Escolha uma região próxima de você para envios mais rápidos, e próxima do seu público se você não usa CDN.
Solução de problemas
O Test Connection mostra um erro de região ou de redirecionamento
O endpoint e a região precisam corresponder à região onde o bucket foi criado, por exemplo https://s3.eu-central-1.amazonaws.com com eu-central-1.
Os envios falham com Access Denied
O usuário IAM precisa de s3:PutObject em YOUR-BUCKET/* e de s3:ListBucket no próprio bucket.
Os links retornam 403
A bucket policy está faltando ou ainda está bloqueada pelo "Block public access", ou o CloudFront não consegue ler o bucket. Veja erros de Access Denied.
Ainda com problemas?Veja as perguntas frequentes ou pergunte no GitHub.