Найдите ресурсы с помощью AWS CLI

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

Введение

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

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

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

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

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

Концептуальная схема: Префикс имени выбирает тестовые настройки финансовой команды; отдельное обновление меняет формат экспорта на CSV.

Найдите тестовые настройки finance

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

В предыдущей работе вы узнали, как регион выбирает место. Здесь подготовленный регион по умолчанию — us-east-1: команды без --region используют это место. Вы по-прежнему можете явно указать --region us-east-1.

Инвентаризация ресурсов — это перечень ресурсов. Просмотрите подготовленный перечень параметров:

aws ssm describe-parameters

Посмотрите на каждое поле Name и Description. Staging — это тестовая среда, используемая перед изменением production, где выполняется обычная рабочая деятельность. Список включает настройки finance staging, finance production и HR staging. Ваши два ресурса начинаются с /labex/inventory/finance/staging/.

Официальная Console представляет метаданные параметров в виде таблицы ресурсов. Сравните её столбцы Name и Type с полями, возвращаемыми describe-parameters. Имена в примере отличаются; в этой работе используются параметры String:

Таблица My parameters официального Parameter Store с именами и типами ресурсов — Источник: Блог AWS — https://aws.amazon.com/blogs/mt/implement-operations-observability-in-landing-zone-environments/.

Список достаточно мал, чтобы просмотреть его глазами, но фильтр делает границы вашей работы понятнее. --parameter-filters просит сервис вернуть подходящие записи. Key=Name выбирает имена, Option=BeginsWith сопоставляет их начало, а Values=... задаёт это начало:

aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/

Вы увидите два имени: report-format и report-owner; порядок может отличаться. Фильтр выбирает ресурсы задания, не изменяя настройки.

Фильтр по префиксу выбирает finance staging и исключает другие ресурсы из результата — Схема понятия: фильтр меняет возвращаемый список, а не ресурсы. Остальные настройки по-прежнему существуют.

Покажите имена и обновите формат экспорта

На этом шаге вы выведете только подходящие имена, затем измените формат экспорта finance staging.

Ответ содержит больше полей, чем вам сейчас нужно. --query выбирает части ответа; он не меняет сохранённые данные. В 'Parameters[].Name' выражение Parameters[] означает возвращённые записи, а .Name выбирает их имена. Оставьте выражение в одинарных кавычках.

Добавьте этот выбор к существующему фильтру:

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

Ответ содержит два подходящих имени. Фильтр выбирает ресурсы, а запрос — поля.

Выбор поля показывает имена ресурсов, сохраняя полные записи без изменений — Схема понятия: выбор Name скрывает другие поля из этого ответа; он не стирает их.

Для более компактного представления добавьте --output table:

aws ssm describe-parameters \
  --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ \
  --query 'Parameters[].Name' \
  --output table

Те же два имени показаны в таблице. Меняется только представление.

Прочитайте точную настройку формата staging по имени:

aws ssm get-parameter --name /labex/inventory/finance/staging/report-format

Найдите Value: его значение — json. Это формат экспорта приложения, отдельный от формата ответа JSON в CLI. Следующему по цепочке импортёру отчётов нужен CSV, поэтому обновите эту настройку:

aws ssm put-parameter \
  --name /labex/inventory/finance/staging/report-format \
  --type String \
  --value csv \
  --overwrite

Прочитайте её снова:

aws ssm get-parameter --name /labex/inventory/finance/staging/report-format

Теперь значение — csv. В AWS View сравните finance staging, production и HR. Изменился только формат staging; production остаётся json, а HR — xlsx.

Подтвердите настройки и завершите проверку

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

Вы также можете выбрать одно поле отдельного ресурса. 'Parameter.Value' читает значение внутри Parameter; --output text показывает его без кавычек JSON:

aws ssm get-parameter \
  --name /labex/inventory/finance/staging/report-format \
  --query 'Parameter.Value' \
  --output text

Ответ — csv. Подтвердите, кто владеет этой конфигурацией отчётности:

aws ssm get-parameter \
  --name /labex/inventory/finance/staging/report-owner \
  --query 'Parameter.Value' \
  --output text

Ответ — finance. Это сохранённые значения; предыдущий список метаданных показывал вместо них имена и описания.

Значения подтверждают выбранную конфигурацию: формат csv, команда finance. Остальные группы не изменены. Далее группируйте ресурсы без общего префикса с помощью тегов.

Резюме

Вы нашли настройки finance staging, выбрали полезные поля и изменили только нужный формат. Далее организуйте ресурсы по команде и среде с помощью тегов.

Подробнее см. в документации AWS: Серверные фильтры и клиентские запросы CLI.