名前付け規則を定義する

リソースに適切な名前を付けると、その種類、関連付けられたワークロード、環境、リソースが実行されている Azure リージョンをすばやく識別できます。 そのためには、名前は一貫性のある形式 ("名前付け規則") に従い、各リソースに関する重要な情報で構成される必要があります。 名前には、リソースの特定のインスタンスを識別するために必要なすべての情報が含まれていることが理想的です。 たとえば、米国西部リージョンにある運用 SharePoint ワークロードのパブリック IP アドレス (PIP) は pip-sharepoint-prod-westus-001 になります。

Diagram that shows the components of an Azure resource name.

図 1:Azure リソース名のコンポーネント。

名前付け規則を制定する場合は、リソース名で把握したい主要な情報を識別します。 リソースの種類によって関連する情報は異なり、確立されているすべての名前付けコンポーネントを各リソースの種類に使用できるわけではありません。 デプロイされたリソースに関連する情報を認識しやすく、簡潔で、有用な、利用する環境にふさわしい標準の名前付け規則を制定します。

次の一覧は、リソース名を作成する際に役立つ名前付けコンポーネントの例を示しています。

名前付けコンポーネント 説明
組織 組織の最上位レベルの名前。通常は上位管理グループとして使用され、小規模な組織では名前付け規則の一部となります。 例: contoso
事業単位または部署 リソースが属しているサブスクリプションまたはワークロードを所有する会社の最上位の部門。 小規模な組織では、このコンポーネントは 1 つの会社の最上位の組織要素を表す場合があります。 例: finmktgproductitcorp
リソースの種類 Azure リソースまたは資産の種類を表す省略形。 このコンポーネントは、多くの場合、名前のプレフィックスまたはサフィックスです。 詳細については、「Azure リソースの種類に推奨される省略形」を参照してください。 例: rgvm
プロジェクト、アプリケーションまたはサービス名 リソースが属しているプロジェクト、アプリケーション、またはサービスの名前。 例: navigatoremissionssharepointhadoop
環境 リソースによってサポートされているワークロードの開発ライフサイクルのステージ。 例: proddevqastagetest
場所 リソースがデプロイされているリージョンまたはクラウド プロバイダー。 例: westuseastus2westeuusvaustx
VM ロール VM の用途を示す識別子。 例: db (データベース)、ws (Web サーバー)、ps (プリント サーバー)
インスタンス 特定のリソースのインスタンス数。同じ名前付け規則と名前付けコンポーネントを持つ他のリソースと区別します。 例: 01001

Note

Azure の仮想マシン (VM) 名は、VM の許容される NetBIOS 名よりも長くなることがありますが、一貫性を保つことをお勧めします。 詳細およびその他の制限については、「コンピューター名」を参照してください。

名前付けに関する考慮事項

名前付けコンポーネントを定義するだけでなく、名前付けコンポーネントを列挙する順序、コンポーネント間で使用する区切り記号の種類 (もしあれば) も考慮する必要があります。 また、リソースの種類に関連付けられたさまざまな名前付け規則も考慮します。

Scope

すべての Azure リソースの種類には、リソースのレベルを定義するスコープがあります。 また、リソースにはそのスコープ内で一意の名前が必要です。

たとえば、仮想ネットワークにはリソース グループ スコープがあります。つまり、特定のリソース グループには vnet-prod-westus-001 という名前のネットワークは 1 つだけ存在できます。 他のリソース グループにも vnet-prod-westus-001 という名前の仮想ネットワークを含めることはできますが、各リソース グループでその名前を仮想ネットワークに使えるのは 1 つだけです。 サブネットはスコープが仮想ネットワークに設定されるため、仮想ネットワーク内の各サブネットは個別の名前を持つ必要があります。

パブリック エンドポイントまたは仮想マシン DNS ラベルを持つサービスとしてのプラットフォーム (PaaS) の名前など、一部のリソース名はグローバル スコープです。 グローバル スコープ内のリソースには、Azure プラットフォーム全体で一意の名前が必要です。

Diagram that shows the scope levels for Azure resource names.

図 2:Azure リソース名のスコープ レベル。

