この記事では、Azure CLI を使用してリソース、リソース グループ、サブスクリプションにタグを付ける方法について説明します。 タグの推奨事項と制限事項については、「 タグを使用して Azure リソースと管理階層を整理する」を参照してください。
タグを適用する
Azure CLI には、タグを適用する 2 つのコマンド ( az tag create と az tag update) が用意されています。 Azure CLI 2.10.0 以降のバージョンが必要です。
az versionを使用してバージョンを確認できます。 更新またはインストールするには、「 Azure CLI のインストール」を参照してください。
az tag createは、リソース、リソース グループ、またはサブスクリプションのすべてのタグを置き換えます。 コマンドを呼び出すときに、タグ付けするエンティティのリソース ID を渡します。
次の例では、ストレージ アカウントに一連のタグを適用します。
resource=$(az resource show -g demoGroup -n demostorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag create --resource-id $resource --tags Dept=Finance Status=Normal
コマンドが完了したら、リソースに 2 つのタグがあることに注意してください。
"properties": {
"tags": {
"Dept": "Finance",
"Status": "Normal"
}
},
コマンドをもう一度実行しても、今回はタグが異なる場合は、前のタグが消えることがわかります。
az tag create --resource-id $resource --tags Team=Compliance Environment=Production
"properties": {
"tags": {
"Environment": "Production",
"Team": "Compliance"
}
},
既にタグが含まれるリソースにタグを追加するには、 az tag updateを使用します。
--operation パラメーターを Merge に設定します。
az tag update --resource-id $resource --operation Merge --tags Dept=Finance Status=Normal
2 つの新しいタグを追加すると、既存のタグが大きくなることに注意してください。
"properties": {
"tags": {
"Dept": "Finance",
"Environment": "Production",
"Status": "Normal",
"Team": "Compliance"
}
},
各タグ名の値は 1 つだけです。 タグに新しい値を指定すると、マージ操作を使用した場合でも、新しいタグによって古い値が置き換えられます。 次の例では、 Status タグを 標準 から 緑に変更します。
az tag update --resource-id $resource --operation Merge --tags Status=Green
"properties": {
"tags": {
"Dept": "Finance",
"Environment": "Production",
"Status": "Green",
"Team": "Compliance"
}
},
--operation パラメーターを Replace に設定すると、既存のタグが新しいタグ セットに置き換えられます。
az tag update --resource-id $resource --operation Replace --tags Project=ECommerce CostCenter=00123 Team=Web
新しいタグのみがリソースに残ります。
"properties": {
"tags": {
"CostCenter": "00123",
"Project": "ECommerce",
"Team": "Web"
}
},
同じコマンドは、リソース グループまたはサブスクリプションでも機能します。 タグを付けたいリソース グループまたはサブスクリプションの識別子を指定してください。
リソース グループに新しいタグ のセットを追加するには、次の方法を使用します。
group=$(az group show -n demoGroup --query id --output tsv)
az tag create --resource-id $group --tags Dept=Finance Status=Normal
リソース グループのタグを更新するには、次を使用します。
az tag update --resource-id $group --operation Merge --tags CostCenter=00123 Environment=Production
サブスクリプションに新しいタグのセットを追加するには、次の方法を使用します。
sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag create --resource-id /subscriptions/$sub --tags CostCenter=00123 Environment=Dev
サブスクリプションのタグを更新するには、次を使用します。
az tag update --resource-id /subscriptions/$sub --operation Merge --tags Team="Web Apps"
タグの一覧を表示する
リソース、リソース グループ、またはサブスクリプションのタグを取得するには、 az tag list コマンドを使用し、エンティティのリソース ID を渡します。
リソースのタグを表示するには、次の値を使用します。
resource=$(az resource show -g demoGroup -n demostorage --resource-type Microsoft.Storage/storageAccounts --query "id" --output tsv)
az tag list --resource-id $resource
リソース グループのタグを表示するには、次を使用します。
group=$(az group show -n demoGroup --query id --output tsv)
az tag list --resource-id $group
サブスクリプションのタグを表示するには、次を使用します。
sub=$(az account show --subscription "Demo Subscription" --query id --output tsv)
az tag list --resource-id /subscriptions/$sub
タグ別に一覧表示する
特定のタグ名と値を持つリソースを取得するには、次の値を使用します。
az resource list --tag CostCenter=00123 --query [].name
指定したタグ名で任意のタグ値を持つリソースを取得するには、以下の方法を使用します。
az resource list --tag Team --query [].name
特定のタグ名と値を持つリソース グループを取得するには、次の値を使用します。
az group list --tag Dept=Finance
タグを削除する
特定のタグを削除するには、 az tag update を使用し、 --operation を Deleteに設定します。 削除するタグのリソース ID を渡します。
az tag update --resource-id $resource --operation Delete --tags Project=ECommerce Team=Web
指定したタグが削除されました。
"properties": {
"tags": {
"CostCenter": "00123"
}
},
すべてのタグを削除するには、 az tag delete コマンドを使用します。
az tag delete --resource-id $resource
スペースを処理する
タグ名または値にスペースが含まれている場合は、それらを引用符で囲みます。
az tag update --resource-id $group --operation Merge --tags "Cost Center"=Finance-1222 Location="West US"
次のステップ
- すべてのリソースの種類でタグがサポートされているわけではありません。 リソースの種類にタグを適用できるかどうかを判断するには、 Azure リソースのタグのサポートに関するページを参照してください。
- タグ付け戦略を実装する方法に関する推奨事項については、 リソースの名前付けとタグ付けの決定ガイドを参照してください。
- タグの推奨事項と制限事項については、「 タグを使用して Azure リソースと管理階層を整理する」を参照してください。