Упорядочьте ресурсы с помощью тегов

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

Введение

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

Сначала выполните работы о рабочей области, региональных ресурсах и запросах CLI. Инструменты и четыре ресурса подготовлены в новой среде. Работайте в Terminal и наблюдайте те же теги и отфильтрованные результаты в AWS View вверху.

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

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

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

Концептуальная схема: Теги owner и environment объединяют настройки в список, не меняя сохранённые значения.

Добавьте метки к настройке экспорта finance

На этом шаге вы прикрепите метки команды и среды к параметру экспорта finance.

В прошлой работе ресурсы находились по общему префиксу имени. Имена не всегда описывают команду или среду. Тег добавляет к ресурсу отдельные ключ и значение, например owner=finance или environment=staging. Эти метки помогают находить связанные ресурсы, не переименовывая их.

Имя ресурса, сохранённое значение и теги классификации служат разным целям — Схема понятия: теги описывают ресурс. Они не перезаписывают его сохранённое значение, не перемещают его и не предоставляют доступ.

Выведите список параметров:

aws ssm describe-parameters

Прочитайте их описания: /labex/tagging/export-format и /labex/tagging/archive-format — настройки finance staging, используемые для тестирования. Два ресурса /labex/reference/ принадлежат другим командам; оставьте их без изменений.

Операции с тегами указывают тип ресурса и его имя. Для параметра оставьте --resource-type Parameter и используйте полное имя как --resource-id. Изучите теги настройки экспорта:

aws ssm list-tags-for-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/export-format

TagList равен []: у этого ресурса пока нет тегов. Добавьте две метки. Каждое Key=...,Value=... задаёт один тег, а пробел разделяет их:

aws ssm add-tags-to-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/export-format \
  --tags Key=owner,Value=finance Key=environment,Value=staging

Используйте ключи в нижнем регистре точно как показано; теги чувствительны к регистру. Успешная запись обычно ничего не выводит. Прочитайте результат:

aws ssm list-tags-for-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/export-format

Появляются обе метки. Посмотрите на AWS View вверху: экспорт включён в выборку finance staging. Его сохранённое значение остаётся csv.

Найдите ресурсы по владельцу

На этом шаге вы добавите владельца настройки архива и найдёте оба ресурса finance с помощью фильтра по тегу.

Архив также назначен команде finance. Добавьте метку владельца, не меняя остальные теги:

aws ssm add-tags-to-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/archive-format \
  --tags Key=owner,Value=finance

Прочитайте полный список тегов:

aws ssm list-tags-for-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/archive-format

Вы должны увидеть owner=finance и существующий тег environment=production. В описании было сказано, что это настройка staging; запомните это несоответствие для следующего шага.

Используйте шаблон фильтрации из предыдущей работы, теперь сопоставляя тег. Key=tag:owner выбирает тег owner, а Option=Equals требует точного значения:

aws ssm describe-parameters \
  --parameter-filters Key=tag:owner,Option=Equals,Values=finance \
  --query 'Parameters[].Name'

Появляются оба имени finance. HR и platform не входят в эту выборку. Метки описывают факты, которые вы задаёте; сервис не определяет владельца команды или среду за вас.

Исправьте метку среды

На этом шаге вы исправите неверную метку среды архива и восстановите полную выборку finance staging.

Список только по команде включает оба ресурса finance. Чтобы найти её тестовые настройки, потребуйте оба тега: owner=finance и environment=staging. Задайте два фильтра, разделённых пробелом:

aws ssm describe-parameters \
  --parameter-filters Key=tag:owner,Option=Equals,Values=finance Key=tag:environment,Option=Equals,Values=staging \
  --query 'Parameters[].Name'

Появляется только экспорт. Архив существует, но неверный тег production исключает его из этого представления.

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

Подтвердите сохранённые данные архива перед исправлением метки:

aws ssm get-parameter --name /labex/tagging/archive-format

Он имеет значение json и Version 1. Его описание в перечне определяет его как настройку архива finance staging. Исправьте тег среды той же операцией добавления: указание существующего ключа заменяет его значение и не затрагивает другие теги.

aws ssm add-tags-to-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/archive-format \
  --tags Key=environment,Value=staging

Вы исправляете метку, чтобы она соответствовала существующему тестовому ресурсу, а не перемещаете приложение production в staging. Прочитайте метки:

aws ssm list-tags-for-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/archive-format

Теперь и владелец, и среда соответствуют задаче. Повторите выборку:

aws ssm describe-parameters \
  --parameter-filters Key=tag:owner,Option=Equals,Values=finance Key=tag:environment,Option=Equals,Values=staging \
  --query 'Parameters[].Name'

Появляются оба имени finance. Снова прочитайте сохранённые данные:

aws ssm get-parameter --name /labex/tagging/archive-format

Его имя, ARN, значение json и Version 1 не изменились. В AWS View оба ресурса теперь появляются в finance staging, а ресурсы других команд остаются целыми.

Обе настройки finance имеют правильную классификацию staging — Пример результата: изменение метки восстанавливает выборку, не перезаписывая ни одну настройку.

Резюме

Вы добавили бизнес-теги и исправили классификацию без изменения данных. Далее закрепите навыки в коротком задании с подсказками.

Подробнее см. в документации AWS: Теги и организация ресурсов.