Azure の名前付け規則

Azure の名前付け規則は、リソースの種類によって異なります。 名前付け規則を定義する際には、リソースの種類に応じた Azure の名前付け規則を理解して、混乱やデプロイの遅延を回避することが重要です。

たとえば、リソース名には長さの制限があります。 リソース名の長さの制限を超えないようにするために、名前付けコンポーネントの長さは短くしておくことをおすすめします。

Note

名前付け規則を制定するときに、名前のコンテキストと、そのスコープや長さ制限のバランスをとることが重要です。 詳細については、「Azure リソースの名前付け規則と制限事項」を参照してください。

名前付け規則を作成する場合は、リソース名に反映させる重要な情報を特定します。 リソースの種類によって関連する情報は異なります。 次の一覧は、リソース名を作成するときに役立つ情報の例を示しています。

リソース名の長さと複雑さを軽減するための戦略として、リソース名と名前付けコンポーネントを省略することができます。 名前の短縮は、どの名前付けコンポーネントにも有効ですが、リソース名を名前の長さの制限内に収めるために特に重要です。 たとえば、Azure の VM 名が OS の名前付け制限よりも長くなる場合があります。 Azure VM 名を OS の名前付け制限よりも短くしておくことで、一貫性を保ち、リソースについて議論する際のコミュニケーションが円滑になり、VM 自体にサインインして Azure portal で作業する際の混乱を軽減できます。

名前付けコンポーネント 説明
リソースの種類 Azure リソースまたは資産の種類を表す省略形。 この構成要素は、多くの場合、名前のプレフィックスまたはサフィックスとして使用されます。 詳細については、「Azure リソースの種類に推奨される省略形」を参照してください。
例: rgvm
事業単位 リソースが属しているサブスクリプションまたはワークロードを所有する会社の最上位の部門。 小規模な組織では、このコンポーネントは 1 つの会社の最上位の組織要素を表す可能性があります。
例: finmktgproductitcorp
アプリケーションまたはサービス名 リソースが属しているアプリケーション、ワークロード、またはサービスの名前。
例: navigatoremissionssharepointhadoop
サブスクリプションの目的 リソースが含まれているサブスクリプションの目的に関する概要の説明。 多くの場合、環境または特定のワークロードによって分類されます。
例: prodsharedclient
環境 リソースによってサポートされているワークロードの開発ライフサイクルのステージ。
例: proddevqastagetest
リージョン リソースがデプロイされている Azure リージョン。
例: westuseastus2westeuusvaustx

Note

リソースとアセットに名前を付ける準備ができたら、Azure リソースの種類に推奨される省略形に関する記事を参照してください。

次のセクションでは、エンタープライズ クラウドのデプロイにおける一般的な Azure リソースの種類の名前の例を示します。

Note

