Azure CLI を使用してタグを適用する
この記事では、Azure CLI を使用してリソース、リソース グループ、サブスクリプションにタグを付ける方法について説明します。 タグの推奨事項と制限事項については、「タグを使用して Azure リソースと管理階層を整理する」を参照してください。
タグを適用する
Azure CLI には、タグを適用するために、az tag create と az tag update という 2 つのコマンドが用意されています。 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
タグを Normal から Green に変更します。
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 リソースと管理階層を整理する」を参照してください。