Architecture & Governance参照資料確認: 2026-09-11

Network Resource Naming & Tagging

VNet・subnet・NSG・route table・Public IP等の命名とtag schemaを、immutability・ownership・検索性・Azure Policy enforcementを前提に設計する。

Architecture contract

名前には長期間変わらない識別情報だけを入れ、owner・cost center・lifecycle等の可変情報はtagへ分離する。命名/タグを見た目の統一ではなく、operations・Policy・Network Group dynamic membership・IaC import/driftのcontrol inputとして扱い、機密情報は埋め込まない。

この記事の目次

Network Resource Naming & Taggingを理解するための前提

Microsoft Cloud Adoption Frameworkは多くのAzure resource名は作成後に変更できないため、名前には変化しない情報だけを含めるよう推奨している。 resource typeごとにname scope、長さ、利用可能文字、global uniqueness等の制約が異なる。組織命名規則よりAzure resource-specific naming rulesを優先する。

environment / region / resource type / workload / instance等から、運用で本当に必要なcomponentだけを選ぶ。owner名・ticket番号・IP addressなど変化しやすい情報を名前へ固定しない。 tagはowner、cost center、environment、criticality、data classification、lifecycle等のmutable metadataに向く。ただし全resourceで同じtag capabilityやinheritanceを仮定しない。

Azure Policyを使ってrequired tag、allowed value、inherit/append/remediation等をgovernanceへ組み込める。tag schema変更自体もversioned policy changeとして扱う。 AVNM dynamic Network Groupがtagをselectorに使う場合、そのtag変更はnetwork policy対象のjoin/leaveを起こし得る。単なる分類変更として承認しない。

resource nameやtagにpersonal data、credential、secret、confidential informationを入れない。portal/search/log/export等、多くの場所へmetadataが露出する前提で設計する。

通信や判断の流れを追う
Platform policyShared servicesSpoke / Workload運用・変更

Ownership / Control / Data plane boundary

Immutable identity

resource nameはstable identifierとして扱い、作成後変更を前提にしない。

Mutable metadata

tagはowner / cost / lifecycle等、時間とともに変わる情報を保持する。

Policy input

required/allowed tagやAVNM dynamic membershipに使う値はcontrol inputとしてchange管理する。

Human + IaC contract

portal検索、人間のchange review、automation/importの双方で同じ意味になるschemaにする。

Architecture model

読み方名前とtagは同じmetadataでも役割が違う。『名前を見れば全部分かる』設計にするとrename不能と文字数制限に負けるため、stable identityとmutable governanceを分離する。

設計判断

判断軸推奨する問い設計時に固定するもの
Name components何がresource lifetime中に不変か。component order、delimiter、abbreviation dictionary、instance numbering。
Region codelocationを名前へ含める価値がresource move/DR時の不整合リスクを上回るか。region code standard、global resource例外。
Tag schema運用・会計・security・automationで必須のmetadataは何か。required tags、allowed values、owner system、defaulting rule。
Control tagsAVNM/Policy等のselectorに使うtagを一般tagと分離するか。network-impacting tags、RBAC、change approval、validation。
Legacy resources既存命名をrenameできない場合どう扱うか。alias/tag補完、new-resource-only enforcement、migration threshold。
Sensitive datametadataへ入れてはいけない情報をどう防ぐか。prohibited patterns、review、secret scanner/documentation。

実装・展開の順序

  1. resource type inventoryを取る。 Azure naming rulesと既存実名を突合し、現実に適用できるcomponent setを決める。
  2. minimum schemaを定義する。 nameにstable component、tagにmutable componentを分離し、例外を明文化する。
  3. IaC moduleへ組み込む。 name/tag生成を各teamの文字列手入力に任せず、shared module/helperへ寄せる。
  4. Policyをauditから開始する。 required tag / allowed valueをまず可視化し、既存legacy resourceへの影響を測る。
  5. network-impacting tagを保護する。 AVNM dynamic membership等で使うtagはRBAC/change reviewを追加し、canaryでjoin/leaveを検証する。
  6. enforcementを段階強化する。 new resource → selected subscription → broader scopeの順でaudit/deny/modifyを展開する。

