Azure リソースについて
すべての Azure リソースは、特定の 種類でデプロイされます。 この型は、リソースの種類を識別します。 リソース ID は、Azure がリソースの特定のインスタンスを識別する方法です。 リソースの種類とリソース ID の構造を理解しておくことが重要です。これは、Bicep テンプレートを記述するときに重要な情報を提供するためです。
リソース プロバイダー
Azure Resource Manager は、Resource Manager API と Azure Resource Manager (ARM) テンプレートを使用してさまざまな リソース プロバイダー を管理できるように設計されています。 リソース プロバイダーは、通常、1 つまたは複数の Azure サービスに関連するリソースの種類を論理的にグループ化したものです。 リソース プロバイダーの例を次に示します。
-
Microsoft.Compute
は、仮想マシンに使用されます。 -
Microsoft.Network
は、仮想ネットワーク、ネットワーク セキュリティ グループ、ルート テーブルなどのネットワーク リソースに使用されます。 -
Microsoft.Cache
は、Azure Cache for Redis に使用されます。 -
Microsoft.Sql
は、Azure SQL に使用されます。 -
Microsoft.Web
は、Azure App Service と Azure Functions に使用されます。 -
Microsoft.DocumentDB
は、Azure Cosmos DB に使用されます。
注
リソース プロバイダー名とリソースの種類名が、使用している Azure サービスの名前と一致しない場合や、古い製品またはリソース名である場合があります。 たとえば、Log Analytics ワークスペースのリソース プロバイダーは Microsoft.OperationalInsights
。
各リソースの種類の ARM テンプレート構文のドキュメントは、リソース プロバイダーに従って編成されています。
リソース プロバイダーが公開するリソースの種類を使用するには、サブスクリプションに対してリソース プロバイダーを登録する必要があります。 登録は通常、1 回限りのプロセスです。 Bicep デプロイを送信すると、Resource Manager によって、ファイルで使用されるリソース プロバイダーが自動的に登録されます。 Azure portal、Azure CLI、または Azure PowerShell を使用してリソース プロバイダーを登録 することもできます。
リソースの種類
リソース プロバイダーは、複数の異なる種類を公開します。 各リソースの種類には、リソースと実行できる操作を定義する独自のプロパティと動作のセットがあります。 たとえば、 Microsoft.Web
リソース プロバイダー内には、次のようないくつかのリソースの種類があります。
-
sites
。 App Service アプリケーションまたは Azure Functions アプリケーションを定義します。 プロパティには、アプリケーションが使用する環境変数と、アプリケーションにアクセスするためにサポートされているプロトコル (HTTP および HTTPS) が含まれます。 -
serverFarms
。 アプリケーションを実行するインフラストラクチャである App Service プランを定義します。 プロパティには、サーバーのサイズと SKU、デプロイするプランのインスタンスの数が含まれます。
Bicep でリソースを定義するときは、リソースの種類と、Bicep でリソースに使用するリソース プロバイダーの API のバージョンを指定する必要があります。 この情報は、Bicep ツールと Resource Manager がリソース定義で提供する必要があるプロパティを決定するのに役立ちます。
ヒント
リソースごとに最新の API バージョンを使用することをお勧めします。 Azure サービスの新機能は、新しい API バージョンでのみ使用できる場合があります。
リソース プロバイダーと型名を組み合わせて、完全修飾リソースの種類名を作成します。 完全修飾型名は、リソース プロバイダー名、スラッシュ (/
)、およびリソースの種類で構成されます。 たとえば、ストレージ アカウントの完全修飾型名は Microsoft.Storage/storageAccounts
。 このインスタンスでは、そのリソース プロバイダー名が Microsoft.Storage
され、リソースの種類が storageAccounts
。
リソース ID
すべての Azure リソースには一意のリソース ID があります。 この ID には、同じ種類の他のリソース、または同じ名前を共有する可能性のある異なるリソースからリソースを明確に区別するのに役立つ情報が含まれます。 ストレージ アカウントのリソース ID は次のようになります。
/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ToyDevelopment/providers/Microsoft.Storage/storageAccounts/secrettoys
同じ情報の視覚的な表現を次に示します。
リソース ID に、リソースの種類とデプロイした特定のリソースに関する情報が含まれていることを確認できます。 このリソース ID の例のコンポーネントの内訳を次に示します。
-
subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
は、リソースが IDaaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e
を持つ Azure サブスクリプションにあることを示します。 -
resourceGroups/ToyDevelopment
は、リソースがToyDevelopment
という名前のリソース グループ内にあることを示します。 -
providers/Microsoft.Storage
は、リソースがMicrosoft.Storage
リソース プロバイダーの型を使用していることを示します。 -
storageAccounts
はリソースの種類です。 -
secrettoys
はストレージ アカウントの名前です。
ヒント
シンボリック名と id
プロパティを使用して、Bicep 内の任意のリソースの ID にアクセスできます。 たとえば、シンボリック名が toyDesignDocumentsStorageAccount
ストレージ アカウントを定義する場合は、式 toyDesignDocumentsStorageAccount.id
を使用してそのリソース ID にアクセスできます。
リソースの種類とリソース ID の基本を理解したら、子リソースについて説明します。