名前付け規則を定義する
リソースに適切な名前を付けると、その種類、関連付けられたワークロード、環境、リソースが実行されている Azure リージョンをすばやく識別できます。 そのためには、名前は一貫性のある形式 ("名前付け規則") に従い、各リソースに関する重要な情報で構成される必要があります。 名前には、リソースの特定のインスタンスを識別するために必要なすべての情報が含まれていることが理想的です。 たとえば、米国西部リージョンにある運用 SharePoint ワークロードのパブリック IP アドレス (PIP) は pip-sharepoint-prod-westus-001
になります。
図 1:Azure リソース名のコンポーネント。
推奨される名前付けコンポーネント
名前付け規則を制定する場合は、リソース名で把握したい主要な情報を識別します。 リソースの種類によって関連する情報は異なり、確立されているすべての名前付けコンポーネントを各リソースの種類に使用できるわけではありません。 デプロイされたリソースに関連する情報を認識しやすく、簡潔で、有用な、利用する環境にふさわしい標準の名前付け規則を制定します。
次の一覧は、リソース名を作成する際に役立つ名前付けコンポーネントの例を示しています。
名前付けコンポーネント | 説明 |
---|---|
組織 | 組織の最上位レベルの名前。通常は上位管理グループとして使用され、小規模な組織では名前付け規則の一部となります。 例: contoso |
事業単位または部署 | リソースが属しているサブスクリプションまたはワークロードを所有する会社の最上位の部門。 小規模な組織では、このコンポーネントは 1 つの会社の最上位の組織要素を表す場合があります。 例: fin 、mktg 、product 、it 、corp |
リソースの種類 | Azure リソースまたは資産の種類を表す省略形。 このコンポーネントは、多くの場合、名前のプレフィックスまたはサフィックスです。 詳細については、「Azure リソースの種類に推奨される省略形」を参照してください。 例: rg 、vm |
プロジェクト、アプリケーションまたはサービス名 | リソースが属しているプロジェクト、アプリケーション、またはサービスの名前。 例: navigator 、emissions 、sharepoint 、hadoop |
環境 | リソースによってサポートされているワークロードの開発ライフサイクルのステージ。 例: prod 、dev 、qa 、stage 、test |
場所 | リソースがデプロイされているリージョンまたはクラウド プロバイダー。 例: westus 、eastus2 、westeu 、usva 、ustx |
VM ロール | VM の用途を示す識別子。 例: db (データベース)、ws (Web サーバー)、ps (プリント サーバー) |
インスタンス | 特定のリソースのインスタンス数。同じ名前付け規則と名前付けコンポーネントを持つ他のリソースと区別します。 例: 01 、001 |
Note
Azure の仮想マシン (VM) 名は、VM の許容される NetBIOS 名よりも長くなることがありますが、一貫性を保つことをお勧めします。 詳細およびその他の制限については、「コンピューター名」を参照してください。
名前付けに関する考慮事項
名前付けコンポーネントを定義するだけでなく、名前付けコンポーネントを列挙する順序、コンポーネント間で使用する区切り記号の種類 (もしあれば) も考慮する必要があります。 また、リソースの種類に関連付けられたさまざまな名前付け規則も考慮します。
Scope
すべての Azure リソースの種類には、リソースのレベルを定義するスコープがあります。 また、リソースにはそのスコープ内で一意の名前が必要です。
たとえば、仮想ネットワークにはリソース グループ スコープがあります。つまり、特定のリソース グループには vnet-prod-westus-001
という名前のネットワークは 1 つだけ存在できます。 他のリソース グループにも vnet-prod-westus-001
という名前の仮想ネットワークを含めることはできますが、各リソース グループでその名前を仮想ネットワークに使えるのは 1 つだけです。 サブネットはスコープが仮想ネットワークに設定されるため、仮想ネットワーク内の各サブネットは個別の名前を持つ必要があります。
パブリック エンドポイントまたは仮想マシン DNS ラベルを持つサービスとしてのプラットフォーム (PaaS) の名前など、一部のリソース名はグローバル スコープです。 グローバル スコープ内のリソースには、Azure プラットフォーム全体で一意の名前が必要です。
図 2:Azure リソース名のスコープ レベル。
Azure の名前付け規則
Azure の名前付け規則は、リソースの種類によって異なります。 名前付け規則を定義する際には、リソースの種類に応じた Azure の名前付け規則を理解して、混乱やデプロイの遅延を回避することが重要です。
たとえば、リソース名には長さの制限があります。 リソース名の長さの制限を超えないようにするために、名前付けコンポーネントの長さは短くしておくことをおすすめします。
Note
名前付け規則を制定するときに、名前のコンテキストと、そのスコープや長さ制限のバランスをとることが重要です。 詳細については、「Azure リソースの名前付け規則と制限事項」を参照してください。
名前付け規則を作成する場合は、リソース名に反映させる重要な情報を特定します。 リソースの種類によって関連する情報は異なります。 次の一覧は、リソース名を作成するときに役立つ情報の例を示しています。
リソース名の長さと複雑さを軽減するための戦略として、リソース名と名前付けコンポーネントを省略することができます。 名前の短縮は、どの名前付けコンポーネントにも有効ですが、リソース名を名前の長さの制限内に収めるために特に重要です。 たとえば、Azure の VM 名が OS の名前付け制限よりも長くなる場合があります。 Azure VM 名を OS の名前付け制限よりも短くしておくことで、一貫性を保ち、リソースについて議論する際のコミュニケーションが円滑になり、VM 自体にサインインして Azure portal で作業する際の混乱を軽減できます。
名前付けコンポーネント | 説明 |
---|---|
リソースの種類 | Azure リソースまたは資産の種類を表す省略形。 この構成要素は、多くの場合、名前のプレフィックスまたはサフィックスとして使用されます。 詳細については、「Azure リソースの種類に推奨される省略形」を参照してください。 例: rg 、vm |
事業単位 | リソースが属しているサブスクリプションまたはワークロードを所有する会社の最上位の部門。 小規模な組織では、このコンポーネントは 1 つの会社の最上位の組織要素を表す可能性があります。 例: fin 、mktg 、product 、it 、corp |
アプリケーションまたはサービス名 | リソースが属しているアプリケーション、ワークロード、またはサービスの名前。 例: navigator 、emissions 、sharepoint 、hadoop |
サブスクリプションの目的 | リソースが含まれているサブスクリプションの目的に関する概要の説明。 多くの場合、環境または特定のワークロードによって分類されます。 例: prod 、shared 、client |
環境 | リソースによってサポートされているワークロードの開発ライフサイクルのステージ。 例: prod 、dev 、qa 、stage 、test |
リージョン | リソースがデプロイされている Azure リージョン。 例: westus 、eastus2 、westeu 、usva 、ustx |
Note
リソースとアセットに名前を付ける準備ができたら、Azure リソースの種類に推奨される省略形に関する記事を参照してください。
次のセクションでは、エンタープライズ クラウドのデプロイにおける一般的な Azure リソースの種類の名前の例を示します。
Note
これらの名前の例の一部では、mktg-prod-001
など、3 桁の埋め込みスキーム (###
) が使用されています。
構成管理データベース (CMDB)、IT 資産管理ツール、または従来のアカウンティング ツールでこれらの資産が管理されている場合、埋め込みにより、資産の読みやすさが向上し、並び替えが強化されます。 デプロイされた資産が IT 資産の大規模なインベントリまたはポートフォリオの一部として一元的に管理されている場合、埋め込みアプローチは、インベントリの名前付けを管理するためにこれらのシステムで使用されるインターフェイスと適合します。
残念ながら、従来の資産埋め込みアプローチは、非埋め込み数値に基づいて資産を反復処理する場合のある、コードとしてのインフラストラクチャのアプローチでは問題が発生する可能性があります。 このアプローチは、デプロイまたは自動構成管理のタスクにおいて一般的です。 これらのスクリプトでは、埋め込みを定期的に削除し、埋め込まれた数値を実数に変換する必要があります。これにより、スクリプトの開発と実行時間が遅くなります。
組織に適したアプローチを選択してください。 ここで紹介する埋め込みは、インベントリの番号付けに対して一貫したアプローチを使用することの重要性を示すもので、どちらのアプローチが優れているかを示すものではありません。 パディングを使用するかどうかに関わらず、付番規則を選択する前に、CMDB や資産管理ソリューション、またはコードベースの在庫管理など、長期的な運用に大きく影響するものを評価します。 その後、運用ニーズに最適な埋め込みオプションを一貫して採用します。
次のセクションでは、エンタープライズ クラウドのデプロイにおける一般的な Azure リソースの種類のいくつかのサンプル名を示します。 その他の例については、Azure 名前付けツールを参照してください。
Note
次の例は、名前付け規則を視覚化して見せることを意図していますが、実際の規則は組織によって異なります。
名前の例:全般
資産の種類 | 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 |