Stockez les matériaux du portfolio dans S3

AWSBeginner
Pratiquer maintenant

Introduction

Créez un bucket privé, envoyez images et projets, récupérez une copie identique et nettoyez vos ressources.

Terminez les laboratoires précédents du portfolio. Cet environnement fournit ses propres ressources et les capacités antérieures nécessaires. Réutilisez les connaissances, pas les instances, fichiers ou identifiants précédents.

Lien avec la certification

Certification Tâches Pratique
AWS Certified Cloud Practitioner (CLF-C02) Task 3.6 Utiliser le stockage d’objets S3 séparément du calcul EC2.

Vue d’ensemble

Créez un bucket privé, envoyez images et projets, récupérez une copie identique et nettoyez vos ressources.

Créer le stockage privé

Dans cette étape, vous créerez un bucket protégé. EC2 exécute le code ; S3 conserve des fichiers comme objets dans des buckets, sans dépendre d’une seule copie sur le serveur.

Entrez dans le projet.

cd /home/labex/project

Chargez PORTFOLIO_BUCKET : son nom unique est fourni, le bucket n’existe pas. Les noms sont globalement uniques dans une partition AWS.

source website.env
echo "$PORTFOLIO_BUCKET"

s3 mb crée le bucket ; s3:// indique S3. La connexion choisit us-east-1.

aws s3 mb "s3://$PORTFOLIO_BUCKET"

Lisez private-access.json : quatre true activent Block Public Access contre les permissions publiques accidentelles.

cat private-access.json

Appliquez le fichier par l’opération s3api.

aws s3api put-public-access-block --bucket "$PORTFOLIO_BUCKET" --public-access-block-configuration file://private-access.json

Relisez et confirmez les quatre valeurs true.

aws s3api get-public-access-block --bucket "$PORTFOLIO_BUCKET"

AWS View doit montrer un bucket sans objets. Gardez le bucket de référence et keep.txt. Les nouveaux buckets sont privés par défaut ; ce blocage ajoute une protection contre ACL et politiques publiques.

Envoyer et récupérer les matériaux

Dans cette étape, vous stockerez les quatre fichiers préparés : images/aura-brand.webp, images/forma-chair.webp, images/echo-record.webp et projects.json. WebP est un format d’image. Le JSON fournit les textes et références des panneaux de projet. Le code, la police et le CSS Tailwind compilé sont fournis.

cp avec --recursive copie tous les fichiers de portfolio-assets/. Les chemins relatifs deviennent des Keys ; images/ est un préfixe de nom, pas un vrai dossier S3. Attendez quatre lignes upload.

aws s3 cp portfolio-assets/ "s3://$PORTFOLIO_BUCKET/" --recursive

Dans Contents, confirmez exactement les quatre Keys, également visibles dans AWS View.

aws s3api list-objects-v2 --bucket "$PORTFOLIO_BUCKET"

Inversez le transfert pour télécharger la couverture AURA sous un autre nom local.

aws s3 cp "s3://$PORTFOLIO_BUCKET/images/aura-brand.webp" downloaded-aura.webp

cmp compare les octets ; aucune sortie signifie que les fichiers sont identiques.

cmp portfolio-assets/images/aura-brand.webp downloaded-aura.webp

Le stockage privé est complet. Le site utilise encore ses fichiers locaux. Le prochain laboratoire autorisera la lecture des trois images et du JSON depuis S3 ; gardez le bucket privé.

Point de contrôle réel du laboratoire ; vos identifiants peuvent varier.

Nettoyer seulement vos ressources

Dans cette étape, vous supprimerez objets, bucket vide et serveur.

rm --recursive supprime les quatre objets du bucket propre que vous venez d’inspecter. Ne choisissez pas le bucket de référence.

aws s3 rm "s3://$PORTFOLIO_BUCKET/" --recursive

rb supprime ce bucket vide.

aws s3 rb "s3://$PORTFOLIO_BUCKET"

Affichez l’ID du serveur.

echo "$INSTANCE_ID"

Terminez uniquement cette instance.

aws ec2 terminate-instances --instance-ids "$INSTANCE_ID"

Attendez terminated.

aws ec2 wait instance-terminated --instance-ids "$INSTANCE_ID"

Votre bucket disparaît ; la référence keep.txt reste. Préservez le réseau. Les laboratoires suivants recréent leur environnement.

Résumé

Vous avez stocké et récupéré les matériaux privés et préservé les références pendant le nettoyage.

Références officielles : S3 objects, AWS CLI S3 file commands, Block Public Access.