はじめに
レポート作成チームは、本番環境や別のチームの設定を変更せずに、財務部門のテスト用設定をレビューする必要があります。対象のリソースを見つけ、一覧を読みやすくし、エクスポート形式を CSV に更新します。
最初に、作業環境とリージョン別リソースの実験を完了してください。CLI の接続とリソースは新しい環境に準備済みで、前の実験のファイルや認証情報は必要ありません。コマンドには Terminal を使い、隣の AWS View で変化を観察します。
認定試験との関連
このラボでは、次の試験トピックに関連する実践的な演習を行います。
- Cloud Practitioner (CLF-C02) · タスク 3.1: CLI によるリソース検索と範囲を限定した運用インベントリ。
財務部門のテスト用設定を見つける
このステップでは、さまざまなリソースが混在する一覧を、今回のレビュー対象である財務部門の設定に絞り込みます。
前の実験では、Region で場所を選ぶ方法を学びました。今回はデフォルトとして us-east-1 が準備されています。--region を付けないコマンドは、この場所を使います。--region us-east-1 を明示的に指定することもできます。
作業ディレクトリに移動します。
cd /home/labex/project
リソースインベントリとは、リソースの一覧です。準備済みのパラメーターの一覧を表示します。
aws ssm describe-parameters
各項目の Name と Description を見てください。ステージング(Staging)は、通常の業務が行われる本番環境(production)を変更する前に使うテスト環境です。一覧には、財務部門のステージング、財務部門の本番環境、人事部門のステージングの設定があります。今回の三つのリソースは /labex/inventory/finance/staging/ で始まります。
公式 Console はパラメーターのメタデータをリソースの表で表示します。Name と Type の列を、describe-parameters が返すフィールドと比較してください。例の名前は異なります。この実験では String パラメーターを使います。

出典:AWS Blog。
一覧は目で確認できる大きさですが、フィルターを使うと対象範囲が明確になります。--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、review-status の三つの名前が表示されるはずです。順序は異なる場合があります。

概念図:フィルターが変えるのは返される一覧であり、リソースではありません。他の設定も存在したままです。
既存のステータスを更新して、設定のレビューを開始したことを記録します。
aws ssm put-parameter --name /labex/inventory/finance/staging/review-status --type String --value in-review --overwrite
put-parameter と --overwrite は最初の実験で学びました。AWS View は財務部門のステージングに in-review を表示します。財務部門の本番環境と人事部門は変更しないでください。
名前を表示し、エクスポート形式を更新する
このステップでは、一致する名前だけを表示してから、財務部門のステージングのエクスポート形式を変更します。
応答には、今必要としている以上のフィールドが含まれています。--query は応答の一部を選び、保存済みのデータは変更しません。'Parameters[].Name' の Parameters[] は返されたレコードを意味し、.Name はその名前を選びます。式はシングルクォートで囲んでください。
既存のフィルターに、この選択を追加します。
aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ --query 'Parameters[].Name'
三つの名前を含む JSON のリストが返されます。フィルターは引き続きリソースを選び、クエリは表示するフィールドを選ぶことに注目してください。

概念図:Name を選ぶと、この応答では他のフィールドが表示されなくなりますが、削除されるわけではありません。
よりコンパクトに表示するには、--output table を追加します。
aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ --query 'Parameters[].Name' --output table
同じ三つの名前が表に表示されます。出力形式が変えるのは表示方法だけです。
名前を指定し、ステージングの形式設定を正確に読み取ります。
aws ssm get-parameter --name /labex/inventory/finance/staging/report-format
Value を見つけてください。値は json です。これはアプリケーションのエクスポート形式であり、CLI の JSON 応答形式とは別のものです。後続のレポートインポーターには 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 で、財務部門のステージングを本番環境や人事部門と比較します。

結果の例:財務部門のステージングは csv を使い、本番環境は json、人事部門は xlsx のままです。レビューのステータスは引き続き in-review です。
設定を確認し、レビューを終える
このステップでは、レビューした二つの値を読み取り、財務部門のステージングの設定を準備完了として記録します。
一つのリソースから一つのフィールドを選ぶこともできます。'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 が返されます。これらは保存済みの値です。先ほどのメタデータの一覧では、代わりに名前と説明が表示されていました。
次に、完了したレビューを準備完了として記録します。
aws ssm put-parameter --name /labex/inventory/finance/staging/review-status --type String --value ready --overwrite
結果を読み取ります。
aws ssm get-parameter --name /labex/inventory/finance/staging/review-status --query 'Parameter.Value' --output text
ready が返されます。AWS View は財務部門のステージングに、形式 csv、所有者 finance、ステータス ready を表示します。設定をレビューしたのであり、レポートアプリケーションをデプロイしたわけではありません。
選択した名前空間を削除する
このステップでは、レビューのチェックが合格した後、財務部門のステージングのリソースだけを削除します。
CLI のクエリが整えるのは応答だけであり、後の削除を継続的に保護する仕組みではありません。削除する範囲は明示してください。delete-parameters は --names で正確な名前のリストを受け取ります。次の三つが、この演習の対象リソースです。
aws ssm delete-parameters --names /labex/inventory/finance/staging/report-format /labex/inventory/finance/staging/report-owner /labex/inventory/finance/staging/review-status
応答の DeletedParameters には削除された名前が表示され、InvalidParameters は空になるはずです。正常に完了するサービスリクエストで、ステージングのプレフィックスを確認します。
aws ssm describe-parameters --parameter-filters Key=Name,Option=BeginsWith,Values=/labex/inventory/finance/staging/ --query 'Parameters[].Name' --output json
結果は [] です。接続エラーや認証エラーは観察の失敗であり、削除の証拠ではありません。
残ったリソース一覧の名前を読み取ります。
aws ssm describe-parameters --query 'Parameters[].Name' --output table
残るリソースは三つです。財務部門の本番環境の形式とレビューのステータス、人事部門のステージングの形式です。変更せずに値を確認します。
aws ssm get-parameter --name /labex/inventory/finance/production/report-format --query 'Parameter.Value' --output text
aws ssm get-parameter --name /labex/inventory/finance/production/review-status --query 'Parameter.Value' --output text
aws ssm get-parameter --name /labex/inventory/hr/staging/report-format --query 'Parameter.Value' --output text
値は json、ready、xlsx のままです。AWS View は財務部門のステージングを No parameters と表示し、他のグループには引き続きリソースが表示されます。独立した削除チェックは、それらの元のバージョンと説明が保持されていることも確認します。
まとめ
名前のプレフィックスフィルターで財務部門のステージングを見つけ、--query で名前や一つの値を選び、表形式やテキスト形式の出力で読みやすくしました。指定された設定だけを更新し、他のチームのリソースを残しながら削除しました。
次の「タグでリソースを整理する」では、チームと環境のラベルを追加します。名前のパターンが異なるリソースもグループ化できるようになります。



