Speichere Portfolio-Materialien in S3

AWSBeginner
Jetzt üben

Einführung

Erstelle einen privaten Bucket, lade Bilder und Projekte hoch, hole eine identische Kopie und bereinige deine Ressourcen.

Schließe die vorherigen Portfolio-Labs ab. Dieses Lab liefert eigene Ressourcen und benötigte frühere Fähigkeiten. Übernimm Wissen, keine alten Instanzen, Dateien oder Zugangsdaten.

Zertifizierungsbezug

Zertifizierung Aufgaben Übung
AWS Certified Cloud Practitioner (CLF-C02) Task 3.6 S3-Objektspeicher getrennt von EC2-Compute nutzen.

Überblick

Erstelle einen privaten Bucket, lade Bilder und Projekte hoch, hole eine identische Kopie und bereinige deine Ressourcen.

Privaten Speicher erstellen

In diesem Schritt erstellst du einen geschützten Bucket. EC2 führt Code aus; S3 speichert Dateien als Objekte in Buckets, unabhängig von einer einzigen Serverkopie.

Wechsle zum Projekt.

cd /home/labex/project

Lade PORTFOLIO_BUCKET: der eindeutige Name ist vorbereitet, der Bucket noch nicht vorhanden. Namen müssen innerhalb einer AWS-Partition global eindeutig sein.

source website.env
echo "$PORTFOLIO_BUCKET"

s3 mb erstellt den Bucket, s3:// bezeichnet S3. Vorbereitet ist us-east-1.

aws s3 mb "s3://$PORTFOLIO_BUCKET"

Lies private-access.json: vier true aktivieren Block Public Access gegen versehentliche öffentliche Berechtigungen.

cat private-access.json

Wende die Datei mit s3api an.

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

Lies die Einstellungen und prüfe vier true.

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

AWS View zeigt deinen leeren Bucket. Bewahre Referenz-Bucket und keep.txt. Neuer Speicher ist standardmäßig privat; diese Sperre schützt zusätzlich gegen öffentliche ACLs und Richtlinien.

Materialien hochladen und abrufen

In diesem Schritt speicherst du vier vorbereitete Dateien: images/aura-brand.webp, images/forma-chair.webp, images/echo-record.webp und projects.json. WebP ist ein Bildformat. JSON enthält Texte und Bildverweise für Projektdetails. Anwendung, Schrift und kompiliertes Tailwind-CSS sind bereitgestellt.

cp mit --recursive kopiert alle Dateien in portfolio-assets/. Relative Pfade werden zu Keys; images/ ist ein Namenspräfix und kein echtes S3-Verzeichnis. Erwarte vier upload-Zeilen.

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

Prüfe genau die vier Keys in Contents und AWS View.

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

Kehre die Kopierrichtung um, um das AURA-Bild unter einem anderen lokalen Namen herunterzuladen.

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

cmp vergleicht Bytes; ohne Ausgabe sind beide Dateien gleich.

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

Die private Speicherung ist abgeschlossen. Die Website nutzt noch ihre lokalen Dateien. Im nächsten Lab erlaubst du das Lesen der drei Bilder und der Projektliste aus S3; öffne den Bucket nicht öffentlich.

Realer Prüfpunkt des Labs; deine Ressourcenkennungen können abweichen.

Nur eigene Ressourcen bereinigen

In diesem Schritt entfernst du Objekte, leeren Bucket und Server.

rm --recursive entfernt die vier Objekte aus deinem eben geprüften Bucket. Wähle niemals den Referenz-Bucket.

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

rb löscht diesen leeren Bucket.

aws s3 rb "s3://$PORTFOLIO_BUCKET"

Zeige die Server-ID.

echo "$INSTANCE_ID"

Beende nur diese Instanz.

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

Warte auf terminated.

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

Dein Bucket verschwindet, keep.txt bleibt. Bewahre das Netzwerk. Die folgenden Labs liefern eigene Ressourcen.

Zusammenfassung

Du hast private Materialien gespeichert und unverändert zurückgeholt, dann nur deine Ressourcen entfernt.

Offizielle Quellen: S3 objects, AWS CLI S3 file commands, Block Public Access.