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 protegido. EC2 executa código; S3 guarda arquivos como objetos em buckets, sem depender de uma única cópia no servidor.
Entre no projeto.
cd /home/labex/project
Carregue PORTFOLIO_BUCKET: o nome exclusivo foi preparado, mas o bucket não existe. Nomes são globalmente únicos em uma partição AWS.
source website.env
echo "$PORTFOLIO_BUCKET"
s3 mb cria o bucket, s3:// identifica S3 e a conexão usa us-east-1.
aws s3 mb "s3://$PORTFOLIO_BUCKET"
Leia private-access.json: quatro true ativam Block Public Access contra permissões públicas acidentais.
cat private-access.json
Aplique o arquivo com s3api.
aws s3api put-public-access-block --bucket "$PORTFOLIO_BUCKET" --public-access-block-configuration file://private-access.json
Leia e confirme os quatro true.
aws s3api get-public-access-block --bucket "$PORTFOLIO_BUCKET"
AWS View mostra seu bucket vazio. Preserve o bucket de referência e keep.txt. Novos buckets são privados por padrão; o bloqueio acrescenta proteção contra ACLs e políticas públicas.
Envie e recupere os materiais
Nesta etapa, você armazenará quatro arquivos fornecidos: images/aura-brand.webp, images/forma-chair.webp, images/echo-record.webp e projects.json. WebP é um formato de imagem. O JSON fornece os textos e referências dos painéis. Código, fonte e Tailwind compilado estão preparados.
cp com --recursive copia todos os arquivos de portfolio-assets/. Caminhos relativos viram Keys; images/ é um prefixo de nome, não uma pasta real em S3. Espere quatro linhas upload.
aws s3 cp portfolio-assets/ "s3://$PORTFOLIO_BUCKET/" --recursive
Confira exatamente as quatro Keys em Contents e no AWS View.
aws s3api list-objects-v2 --bucket "$PORTFOLIO_BUCKET"
Inverta a direção para baixar a capa AURA com outro nome local.
aws s3 cp "s3://$PORTFOLIO_BUCKET/images/aura-brand.webp" downloaded-aura.webp
cmp compara bytes; nenhuma saída significa arquivos iguais.
cmp portfolio-assets/images/aura-brand.webp downloaded-aura.webp
O armazenamento privado está completo. O site ainda usa os arquivos locais. O próximo laboratório autoriza leitura das três imagens e do JSON em S3; mantenha o bucket privado.

Limpe somente seus recursos
Nesta etapa, você removerá objetos, bucket vazio e servidor.
rm --recursive remove os quatro objetos do bucket próprio que você acabou de conferir. Não escolha o bucket de referência.
aws s3 rm "s3://$PORTFOLIO_BUCKET/" --recursive
rb remove esse bucket vazio.
aws s3 rb "s3://$PORTFOLIO_BUCKET"
Mostre o ID do servidor.
echo "$INSTANCE_ID"
Encerre apenas essa instância.
aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"
Espere terminated.
aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"
Seu bucket desaparece e keep.txt permanece. Preserve a rede; os próximos laboratórios fornecem recursos novos.
Resumo
Você armazenou e recuperou materiais privados, depois removeu apenas seus recursos preservando referências.
Referências oficiais: S3 objects, AWS CLI S3 file commands, Block Public Access.



