Лаб. работа 2 — AWS S3

Цель работы: Познакомиться с базовыми операциями работы в AWS через веб-консоль и командную строку, научиться настраивать хостинг статического веб-сайта в S3 и управлять доступом к бакету.

Шаг 1: Вход в веб-консоль AWS через IAM-аккаунт

  1. Перейдите на AWS Management Console.
  2. Введите учетные данные IAM-пользователя (логин и пароль).

Шаг 2: Создание бакета S3 со включенным ACL

  1. Откройте сервис S3 в веб-консоли AWS.
  2. Нажмите Create bucket.
  3. Укажите имя бакета (например, <группа>-<фамилия>).
  4. Выберите регион.
  5. Включите ACL (Access Control Lists) и разрешите публичный доступ.
  6. Отключите блокировку публичного доступа (поставьте галочку согласия).
  7. Создайте бакет.

Шаг 3: Создание и загрузка файла index.html

  1. Локально создайте файл index.html со следующим содержимым:
    <!DOCTYPE html>
    <html>
    <head><title>My AWS Website</title></head>
    <body>
       <h1>Welcome to my static website on AWS S3!</h1>
    </body>
    </html>
    
  2. В веб-консоли AWS откройте созданный бакет.
  3. Перейдите во вкладку Objects и загрузите index.html.
  4. Вернитесь в списке объектов (файлов), выделите загруженный index.html и выберите ActionsMake public using ACL, подтвердите действие.

Шаг 4: Включение хостинга веб-сайтов и проверка работы

  1. В настройках бакета выберите PropertiesStatic website hosting.
  2. Включите хостинг и укажите index.html как Index document.
  3. Сохраните настройки.
  4. Скопируйте выданный URL и откройте его в браузере.

Шаг 5: Отключение ACL и настройка доступа через политики

  1. В настройках бакета отключите ACL (Access Control Lists).
  2. Откройте PermissionsBucket policy и вставьте следующую JSON-политику:
    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Principal": "*",
          "Action": "s3:GetObject",
          "Resource": "arn:aws:s3:::<имя бакета>/*"
        }
      ]
    }
    
  3. Сохраните политику и убедитесь, что сайт продолжает работать в браузере.

Шаг 6: Создание ключа доступа для CLI в веб-консоли

  1. В веб-консоли AWS, в правом верхнем углу нажмите на ссылку своего пользователя.
  2. Откройте Security credentials и создайте новый Access key (для Command Line Interface (CLI)).
  3. Сохраните Access Key ID и Secret Access Key.

Шаг 7: Установка AWS CLI на локальный компьютер

  1. Скачайте и установите AWS CLI (инструкции).
  2. Проверьте установку командой:
    aws --version
    
  3. Настройте AWS CLI командой:
    aws configure
    

    Введите сохраненные Access Key ID и Secret Access Key.

Шаг 8: Проверка списка бакетов и файлов через командную строку

  1. Выведите список бакетов:
    aws s3 ls
    
  2. Выведите список файлов в бакете:
    aws s3 ls s3://<имя бакета>/
    

Шаг 9: Модификация index.html и загрузка его через командную строку

  1. Измените index.html, добавив строку:
    <p>Updated version of the website</p>
    
  2. Загрузите файл в S3:
    aws s3 cp index.html s3://<имя бакета>/
    
  3. Откройте сайт в браузере и убедитесь, что изменения применились.

Шаг 10: Удаление бакета через командную строку

  1. Удалите все файлы в бакете:
    aws s3 rm s3://<имя бакета>/ --recursive
    
  2. Удалите сам бакет:
    aws s3 rb s3://<имя бакета>/