名前付け規則を定義する
リソースの適切な名前を使用すると、その種類、関連するワークロード、その環境、実行される Azure リージョンをすばやく識別できます。 そのためには、名前は一貫した形式 (名前付け規則) に従う必要があります。これは、各リソースに関する重要な情報で構成されます。 名前の情報には、リソースの特定のインスタンスを識別するために必要なものが含まれているのが理想的です。 たとえば、米国西部リージョンの実稼働 SharePoint ワークロードのパブリック IP アドレス (PIP) が pip-sharepoint-prod-westus-001
場合があります。
図 1: Azure リソース名のコンポーネントの例。
手記
すべての Azure リソースが同じパターンに従うわけではないことを考慮してください。 使用しているリソースの種類の制限事項を理解していることを確認します。
詳細については、「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 |
インスタンス | 同じ名前付け規則と名前付けコンポーネントを持つ他のリソースと区別するために、特定のリソースのインスタンス数。 例、01 、001 |
名前付けに関する考慮事項
名前付けコンポーネントを定義するだけでなく、名前付けコンポーネントが一覧表示される順序と、コンポーネント間に表示する区切り記号の種類 (存在する場合) も考慮する必要があります。 また、リソースの種類に関連付けられているさまざまな名前付け規則も考慮します。
スコープ
すべての Azure リソースの種類には、そのリソースのレベルを定義するスコープがあります。 また、リソースのスコープ内に一意の名前が必要です。
Azure リソース名のスコープ レベル:
グローバル: Azure 全体で一意です。
例: すべての Azure でパブリック IP エンドポイントを持つ PaaS リソースの名前。これは、その名前が最初の既定のパブリック DNS 名であるためです。
リソース グループ: リソース グループ内で一意です。
例: リソース グループ内のすべての仮想ネットワークには、そのリソース グループ内でルーティングするための一意の名前が必要です。
リソース: 親リソース内で一意です。
例: セグメントの重複を回避するには、仮想ネットワーク内のすべてのサブネットに一意の名前が必要です。
図 2: Azure リソース名のスコープ レベル。
たとえば、仮想ネットワークにはリソース グループのスコープがあります。つまり、特定のリソース グループに vnet-prod-westus-001
という名前のネットワークは 1 つだけ存在できます。 他のリソース グループには vnet-prod-westus-001
という名前の仮想ネットワークを含めることもできますが、各リソース グループにはその名前の仮想ネットワークを 1 つだけ含めることができます。 サブネットのスコープは仮想ネットワークであるため、仮想ネットワーク内の各サブネットには個別の名前が必要です。
一部のリソース名には、パブリック エンドポイントまたは仮想マシンの DNS ラベルを持つサービスとしてのプラットフォーム (PaaS) の名前など、グローバル スコープがあります。 グローバル スコープ内のリソースには、Azure プラットフォーム全体で一意の名前が必要です。
Azure の名前付け規則
Azure の名前付け規則は、リソースの種類によって異なります。 混乱や遅延を避けるために、各リソースの種類の名前付け規則を理解することが重要です。
たとえば、リソースの種類ごとにリソース名の長さの制限が異なる場合があります。 名前付けコンポーネントの長さを短くするか、名前を省略して、リソース名の長さの制限を超えないようにすることをお勧めします。
名前付け規則を作成するときに、リソース名に反映する重要な情報を特定します。 リソースの種類ごとに異なる情報が関連します。
推奨事項:
- 名前付け規則と制限を理解する: 名前付け規則を開発するときは、名前のコンテキストとそのスコープと長さの制限を分散することが重要です。 詳細については、「Azure リソースの名前付け規則と制限事項」を参照してください。
- 推奨されるリソースの省略形を使用: 省略形は、リソース名を長さの制限内に保持し、読みやすくするのに役立ちます。 詳細については、「Azure リソースの種類推奨される省略形」を参照してください。
- VMの名前付けの一貫性を検討してください。Azure で VM を使用している場合は、Azure の VM 名が VM の許可された NetBIOS 名よりも長くなる可能性がある場合でも、名前の一貫性を保つことをお勧めします。 詳細およびその他の制限については、「Active Directory のコンピューター、ドメイン、サイト、OU の名前付け規則 - コンピューター名を参照してください。
- Azure Naming Toolを使用する: Azure Naming Tool は、名前付け規則に基づいて Azure リソースの名前を生成するのに役立つツールです。 詳細については、「Azure Naming Tool」を参照してください。
名前の例
名前付け規則を定義するときは、次の例を検討してください。 これらの例は、この記事で説明する名前付けコンポーネントと考慮事項に基づいています。
次の例は、名前付け規則を視覚化することを目的としていますが、実際の規則は組織によって異なります。 その他の例については、Azure 名前付けツールのを参照してください。
名前の例: 一般
資産の種類 | スコープ | 書式と例 |
---|---|---|
管理グループ | 事業単位および/または 環境 |
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 |
名前の例: ネットワーク
資産の種類 | スコープ | 書式と例 |
---|---|---|
仮想ネットワーク | リソース グループ | 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
資産の種類 | スコープ | 書式と例 |
---|---|---|
仮想マシン | リソース グループ | vm-<ワークロード、アプリケーション、またはプロジェクト>-<環境>-<###> vm-sql-test-001 vm-hadoop-prod-001 vm-sharepoint-dev-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 |
名前の例: データベース
資産の種類 | スコープ | 書式と例 |
---|---|---|
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 |
名前の例: ストレージ
資産の種類 | スコープ | 書式と例 |
---|---|---|
ストレージ アカウント (一般的な使用) | グローバル | <ワークロード、アプリケーション、またはプロジェクト><###> stnavigatordata001 stemissionsoutput001 |
Azure StorSimple | グローバル | ssimp<ワークロード、アプリケーション、またはプロジェクト><環境> ssimpnavigatorprod ssimpemissionsdev |
Azure Container Registry | グローバル | cr<ワークロード、アプリケーション、またはプロジェクト><環境><###> crnavigatorprod001 |
名前の例: AI と機械学習
資産の種類 | スコープ | 書式と例 |
---|---|---|
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
資産の種類 | スコープ | 書式と例 |
---|---|---|
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 Hub | グローバル | iot-<ワークロード、アプリケーション、またはプロジェクト>-<環境> iot-navigator-prod iot-emissions-dev |
名前の例: 統合
資産の種類 | スコープ | 書式と例 |
---|---|---|
Service Bus 名前空間 | グローバル | sbns-<ワークロード、アプリケーション、またはプロジェクト>-<環境>.servicebus.windows.net sbns-navigator-prod.servicebus.windows.net sbns-emissions-dev.servicebus.windows.net |
Service Bus キュー | サービスバス | sbq-<ワークロード、アプリケーション、またはプロジェクト> sbq-navigator |
Service Bus トピック | サービスバス | sbt-<ワークロード、アプリケーション、またはプロジェクト> sbt-navigator |
次の手順
次の手順として、Azure リソースの推奨される省略形を確認することをお勧めします。 省略形は、リソース名を長さの制限内に保持し、読みやすくするのに役立ちます。