- githubのAzure Resource Manager テンプレートをカスタマイズしてみた - 仮想ネットワーク
- githubのAzure Resource Manager テンプレートをカスタマイズしてみた - 仮想ネットワークにGatewayサブネットとVPN Gatewayを追加
をマージして、仮想ネットワーク、GatewayサブネットとVPN Gatewayを一度に作るJSONコードも書いてみました。
{
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
"vnetName": {
"type": "string",
"defaultValue": "ArmVNet1",
"metadata": {
"description": "VNet name"
}
},
"vnetAddressPrefix": {
"type": "string",
"defaultValue": "10.0.0.0/16",
"metadata": {
"description": "Address prefix"
}
},
"subnet1Name": {
"type": "string",
"defaultValue": "Subnet1",
"metadata": {
"description": "Subnet 1 Name"
}
},"subnet1Prefix": {
"type": "string",
"defaultValue": "10.0.1.0/24",
"metadata": {
"description": "Subnet 1 Prefix"
}
},
"subnet2Name": {
"type": "string",
"defaultValue": "Subnet2",
"metadata": {
"description": "Subnet 2 Name"
}
},
"subnet2Prefix": {
"type": "string",
"defaultValue": "10.0.2.0/24",
"metadata": {
"description": "Subnet 2 Prefix"
}
},
"gatewaySubnetName": {
"type": "string",
"defaultValue": "GatewaySubnet",
"metadata": {
"description": "Gateway subnet namee"
}
},
"gatewaySubnetPrefix": {
"type": "string",
"defaultValue": "10.0.0.0/26",
"metadata": {
"description": "CIDR block for gateway subnet, subset of azureVNetAddressPrefix address space"
}
},
"gatewayName": {
"type": "string",
"defaultValue": "armAzureGateway01",
"metadata": {
"description": "Arbitrary name for the new gateway"
}
},
"gatewaySku": {
"type": "string",
"metadata": {
"description": "The Sku of the Gateway. This must be one of Basic, Standard or HighPerformance."
},
"defaultValue": "Basic",
"allowedValues": [
"Basic",
"Standard",
"HighPerformance"
]
},
"vpnType": {
"type": "string",
"metadata": {
"description": "Route based as a Dynamic Routing or policy based as a Static Routing"
},
"defaultValue": "PolicyBased",
"allowedValues": [
"RouteBased",
"PolicyBased"
]
},
"sharedKey": {
"type": "securestring",
"metadata": {
"description": "Shared key (PSK) for IPSec tunnel"
}
},
"connectionName": {
"type": "string",
"defaultValue": "Azure2Local-01",
"metadata": {
"description": "Arbitrary name for the new connection between Azure VNet and other network"
}
},
"localGatewayName": {
"type": "string",
"defaultValue": "localGateway01",
"metadata": {
"description": "Arbitrary name for gateway resource representing "
}
},
"localGatewayIpAddress": {
"type": "string",
"defaultValue": "1.1.1.1",
"metadata": {
"description": "Public IP of your local Gateway"
}
},
"localAddressPrefix": {
"type": "string",
"defaultValue": "192.168.0.0/16",
"metadata": {
"description": "CIDR block representing the address space of the OnPremise VPN network's Subnet"
}
}
},
"variables": {
"vnetID": "[resourceId('Microsoft.Network/virtualNetworks', parameters('vnetName'))]",
"gatewaySubnetRef": "[concat(variables('vnetID'),'/subnets/',parameters('gatewaySubnetName'))]",
"virtualNetworkGatewayID": "[resourceId('Microsoft.Network/virtualNetworkGateways', parameters('gatewayName'))]",
"localNetworkGatewayID": "[resourceId('Microsoft.Network/localNetworkGateways', parameters('localGatewayName'))]",
"gatewayPublicIPName": "[concat(parameters('gatewayName'),'-PublicIP')]",
"publicIPAddressID": "[resourceId('Microsoft.Network/publicIPAddresses',variables('gatewayPublicIPName'))]",
"apiversion": "2015-06-15"
},
"resources": [
{
"apiVersion": "[variables('apiversion')]",
"type": "Microsoft.Network/localNetworkGateways",
"name": "[parameters('localGatewayName')]",
"location": "[resourceGroup().location]",
"properties": {
"localNetworkAddressSpace": {
"addressPrefixes": [
"[parameters('localAddressPrefix')]"
]
},
"gatewayIpAddress": "[parameters('localGatewayIpAddress')]"
}
},
{
"apiVersion": "[variables('apiversion')]",
"name": "[parameters('connectionName')]",
"type": "Microsoft.Network/connections",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Network/virtualNetworkGateways/', parameters('gatewayName'))]",
"[concat('Microsoft.Network/localNetworkGateways/', parameters('localGatewayName'))]"
],
"properties": {
"virtualNetworkGateway1": {
"id": "[variables('virtualNetworkGatewayID')]"
},
"localNetworkGateway2": {
"id": "[variables('localNetworkGatewayID')]"
},
"connectionType": "IPsec",
"routingWeight": 10,
"sharedKey": "[parameters('sharedKey')]"
}
},
{
"apiVersion": "[variables('apiVersion')]",
"type": "Microsoft.Network/virtualNetworks",
"name": "[parameters('vnetName')]",
"location": "[resourceGroup().location]",
"properties": {
"addressSpace": {
"addressPrefixes": [
"[parameters('vnetAddressPrefix')]"
]
},
"subnets": [
{
"name": "[parameters('gatewaySubnetName')]",
"properties": {
"addressPrefix": "[parameters('gatewaySubnetPrefix')]"
}
},
{
"name": "[parameters('subnet1Name')]",
"properties": {
"addressPrefix": "[parameters('subnet1Prefix')]"
}
},
{
"name": "[parameters('subnet2Name')]",
"properties": {
"addressPrefix": "[parameters('subnet2Prefix')]"
}
}
]
}
},
{
"apiVersion": "[variables('apiversion')]",
"type": "Microsoft.Network/publicIPAddresses",
"name": "[variables('gatewayPublicIPName')]",
"location": "[resourceGroup().location]",
"properties": {
"publicIPAllocationMethod": "Dynamic"
}
},
{
"apiVersion": "[variables('apiversion')]",
"type": "Microsoft.Network/virtualNetworkGateways",
"name": "[parameters('gatewayName')]",
"location": "[resourceGroup().location]",
"dependsOn": [
"[concat('Microsoft.Network/publicIPAddresses/', variables('gatewayPublicIPName'))]",
"[concat('Microsoft.Network/virtualNetworks/', parameters('vnetName'))]"
],
"properties": {
"ipConfigurations": [
{
"properties": {
"privateIPAllocationMethod": "Dynamic",
"subnet": {
"id": "[variables('gatewaySubnetRef')]"
},
"publicIPAddress": {
"id": "[variables('publicIPAddressID')]"
}
},
"name": "vnetGatewayConfig"
}
],
"sku": {
"name": "[parameters('gatewaySku')]",
"tier": "[parameters('gatewaySku')]"
},
"gatewayType": "Vpn",
"vpnType": "[parameters('vpnType')]",
"enableBgp": "false"
}
}
]
}
0 件のコメント:
コメントを投稿