タグ付けを使用してリソースを整理する
リソースを調べ、以前より整理しやすいリソース グループに移動しました。しかし、リソースに複数の用途がある場合はどうでしょうか。 そのようなリソースはどのようにして検索、フィルター適用、整理の方法を改善できますか。 Azure リソースの整理方法を改善するときは、タグが便利です。
タグとは何でしょうか。
タグはテキスト データの名前と値を組み合わせたものであり、これをリソースやリソース グループに付けることができます。 タグを使用すると、リソースについてのカスタムの詳細を関連付けることができます。 リソースには、標準の Azure プロパティに加えて、次のプロパティがあります。
- 部署 (財務、マーケティングなど)
- 環境 (運用、テスト、開発)
- コスト センター
- ライフサイクルと自動化 (仮想マシンのシャットダウンや起動など)
1 つのリソースには最大 50 個のタグを設定することができます。 ストレージ アカウントを除く、あらゆる種類のリソースで名前の値は 512 文字に制限されています。ストレージ アカウントの場合、128 文字という制限があります。 タグの値は、リソースの種類を問わず、256 文字に制限されています。 タグが親リソースから継承されることはありません。 タグはすべてのリソースの種類ではサポートされておらず、クラシック リソースにタグは適用できません。
タグは Azure portal、Azure CLI、Azure PowerShell、Azure Resource Manager テンプレート、REST API から追加したり操作したりすることができます。 たとえば、Azure CLI を使用して仮想ネットワークにリソース タグを追加するには、次のコマンドを使用できます。
az resource tag --tags Department=Finance \
--resource-group msftlearn-core-infrastructure-rg \
--name msftlearn-vnet1 \
--resource-type "Microsoft.Network/virtualNetworks"
Azure Policy を使用して、組織が作成するリソースに、あなたが定義したポリシーの条件に基づいてタグを自動的に追加または適用することができます。 たとえば、組織の任意のユーザーが特定のリソース グループに仮想ネットワークを作成するときに、Department タグの値の入力を必須にすることができます。
リソースにタグを適用する
作成したリソースにタグを付けてみましょう。 msftlearn-core-infrastructure-rg という名前のリソース グループを作成し、その中に msftlearn-vnet1 と msftlearn-vnet2 という 2 つの仮想ネットワークを作成したことを思い出してください。 仮想ネットワーク名は比較的汎用です。そこで、別の部署のサービスと仮想ネットワークを関連付けてみます。
Azure portal を開き、リソース グループ msftlearn-core-infrastructure-rg に移動します。
2 つの仮想ネットワークがリソース グループの [概要] ペインに表示されているはずです。 既定のビューではタグの列が表示されません。そのため、その列をリスト ビューに追加します。 ツール バーの [ビューの管理] を選択し、[列の編集] を選択します。 [列の編集] ペインで、[列の追加] を選択してから、そのフィールドを選択してドロップダウン リストを表示します。 プロパティのタグを選択し、それをリスト ビューの列に追加します。 [保存] を選択して変更を追加します。
これで [タグ] 列が表示されますが、まだタグを追加していないので空です。 ここでタグを直接追加します。
また、リソースの [タグ] ペインでこの機能をサポートしているあらゆるリソースにタグを追加することもできます。 msftlearn-vnet1 リソースの省略記号 (
...
) を選択し、[タグの編集] を選択して [タグの編集] ペインを表示します。 このペインでは、選択したリソースに特定のタグを作成できます。この仮想ネットワークにいくつかのタグを追加しましょう。 このペインの 2 つのフィールドには、以前に使用したすべてのタグが記憶されています。 1 つを選択するか、新しいタグを作成できます。 [名前] ボックスに「Department」と入力し、[値] ボックスに「Finance」と入力します。 [保存] を選択して変更を保存します。
msftlearn-vnet2 仮想ネットワークについても同じ手順を繰り返します。 この仮想ネットワークの場合は、値が Marketing の Department タグをリソースに追加します。
これで各リソースにタグが付けられているはずです。
リソースの分類に時間をかけないよう、リソースにタグを一括で追加できます。 一覧で、仮想ネットワークごとに左側にあるチェックボックスをオンにしてから、ツールバーで [タグの割り当て] を選択します。 (表示されない場合、このオプションは
...
メニューの中に含まれていることがあります)。複数のリソースを選択することで、タグを選択した項目すべてに追加できます。これにより、同じタグを複数のリソースに簡単に適用できます。選択したリソースに
Environment
:Training
タグを追加します。 各仮想ネットワークにタグが付けられることをダイアログで確認できます。 [保存] を選択します。リソースの一覧の [タグ] 列に複数の値が表示されるようになります。 ウィンドウの幅に制限がある場合は、タグ テキストが切り詰められることがあります。 列のタイトルにカーソルを合わせ、縦線を使用して列のサイズを変更してください。 右端に省略記号がある場合、他にも列があるものの、表示されていないことを示します。
[フィルターの追加] を選択します。 [フィルター] フィールドで [環境] を選択します。 [値] については [Training] を選択して、その他すべてのチェックボックスがオフになっていることを確認してから、[適用] を選択します。 Environment タグを Training に設定したのは 2 つのリソースなので、それら 2 つの仮想ネットワークのみが表示されるはずです。
Department タグに Finance または Marketing のいずれかの値が指定されたフィルターを追加することで、リソースの一覧をさらに絞り込むことができます。
タグを使用して整理する
前の演習は、タグを使用してリソースを整理する場所と方法を示す例の 1 つに過ぎません。 タグの使用には柔軟性があり、自分にとって便利な方法でタグを使用できます。
タグを使用して課金データをグループ化できます。 たとえば、異なる組織向けに複数の VM を実行している場合は、タグを使用して、コスト センターごとに使用状況をグループ化します。 また、タグを使用すると、運用環境で実行されている VM の課金データなどの、ランタイム環境ごとにコストを分類することもできます。 課金データをエクスポートするとき、あるいは課金 API からアクセスするとき、タグはそのデータの一部として含まれ、それを使用してコスト面からデータをさらにスライスできます。
特定のタグの名前や値が付けられた、サブスクリプション内のすべてのリソースを取得できます。 同様に、タグを使用すると、複数のリソース グループから関連リソースを取得できます。 この方法は、課金または管理の目的でリソースを整理する必要がある場合に役立ちます。
リソースにタグを付けることは、リソースを監視し、何らかの影響を受けたリソースを追跡する目的にも役立ちます。 監視システムでは、アラート付きのタグ データを使用できます。これにより、影響を受けているユーザーを正確に知ることができます。 前述の例では、値が Finance の Department タグを msftlearn-vnet1 リソースに適用しました。 msftlearn-vnet1 でアラームが発生したとき、アラームにタグが含まれていれば、そのアラームを発生させた状態の影響を財務部が受ける可能性があることを知ることになります。 問題が発生した場合、このコンテキスト情報が役立つことがあります。
タグは自動化でもよく使われます。 コストを削減するために、勤務時間外に開発環境内で実行する仮想マシンのシャットダウンと起動を自動化する必要がある場合は、タグを使用して自動化に対応できます。 shutdown:6PM と startup:7AM というタグを仮想マシンに追加します。これらのタグを探してその値に基づいて仮想マシンをシャットダウンしたり起動したりする自動化ジョブを作成します。 Azure Automation Runbooks Gallery に用意されているいくつかのソリューションでは同様の方法でタグを使用し、この結果を実現しています。