ARM テンプレートでのリソースの宣言
Azure Resource Manager テンプレート (ARM テンプレート) を使用してリソースをデプロイするには、リソース宣言を追加します。 JSON テンプレート内で resources
配列を使用します。
リソースの種類とバージョンの設定
テンプレートにリソースを追加する際には、まずリソースの種類と API バージョンを設定します。 これらの値によって、リソースで使用できるその他のプロパティが決まります。
次の例は、ストレージ アカウントのリソースの種類と API バージョンを設定する方法を示したものです。 この例は、リソース宣言の内容を完全に示したものではありません。
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
...
}
]
リソース名を設定する
各リソースには名前があります。 リソース名を設定する際には、リソース名の規則と制限事項に注意してください。
"parameters": {
"storageAccountName": {
"type": "string",
"minLength": 3,
"maxLength": 24
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
...
}
]
場所の設定
多くのリソースには場所が必要です。 リソースに場所が必要かどうかは、Intellisense またはテンプレート参照を使用して判断できます。 次の例では、ストレージ アカウントに使用される location パラメーターを追加しています。
"parameters": {
"storageAccountName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
...
}
]
詳細については、「ARM テンプレートでリソースの場所を設定する」を参照してください。
タグを設定する
デプロイ時には、リソースにタグを適用することができます。 タグは、デプロイされたリソースを論理的に整理するために役立ちます。 タグを指定するさまざまな方法の例については、ARM テンプレートのタグに関する記事を参照してください。
リソース固有のプロパティを設定する
上記のプロパティは、ほとんどの種類のリソースに共通するものです。 これらの値を設定した後、デプロイするリソースの種類に固有のプロパティを設定する必要があります。
使用可能なプロパティと必要なプロパティを特定するには、Intellisense またはテンプレート参照を使用します。 次の例では、ストレージ アカウントの残りのプロパティを設定しています。
{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"storageAccountName": {
"type": "string",
"minLength": 3,
"maxLength": 24
},
"location": {
"type": "string",
"defaultValue": "[resourceGroup().location]"
}
},
"functions": [],
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-06-01",
"name": "[parameters('storageAccountName')]",
"location": "[parameters('location')]",
"sku": {
"name": "Standard_LRS",
"tier": "Standard"
},
"kind": "StorageV2",
"properties": {
"accessTier": "Hot"
}
}
]
}
次のステップ
- リソースを条件付きでデプロイするには、「ARM テンプレートでの条件付きデプロイ」を参照してください。
- リソースの依存関係を設定するには、「ARM テンプレートでのリソース デプロイ順序の定義」を参照してください。