Сохраните материалы портфолио в S3

AWSBeginner
Практиковаться сейчас

Введение

Создайте закрытый bucket, загрузите картинки и проекты, получите идентичную копию и очистите свои ресурсы.

Сначала выполните предыдущие работы портфолио. Среда предоставляет собственные ресурсы и необходимые возможности прежних этапов. Переносите знания, а не экземпляры, файлы или учётные данные.

Связь с сертификацией

Сертификация Задачи Практика
AWS Certified Cloud Practitioner (CLF-C02) Task 3.6 Использовать хранилище объектов S3 отдельно от вычислений EC2.

Обзор

Создайте закрытый bucket, загрузите картинки и проекты, получите идентичную копию и очистите свои ресурсы.

Создайте закрытое хранилище

На этом шаге вы создадите защищённый bucket. EC2 выполняет код; S3 хранит файлы как объекты в buckets, без зависимости от единственной копии на сервере.

Перейдите в проект.

cd /home/labex/project

Загрузите PORTFOLIO_BUCKET: уникальное имя подготовлено, bucket пока отсутствует. Имена глобально уникальны внутри раздела AWS.

source website.env
echo "$PORTFOLIO_BUCKET"

s3 mb создаёт bucket, s3:// обозначает S3; подключение использует us-east-1.

aws s3 mb "s3://$PORTFOLIO_BUCKET"

Прочитайте private-access.json: четыре true включают Block Public Access против случайных публичных разрешений.

cat private-access.json

Примените файл через s3api.

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

Прочитайте настройку и проверьте четыре true.

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

AWS View показывает пустой bucket. Сохраните reference bucket и keep.txt. Новое хранилище закрыто по умолчанию; блокировка дополнительно ограничивает публичные ACL и политики.

Загрузите и получите материалы

На этом шаге вы сохраните четыре подготовленных файла: images/aura-brand.webp, images/forma-chair.webp, images/echo-record.webp и projects.json. WebP — формат изображения. JSON содержит тексты и ссылки для панелей проектов. Код, шрифт и собранный Tailwind CSS предоставлены.

cp с --recursive копирует все файлы внутри portfolio-assets/. Относительные пути становятся Keys; images/ — префикс имени, а не настоящая папка S3. Ожидайте четыре строки upload.

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

Проверьте ровно четыре Keys в Contents и AWS View.

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

Измените направление копирования, чтобы скачать обложку AURA под другим локальным именем.

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

cmp сравнивает байты; отсутствие вывода означает одинаковые файлы.

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

Приватное хранение готово. Сайт пока использует локальные материалы. Следующая работа разрешит чтение трёх изображений и JSON из S3; не делайте bucket публичным.

Реальный контрольный пример лаборатории; ваши идентификаторы могут отличаться.

Очистите только свои ресурсы

На этом шаге вы удалите объекты, пустой bucket и сервер.

rm --recursive удаляет четыре объекта из только что проверенного собственного bucket. Не выбирайте эталонный bucket.

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

rb удаляет этот пустой bucket.

aws s3 rb "s3://$PORTFOLIO_BUCKET"

Покажите ID сервера.

echo "$INSTANCE_ID"

Завершите только этот экземпляр.

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

Дождитесь terminated.

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

Ваш bucket исчезнет, keep.txt останется. Сохраните сеть; следующие работы предоставляют новые ресурсы.

Резюме

Вы сохранили и получили материалы без изменения, затем удалили свои ресурсы и сохранили контрольные данные.

Официальные источники: S3 objects, AWS CLI S3 file commands, Block Public Access.