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

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

Введение

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

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

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

Эта лабораторная работа помогает на практике изучить следующие темы экзаменов.

  • Cloud Practitioner (CLF-C02) · Задача 3.1: Теги ресурсов для операционной группировки и отбора.

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

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

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

Имя ресурса, сохранённое значение и теги классификации служат разным целям

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

Начните в рабочем каталоге. Как и в предыдущей работе, подготовленный регион по умолчанию — us-east-1:

cd /home/labex/project

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

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 рядом с Terminal: экспорт включён в выборку 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

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

Удалите только свои учебные ресурсы

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

Теги помогают находить ресурсы, но их можно редактировать. Для очистки используйте два точных имени, назначенных этому упражнению:

aws ssm delete-parameters --names /labex/tagging/export-format /labex/tagging/archive-format

Оба имени должны появиться в DeletedParameters, а InvalidParameters должно быть пустым.

Подтвердите отсутствие по имени, независимо от тегов:

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/tagging/ --query 'Parameters[].Name'

Успешный ответ — []. Неудачный запрос не доказывает удаление. Прочитайте оставшийся перечень:

aws ssm describe-parameters --query 'Parameters[].Name'

Остались только /labex/reference/hr-format и /labex/reference/platform-team. AWS View показывает те же эталонные ресурсы и отсутствие совпадений для finance staging. Проверка выполнения также читает их неизменённые значения и теги.

Далее работа «Недостающие ресурсы в инвентаризации» позволит самостоятельно разобрать похожую проблему выборки, используя навыки работы с регионами, запросами и тегами из этого курса.

Резюме

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

Затем вы удалили только два своих учебных ресурса. Продолжите работой «Недостающие ресурсы в инвентаризации», чтобы применить эти навыки в самостоятельной задаче восстановления.