Guarde materiais do portfólio no S3

AWSBeginner
Pratique Agora

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 um bucket privado, envie imagens e projetos, recupere uma cópia idêntica e limpe seus recursos.

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.

Ponto de controle real do laboratório; seus identificadores podem variar.

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.