Введение
Создайте закрытый bucket, загрузите картинки и проекты, получите идентичную копию и очистите свои ресурсы.
Сначала выполните предыдущие работы портфолио. Среда предоставляет собственные ресурсы и необходимые возможности прежних этапов. Переносите знания, а не экземпляры, файлы или учётные данные.
Связь с сертификацией
| Сертификация | Задачи | Практика |
|---|---|---|
| AWS Certified Cloud Practitioner (CLF-C02) | Task 3.6 | Использовать хранилище объектов S3 отдельно от вычислений EC2. |
Обзор

Создайте закрытое хранилище
На этом шаге вы создадите защищённый 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.



