タグでリソースを整理する

AWSBeginner
オンラインで実践に進む

はじめに

レポート作成チームは、設定名が異なっていても、チームと環境でテスト用設定を見つけたいと考えています。所有者のタグを追加し、誤った環境ラベルを見つけて、保存済みの設定を変更せずに修正します。

最初に、作業環境、リージョン別リソース、CLI クエリの実験を完了してください。ツールと四つのリソースは新しい環境に準備済みです。Terminal で作業し、上部の AWS View で同じタグとフィルター結果を観察します。

認定試験との関連

認定試験 試験タスク このラボの演習
Cloud Practitioner (CLF-C02) タスク 3.1 リソースタグによる運用上のグループ化と選択。

ラボの概要

概念図: owner と environment タグで設定を一覧に整理し、保存された値は変更しません。

財務部門のエクスポート設定にラベルを付ける

このステップでは、財務部門のエクスポート用パラメーターに、チームと環境のラベルを付けます。

前の実験では、共通の名前のプレフィックスでリソースを見つけました。名前が常にチームや環境を表すとは限りません。タグは、owner=finance や environment=staging のように、独立したキーと値をリソースに追加します。これらのラベルを使うと、名前を変えずに関連するリソースを見つけられます。

リソース名、保存された値、分類用タグは異なる目的を持つ — 概念図:タグはリソースを説明します。保存された値の書き換え、リソースの移動、アクセス権の付与は行いません。

パラメーターを一覧表示します。

aws ssm describe-parameters

説明を読んでください。/labex/tagging/export-format と /labex/tagging/archive-format は、テストに使う財務部門のステージング設定です。二つの /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 を確認してください。エクスポート設定は財務部門のステージングの選択結果に含まれます。保存された値は csv のままです。

所有者でリソースを見つける

このステップでは、アーカイブ設定に所有者を追加し、タグフィルターで財務部門の両方のリソースを見つけます。

アーカイブも財務部門に割り当てられています。他のタグを変更せずに、所有者のラベルを追加します。

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 タグが表示されるはずです。説明にはステージング用の設定と書かれていました。この不一致を、次のステップに向けて覚えておいてください。

前の実験のフィルターの形式を使い、今度はタグを照合します。Key=tag:owner は owner タグを選び、Option=Equals は値の完全一致を求めます。

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

財務部門の両方の名前が表示されます。人事部門とプラットフォームチームは、この選択に含まれません。ラベルは自分が指定した事実を表します。サービスがチームの所有者や環境を自動で判断するわけではありません。

環境ラベルを修正する

このステップでは、アーカイブの誤った環境ラベルを修正し、財務部門のステージングの選択結果を完全な状態に戻します。

チームだけの一覧には、財務部門の両方のリソースが含まれます。テスト用設定を見つけるには、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 です。リソース一覧の説明では、財務部門のステージング用アーカイブ設定とされています。同じ追加操作で環境タグを修正します。既存のキーを指定すると、その値が置き換わり、他のタグはそのまま残ります。

aws ssm add-tags-to-resource \
  --resource-type Parameter \
  --resource-id /labex/tagging/archive-format \
  --tags Key=environment,Value=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'

財務部門の両方の名前が表示されます。保存されたデータをもう一度読み取ります。

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

名前、ARN、json の値、Version 1 は変わっていません。AWS View では、両方のリソースが財務部門のステージングに表示され、他のチームのリソースもそのまま残っています。

財務部門の両方の設定が正しい staging 分類を持つ — 結果の例:ラベルの変更によって、どちらの設定も書き換えずに選択結果を元に戻せます。

まとめ

業務タグを付け、データを変えずに誤った分類を修正しました。次はヒント付きの短いチャレンジで同じ操作を練習します。

詳しくは、AWS 公式ドキュメントを参照してください:リソースのタグと分類.