これらの名前の例の一部では、mktg-prod-001 など、3 桁の埋め込みスキーム (###) が使用されています。

構成管理データベース (CMDB)、IT 資産管理ツール、または従来のアカウンティング ツールでこれらの資産が管理されている場合、埋め込みにより、資産の読みやすさが向上し、並び替えが強化されます。 デプロイされた資産が IT 資産の大規模なインベントリまたはポートフォリオの一部として一元的に管理されている場合、埋め込みアプローチは、インベントリの名前付けを管理するためにこれらのシステムで使用されるインターフェイスと適合します。

残念ながら、従来の資産埋め込みアプローチは、非埋め込み数値に基づいて資産を反復処理する場合のある、コードとしてのインフラストラクチャのアプローチでは問題が発生する可能性があります。 このアプローチは、デプロイまたは自動構成管理のタスクにおいて一般的です。 これらのスクリプトでは、埋め込みを定期的に削除し、埋め込まれた数値を実数に変換する必要があります。これにより、スクリプトの開発と実行時間が遅くなります。

組織に適したアプローチを選択してください。 ここで紹介する埋め込みは、インベントリの番号付けに対して一貫したアプローチを使用することの重要性を示すもので、どちらのアプローチが優れているかを示すものではありません。 パディングを使用するかどうかに関わらず、付番規則を選択する前に、CMDB や資産管理ソリューション、またはコードベースの在庫管理など、長期的な運用に大きく影響するものを評価します。 その後、運用ニーズに最適な埋め込みオプションを一貫して採用します。

次のセクションでは、エンタープライズ クラウドのデプロイにおける一般的な Azure リソースの種類のいくつかのサンプル名を示します。 その他の例については、「Azure 名前付けツール」と、「名前付けとタグ付けの追跡テンプレート」をご覧ください。

注意

次の例は、名前付け規則を視覚化して見せることを意図していますが、実際の規則は組織によって異なります。

名前の例:全般

資産の種類 Scope 形式と例
管理グループ 事業単位および/または
環境
"mg-<事業単位>[-<環境>]"

  • mg-mktg
  • mg-hr
  • mg-corp-prod
  • mg-fin-client
  • サブスクリプション アカウント/エンタープライズ契約 " <事業単位>-<サブスクリプションの目的>-<###>"

  • mktg-prod-001
  • corp-shared-001
  • fin-client-001
  • リソース グループ サブスクリプション "rg-<アプリまたはサービスの名前>-<サブスクリプションの目的>-<###>"

  • rg-mktgsharepoint-prod-001
  • rg-acctlookupsvc-shared-001
  • rg-ad-dir-services-shared-001
  • API 管理サービス インスタンス グローバル apim-<アプリまたはサービス名>

    apim-navigator-prod
    管理対象 ID リソース グループ "id-<アプリまたはサービスの名前>-<環境>-<リージョン名>-<###>"

  • id-appcn-keda-prod-eastus2-001
  • 名前の例:ネットワーク

    資産の種類 Scope 形式と例
    仮想ネットワーク リソース グループ "vnet-<サブスクリプションの目的>-<リージョン>-<###>"

  • vnet-shared-eastus2-001
  • vnet-prod-westus-001
  • vnet-client-eastus2-001
  • サブネット 仮想ネットワーク snet-<サブスクリプションの目的>-<リージョン>-<###>

  • snet-shared-eastus2-001
  • snet-prod-westus-001
  • snet-client-eastus2-001
  • ネットワーク インターフェイス (NIC) リソース グループ nic-<##>-<VM 名>-<サブスクリプションの目的>-<###>

  • nic-01-dc1-shared-001
  • nic-02-vmhadoop1-prod-001
  • nic-02-vmtest1-client-001
  • パブリック IP アドレス リソース グループ pip-<VM 名またはアプリ名>-<環境>-<リージョン>-<###>

  • pip-dc1-shared-eastus2-001
  • pip-hadoop-prod-westus-001
  • ロード バランサー (外部) リソース グループ lbe-<アプリ名またはロール>-<環境>-<###>

  • lbe-navigator-prod-001
  • lbe-sharepoint-dev-001
  • ネットワーク セキュリティ グループ (NSG) サブネットまたは NIC nsg-<ポリシー名またはアプリ名>-<###>

  • nsg-weballow-001
  • nsg-rdpallow-001
  • nsg-sqlallow-001
  • nsg-dnsblocked-001
  • ローカル ネットワーク ゲートウェイ 仮想ゲートウェイ "lgw-<サブスクリプションの目的>-<リージョン>-<###>"

  • lgw-shared-eastus2-001
  • lgw-prod-westus-001
  • lgw-client-eastus2-001
  • 仮想ネットワーク ゲートウェイ 仮想ネットワーク "vgw-<サブスクリプションの目的>-<リージョン>-<###>"

  • vgw-shared-eastus2-001
  • vgw-prod-westus-001
  • vgw-client-eastus2-001
  • VPN 接続 リソース グループ vcn-<サブスクリプション 1 の目的>>-<リージョン 1>-to-<サブスクリプション 2 の目的>>-<リージョン 2>-

  • vcn-shared-eastus2-to-shared-westus
  • vcn-prod-eastus2-to-prod-westus
  • ルート テーブル リソース グループ rt-<ルート テーブル名>

  • rt-navigator
  • rt-sharepoint
  • DNS ラベル グローバル <VM の DNS A レコード>.<リージョン>.cloudapp.azure.com

  • dc1.westus.cloudapp.azure.com
  • web1.eastus2.cloudapp.azure.com
  • 名前の例:コンピューティングと Web

    資産の種類 Scope 形式と例
    仮想マシン リソース グループ vm-<vm role>-<environment>-<###>

  • vm-sql-test-001
  • vm-hadoop-prod-001
  • Web アプリ グローバル app-<プロジェクト、アプリまたはサービス>-<環境>-<###>.azurewebsites.net

  • app-navigator-prod-001.azurewebsites.net
  • app-accountlookup-dev-001.azurewebsites.net
  • 関数アプリ グローバル func-<プロジェクト、アプリまたはサービス>-<環境>-<###>.azurewebsites.net

  • func-navigator-prod-001.azurewebsites.net
  • func-accountlookup-dev-001.azurewebsites.net
  • 名前の例:データベース

    資産の種類 Scope 形式と例
    Azure SQL データベース Azure SQL Server sqldb-<プロジェクト、アプリまたはサービス>-<環境>

  • sqldb-users-prod
  • sqldb-users-dev
  • Azure Cosmos DB データベース グローバル cosmos-<プロジェクト、アプリまたはサービス>-<環境>

  • cosmos-navigator-prod
  • cosmos-emissions-dev
  • Azure Cache for Redis インスタンス グローバル redis-<プロジェクト、アプリまたはサービス>-<環境>

  • redis-navigator-prod
  • redis-emissions-dev
  • 名前の例:ストレージ

    資産の種類 Scope 形式と例
    ストレージ アカウント (全般) グローバル st<プロジェクト、アプリまたはサービス><###>

  • stnavigatordata001
  • stemissionsoutput001
  • Azure StorSimple グローバル ssimp<プロジェクト、アプリまたはサービス><環境>

  • ssimpnavigatorprod
  • ssimpemissionsdev
  • Azure Container Registry グローバル cr<プロジェクト、アプリまたはサービス><環境><###>

  • crnavigatorprod001
  • 名前の例:AI と機械学習

    資産の種類 Scope 形式と例
    Azure AI Search グローバル srch-<プロジェクト、アプリまたはサービス>-<環境>

  • srch-navigator-prod
  • srch-emissions-dev
  • Azure OpenAI Service リソース グループ oai-<プロジェクト、アプリまたはサービス>-<環境>

  • oai-navigator-prod
  • oai-emissions-dev
  • Azure Machine Learning ワークスペース リソース グループ mlw-<プロジェクト、アプリまたはサービス>-<環境>

  • mlw-navigator-prod
  • mlw-emissions-dev
  • 名前の例:Analytics と IoT

    資産の種類 Scope 形式と例
    Azure Analysis Services グローバル as<アプリ名><環境>

  • asnavigatorprod
  • asemissionsdev
  • Azure Data Factory グローバル adf-<プロジェクト、アプリまたはサービス>-<環境>

  • adf-navigator-prod
  • adf-emissions-dev
  • Azure Synapse Analytics ワークスペース リソース グループ synw-<プロジェクト、アプリまたはサービス>-<環境>

  • synw-navigator-prod
  • synw-emissions-dev
  • Data Lake Storage アカウント グローバル dls<プロジェクト、アプリまたはサービス><環境>

  • dlsnavigatorprod
  • dlsemissionsdev
  • IoT ハブ グローバル iot-<プロジェクト、アプリまたはサービス>-<環境>

  • iot-navigator-prod
  • iot-emissions-dev
  • 名前の例:統合

    資産の種類 Scope 形式と例
    Service Bus 名前空間 グローバル sbns-<プロジェクト、アプリまたはサービス>-<環境>.servicebus.windows.net

  • sbns-navigator-prod.servicebus.windows.net
  • sbns-emissions-dev.servicebus.windows.net
  • Service Bus キュー Service Bus sbq-<project、アプリまたはサービス>

  • sbq-navigator
  • Service Bus トピック Service Bus sbt-<project、アプリまたはサービス>

  • sbt-navigator