演習 - リソースのタグ付け、クエリ、クリーンアップ

完了

このガイド付きプロジェクトは、次の演習で構成されています。

  • Cloud Shell を開き、環境を調べる
  • CLI コマンドを使用したリソースの作成と一覧表示
  • リソースのタグ付け、クエリ、クリーンアップ

この演習では、CLI からタグを適用し、JMESPath クエリを使用してコマンド出力をフィルター処理および整形し、CLI の作業をポータル ビューと比較した後、リソース グループを削除してクリーンアップします。 これで、コマンド ラインから完全なリソース ライフサイクルが完了します。

この演習には、次のタスクが含まれています。

  • リソース グループにタグを付け
  • 個々のリソースにタグを付け
  • JMESPath フィルターを使用してリソースにクエリを実行する
  • CLI 出力をポータルと比較する
  • CLI からリソース グループを削除する

結果: CLI からタグ付けされたリソース、フィルターで照会されたリソース、およびコマンド ラインから削除されたリソース グループ。

タスク 1: リソース グループにタグを付けます

1 つのコマンドを使用してリソース グループにタグを適用します。 CLI から割り当てられたタグは、ポータルで使用するのと同じキー値形式に従いますが、複数のリソースに適用する方が高速です。

  1. 次のコマンドを実行して、リソース グループにタグを追加します。

    az group update \
      --name rg-gp-cli-demo \
      --tags environment=test department=it-ops
    
  2. JSON 出力に、両方のキーと値のペアを持つ tags セクションが含まれていることを確認します。

  3. 次のコマンドを実行して、タグを確認します。

    az group show --name rg-gp-cli-demo --query tags
    
  4. 出力に 環境 (テスト部門: it-ops) が表示されたことを確認します。

検証手順: CLI からリソース グループにタグが適用されていることを確認します。

タスク 2: 個々のリソースにタグを付けます

各ストレージ アカウントにタグを適用します。 実際の環境では、リソース間で一貫したタグ付けを行うことで、コスト追跡と自動化されたガバナンスが可能になります。

  1. 次のコマンドを実行して、最初のストレージ アカウントにタグを付けます (実際のストレージ アカウント名を使用します)。

    az resource tag \
      --tags environment=test department=development \
      --ids $(az storage account show --name stgpclidemo01 --resource-group rg-gp-cli-demo --query id --output tsv)
    
  2. 次のコマンドを実行して、2 つ目のストレージ アカウントに異なる値をタグ付けします。

    az resource tag \
      --tags environment=test department=operations \
      --ids $(az storage account show --name stgpclidemo02 --resource-group rg-gp-cli-demo --query id --output tsv)
    
  3. 両方のコマンドで、予想されるタグを使用して JSON 出力が返されたことを確認します。

検証手順: 両方のストレージ アカウントに異なる 部署 の値がタグ付けされていることを確認します。

タスク 3: JMESPath フィルターを使用してリソースにクエリを実行する

--query パラメーターを使用して、CLI 出力から特定のフィールドを抽出します。 JMESPath は組み込みのクエリ言語で、外部ツールへのパイプ処理を行わずに JSON 結果をフィルター処理して整形できます。

  1. 次のコマンドを実行して、リソース名とそのタグを一覧表示します。

    az resource list \
      --resource-group rg-gp-cli-demo \
      --query "[].{Name:name, Department:tags.department, Environment:tags.environment}" \
      --output table
    
  2. 表に、各リソースとその Department タグと Environment タグの値が表示されたことを確認します。

検証手順: CLI 出力から抽出された JMESPath クエリと書式設定されたタグ値を確認します。

  1. department =development でタグ付けされたリソースのみを一覧表示するには、次のコマンドを実行します。

    az resource list \
      --resource-group rg-gp-cli-demo \
      --query "[?tags.department=='development'].{Name:name, Type:type}" \
      --output table
    
  2. フィルター処理された出力に最初のストレージ アカウントのみが表示されていることを確認します。

検証手順: JMESPath フィルターに、 部門開発と等しいリソースのみが表示されたことを確認します。

  1. 次のコマンドを実行して、リソース グループ内のリソースをカウントします。

    az resource list \
      --resource-group rg-gp-cli-demo \
      --query "length([])"
    
  2. 出力に 2 が表示されたことを確認します。

検証手順: リソース数が予想されるリソース数と一致する必要があります。

タスク 4: CLI 出力をポータルと比較する

Cloud Shell と共にポータルを開き、CLI とポータルに同じデータが表示されたことを確認します。 これにより、両方のツールが同じ基になるリソースを管理できるようになります。

  1. Azure portal (Cloud Shell ペインの上) で、ポータルの検索バーで リソース グループ を検索し、[ リソース グループ] を選択します。
  2. 一覧から rg-gp-cli-demo を選択します。
  3. ポータルに同じ 2 つのストレージ アカウントが表示されたことを確認します。
  4. 左側のメニューで、[ タグ] を選択します。
  5. 環境部門タグが CLI から設定した内容と一致したことを確認します。
  6. rg-gp-cli-demo リソース グループの概要に戻ります。
  7. ストレージ アカウントのいずれかを選択します。
  8. 左側のメニューで、[ タグ] を選択します。
  9. リソース レベルのタグが CLI から設定したタグと一致したことを確認します。

検証手順: ポータルと CLI に同じリソース タグとメタデータが表示されたことを確認します。

タスク 5: CLI からリソース グループを削除する

1 つのコマンドですべてのリソースをクリーンアップします。 リソース グループを削除すると、その中にあるすべてのものが削除されるため、リソースをグループに編成することがベスト プラクティスです。

  1. 次のコマンドを実行して、リソース グループとその中のすべてのリソースを削除します。

    az group delete --name rg-gp-cli-demo --yes --no-wait
    
  2. --yes フラグは、確認プロンプトをスキップします。 --no-wait フラグは、削除がバックグラウンドで続行されている間すぐに制御を返します。

  3. 次のコマンドを実行して、削除の状態を確認します。

    az group show --name rg-gp-cli-demo --output table
    
  4. グループがまだ存在する場合は、出力にそのグループが表示されます。 削除された場合は、"見つかりません" というエラーが表示され、削除が成功したことが確認されます。

  5. 少し待ってから、もう一度コマンドを実行して、リソース グループが完全に削除されていることを確認します。

検証手順: リソース グループの削除が完了であることを確認します ("見つかりません" エラーは削除を確認します)。