Управление конфигурацией сайта

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

Введение

Ваш сайт готов, но пока показывает стандартное приветствие. Сохраните текст приветствия в AWS Systems Manager Parameter Store, измените его без редактирования кода сайта и наблюдайте реальную страницу после каждой операции.

Сайт, инструменты и подключение подготовлены. Вы должны уметь вводить команды в Terminal и пользоваться AWS View, как показано в Get Started with AWS on LabEx. Каждая лабораторная работа начинается в новой среде; личная учётная запись AWS и ресурсы прошлых работ не нужны.

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

Сертификация Задача экзамена Практика
Cloud Practitioner (CLF-C02) Task 3.1 Управление ресурсом сервиса через AWS CLI и наблюдение его влияния на приложение.

Обзор лабораторной работы

Схема: CLI записывает параметр приветствия, а сайт читает его значение при каждом запросе.

Задайте приветствие для сайта

На этом шаге вы создадите именованное значение конфигурации и увидите, как сайт его использует.

Вводите команды в Terminal под AWS View. В верхней части, в AWS View, выберите Open website. Подготовленная страница Field Notes сначала показывает Your website is ready, а источником указан Default welcome message. Оставьте страницу доступной, чтобы перезагружать её после изменений.

Сайт — это код приложения, отвечающий на запрос браузера. Ресурс — объект, которым управляет сервис AWS. Systems Manager Parameter Store управляет именованными значениями конфигурации, называемыми параметрами. В этом примере сайт читает /labex/website/greeting при каждом запросе; сохранённый под этим именем текст определяет приветствие. Косые черты организуют имя, а не обозначают локальные папки.

Код сайта уже подготовлен. Ваша задача — создать его конфигурацию. Перейдите в рабочий каталог: cd изменяет текущий каталог Terminal.

cd /home/labex/project

Создайте обычное текстовое значение. aws ssm выбирает Systems Manager, put-parameter записывает настройку, --name задаёт её имя, --type String означает обычный текст, а --value передаёт текст. Кавычки сохраняют сообщение с пробелами как один аргумент. Обратные косые черты продолжают ту же команду на следующей строке:

aws ssm \
  put-parameter \
  --name /labex/website/greeting \
  --type String \
  --value 'Welcome to Field Notes'

При первом создании ответ содержит "Version": 1. Прочитайте сохранённое значение: get-parameter получает ресурс по имени.

aws ssm \
  get-parameter \
  --name /labex/website/greeting

Найдите Name, Value и Version. Значение — Welcome to Field Notes. В AWS View появился новый параметр рядом с подготовленной настройкой /labex/reference/team. Сохраните эту эталонную настройку без изменений.

Перезагрузите сайт. Теперь заголовок — Welcome to Field Notes, а источник — Parameter Store. Страница изменилась потому, что приложение запросило сохранённое значение, а не потому, что изменился локальный текст в Terminal. Ресурс и сайт — разные объекты, связанные этим чтением.

Пример сайта после создания приветствия: страница показывает сохранённый текст и Parameter Store как источник.

Если при создании получен ParameterAlreadyExists, прочитайте параметр по имени и сравните значение, вместо удаления посторонних настроек.

Обновите сообщение без изменения кода

На этом шаге вы измените существующую конфигурацию и подтвердите, что сайт использует новое значение.

Имя параметра остаётся тем же, чтобы приложение продолжало его запрашивать. --overwrite разрешает заменить значение существующего параметра. Измените приветствие:

aws ssm \
  put-parameter \
  --name /labex/website/greeting \
  --type String \
  --value 'Hello from the AWS CLI' \
  --overwrite

Прочитайте текущее значение:

aws ssm \
  get-parameter \
  --name /labex/website/greeting

Ожидается Hello from the AWS CLI. После одного обновления версия обычно равна 2; при повторных обновлениях она может быть выше. Каждая перезапись создаёт новую сохранённую версию, а не ресурс с другим именем.

AWS View показывает то же имя с новым значением. Перезагрузите сайт и подтвердите заголовок Hello from the AWS CLI. Вы не редактировали файлы сайта.

Пример после перезаписи параметра: новый запрос показывает обновлённое приветствие без изменения кода сайта.

Этот сайт читает параметр при каждом запросе. Другое приложение может читать конфигурацию только при запуске или кэшировать её; изменение параметра не обновляет автоматически все открытые страницы. Здесь новый HTTP-запрос подтверждает, что приложение получило обновлённое значение.

Безопасно удалите учебную настройку

На этом шаге вы удалите свой параметр приветствия и увидите поведение сайта при его отсутствии.

Для этой необязательной настройки сайт имеет подготовленное сообщение по умолчанию. Поэтому приветствие можно безопасно удалить в конце упражнения. В настоящем приложении сначала выясните, необязательна настройка или необходима; удаление обязательной зависимости может остановить приложение.

delete-parameter удаляет один ресурс по имени. Удалите только созданное вами приветствие:

aws ssm \
  delete-parameter \
  --name /labex/website/greeting

Успешное удаление может не выводить ничего. Запросите оставшийся список через describe-parameters, который перечисляет метаданные ресурсов:

aws ssm \
  describe-parameters

Приветствия в списке нет. /labex/reference/team остаётся; подтвердите его значение:

aws ssm \
  get-parameter \
  --name /labex/reference/team

Его значение по-прежнему platform. AWS View сохраняет эталонную настройку и больше не показывает приветствие. Перезагрузите сайт: возвращается Your website is ready, а источником указан Default welcome message.

Сетевая ошибка не доказывала бы удаление. Здесь успешные запросы к сервису подтверждают отсутствие ресурса, а успешный запрос к сайту — работоспособность приложения. Вы завершили жизненный цикл ресурса: создание, чтение, обновление и удаление, сохранив постороннюю настройку.

Итоги

Вы создали, прочитали, обновили и удалили приветствие в Parameter Store. Реальные ответы сайта показали, когда приложение использовало сохранённое значение, а когда возвращалось к сообщению по умолчанию. Остальные настройки сохранились без изменений.

Далее сравните Regions и идентификаторы ресурсов. Имя полезно, но при управлении несколькими средами важны расположение и полный идентификатор.

Для дополнительного чтения см. конфигурацию приложений через Parameter Store и справочник CLI по созданию и перезаписи параметров.