Platform team / Workload team の責任分界

領域Platform / central teamWorkload / application team
Naming standardcomponent/delimiter/abbreviationとresource-specific例外を管理。shared standardに従いworkload identifierを選択。
Tag schemarequired tag/allowed value/Policyを管理。owner・criticality等の値を正しく維持。
IaCshared module/helperでname/tag generationを提供。manual overrideを最小化しmoduleを利用。
Control metadataAVNM selector等network-impacting tagの変更権限を管理。変更時にnetwork impactを確認。
Legacymigration/exception policyを管理。exception ownerと期限を維持。

実用的な分離例

情報Nameに入れる?Tagに入れる?理由
workload/service identifier条件付きで入れる入れることも可resource lifetime中に安定し、検索価値が高い場合。
environment (prod/dev)多くの場合入れる入れるresource separationに有用だが組織規則に合わせる。
region必要なresourceのみ入れるregional resourceの判別には有用。global resourceや移行設計では注意。
resource type入れることが多い通常不要人間が一覧で識別しやすい。Azure constraintsに合わせる。
owner /担当者入れない入れる人・teamは変更される。
cost center / ticket入れない入れる可変でありresource identityではない。
CIDR / IP address原則入れない必要なら別inventoryrenumberで陳腐化しやすい。

Verification / review evidence

設計レビューで残す証拠

  • resource type別のAzure naming constraints一覧
  • 命名component / abbreviation / delimiter dictionary
  • required tag / allowed value / owner schema
  • Azure Policy definition / assignment / exemption
  • network-impacting tagとAVNM membershipの依存一覧
  • legacy exceptionとmigration plan

runtimeで確認すること

  • 新規resource名がAzure constraintsと組織schemaの両方に適合すること
  • required tagsがIaC/Policy経由で一貫して付与されること
  • tag変更が意図しないAVNM group join/leaveを起こさないこと
  • portal/Resource Graphでowner/environment/resource roleを検索できること
  • legacy resourceがnew enforcementで突然deploy不能にならないこと
  • resource name/tagにsecretやconfidential metadataが混入していないこと
Azure CLI — resource metadata inventory (read-only)
az resource list --query "[].{Name:name,Type:type,ResourceGroup:resourceGroup,Tags:tags}" -o json
PowerShell — resource metadata inventory (read-only)
Get-AzResource | Select-Object Name, ResourceType, ResourceGroupName, Tags

Common failure modes

症状 / anti-pattern原因になりやすい設計確認・是正
担当team変更で名前が嘘になるownerをimmutable nameへ埋め込んだ。ownerをtag/CMDBへ移し、名前はstable identityに限定。
同じ命名規則が一部resourceで作成失敗resource-specific length/character/scope制約を無視。Azure naming rulesをresource typeごとにvalidate。
tag変更でVNetが別policyへ入るAVNM dynamic membership selectorであることを知らず変更。network-impacting tagを明示しRBAC/reviewを強化。
Policy enforcementでlegacy deployが大量失敗audit期間なしでrequired tagsをdeny。compliance inventory→exception→new resource→段階enforce。
metadataに顧客名/secretが残る名前/tagを非機密とは限らないmetadata surfaceとして扱っていない。prohibited data policyとreviewを導入し、既存metadataをscan。

Change safety / rollback

一括変更を避ける: 命名は多くのresourceで後から簡単に戻せないため、renameをrollback戦略にしない。Policy/tag schema変更はaudit-first、assignment scopeの縮小、旧allowed valuesへの復帰を可能にし、AVNM selectorとして使うtag変更はmembership差分を確認してから戻す。

Official sources