Introdução
Crie um bucket privado, envie imagens e projetos, recupere uma cópia idêntica e limpe seus recursos.
Conclua os laboratórios anteriores do portfólio. Este ambiente fornece seus próprios recursos e capacidades anteriores necessárias. Reutilize conhecimentos, não instâncias, arquivos ou credenciais anteriores.
Relação com certificação
| Certificação | Tarefas | Prática |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.6 | Usar armazenamento de objetos S3 separado da computação EC2. |
Visão geral

Crie armazenamento privado
Nesta etapa, você criará um bucket privado para os materiais e aplicará sua proteção contra acesso público.
EC2 executa o site. Amazon S3 guarda arquivos como objetos em um bucket, um contêiner com nome. Assim os materiais ficam separados do servidor. Este laboratório fornece outro site e arquivos locais; você criará o bucket.
Entre no projeto preparado:
cd /home/labex/project
Carregue os identificadores e mostre o nome do bucket:
source website.env
echo "$PORTFOLIO_BUCKET"
PORTFOLIO_BUCKET é o nome exclusivo do exercício; o bucket ainda não existe. S3 exige nomes únicos, então use o fornecido em vez de um comum como portfolio.
Os comandos s3 facilitam operações com arquivos. mb cria um bucket e s3:// identifica uma localização S3:
aws s3 mb "s3://$PORTFOLIO_BUCKET"
Espere a confirmação make_bucket. A conexão usa us-east-1, a Region do novo bucket. Encontre seu nome no AWS View.
O armazenamento novo é privado por padrão. Block Public Access protege contra permissões públicas acidentais. Leia o JSON fornecido: os quatro ajustes devem ser true:
cat private-access.json
Cada true ativa uma proteção. s3api expõe operações específicas, incluindo acesso. Como em launch.json, file:// lê a configuração local sem informar cada valor separadamente:
aws s3api put-public-access-block \
--bucket "$PORTFOLIO_BUCKET" \
--public-access-block-configuration file://private-access.json
Uma atualização correta retorna ao prompt sem saída. Leia os ajustes no S3 para confirmar que foram salvos:
aws s3api get-public-access-block --bucket "$PORTFOLIO_BUCKET"
Confirme quatro valores true e No objects no AWS View. O bucket de referência contém keep.txt, dados independentes; preserve-o. Seu armazenamento está pronto.
Envie e recupere os materiais
Nesta etapa, você guardará três capas e a lista de projetos, recuperará AURA e comparará seus bytes com o original.
portfolio-assets/ contém quatro arquivos. WebP é um formato de imagem; projects.json contém títulos, descrições e referências. Site e arte são fornecidos para você se concentrar no armazenamento.
| Arquivo | Uso no site |
|---|---|
images/aura-brand.webp |
AURA |
images/forma-chair.webp |
FORMA |
images/echo-record.webp |
ECHO |
projects.json |
Títulos, descrições e referências |
A key é o nome do objeto no bucket. images/aura-brand.webp tem o prefixo images/, não uma pasta real no S3. cp copia arquivos e --recursive copia o diretório inteiro mantendo os caminhos relativos como keys:
aws s3 cp portfolio-assets/ "s3://$PORTFOLIO_BUCKET/" --recursive
Espere quatro linhas upload. Liste os objetos com s3 ls; --recursive inclui as keys sob images/:
aws s3 ls "s3://$PORTFOLIO_BUCKET/" --recursive
As quatro linhas mostram data, tamanho e key. Confirme as três imagens e projects.json; ordem e horário exato não importam. AWS View mostra os mesmos nomes.

Inverta a cópia para recuperar AURA com outro nome local:
aws s3 cp "s3://$PORTFOLIO_BUCKET/images/aura-brand.webp" downloaded-aura.webp
cmp compara bytes. Compare o original com o arquivo recuperado:
cmp portfolio-assets/images/aura-brand.webp downloaded-aura.webp
Sem saída e com o prompt de volta, os arquivos são iguais. Você armazenou e recuperou a capa real sem mudanças. Se diferirem, confira a key e envie o original novamente.
O armazenamento privado está completo. O site ainda lê arquivos locais: enviar ao S3 não muda a página. O próximo laboratório começa de novo com materiais equivalentes já armazenados e ensina a autorizar a leitura pela aplicação.
Resumo
Você criou S3 privado, aplicou proteção pública, enviou três capas e uma lista e recuperou uma cópia igual. Distinguiu objetos armazenados da aplicação que os utilizará.
Referências oficiais: S3 objects, AWS CLI S3 file commands, Block Public Access.



