2016-07-08 23 views
0

ここで説明した内容は、ARMテンプレートのhttps://azure.microsoft.com/en-us/documentation/articles/web-sites-integrate-with-vnetですべて完了しました。 1つのことを除いて - 既存のVNETとのVNET統合を可能にする。Azure ARMテンプレートで新しいリソースを作成するには?

これはARMテンプレートで行うことができますか? ありがとう!

+0

ことができます。

{ "id": "/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Web/sites/<web app>/virtualNetworkConnections/<VNet>", "name": "<VNet>", "type": "Microsoft.Web/sites/virtualNetworkConnections", "location": "<Location>", "tags": null, "properties": { "vnetResourceId": "/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<VNet>" "certThumbprint": "<Thumbprint>", "certBlob": "<cert>", "routes": null, "resyncRequired": false, "dnsServers": null } } 

いくつか自動的に生成された値をスキップ、あなたは私が書くものに非常に似ているテンプレートを取得しますあなたはテンプレートを共有するので、私はやり直す必要はありませんか? –

+0

私はできればいいと思うが、これはクライアントのためであり、しかも多くのパラメータと変数で大きくなっている。残念だが、それはできない。 – alvipeo

答えて

4

以下は、参考になるサンプルテンプレートです。ここでは、と注意しなければならない3つの事がある

{ 
    "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", 
    "contentVersion": "1.0.0.0", 
    "parameters": { 
     "hostingPlanName": { 
     "type": "string", 
     "minLength": 1, 
     "metadata": { 
      "description": "Name of the hosting plan to use in Azure." 
     } 
     }, 
     "webSiteName": { 
     "type": "string", 
     "minLength": 1, 
     "metadata": { 
      "description": "Name of the Azure Web app to create." 
     } 
     }, 
     "vnetName": { 
     "type": "string", 
     "minLength": 1, 
     "metadata": { 
      "description": "Name of an existing Azure VNet which has a Gateway Subnet already, and is in the resource group you are going to deploy." 
     } 
     }, 
     "skuName": { 
     "type": "string", 
     "defaultValue": "S1", 
     "allowedValues": [ 
      "S1", 
      "S2", 
      "S3", 
      "P1", 
      "P2", 
      "P3", 
      "P4" 
     ], 
     "metadata": { 
      "description": "Describes plan's pricing tier and instance size. Check details at https://azure.microsoft.com/en-us/pricing/details/app-service/" 
     } 
     }, 
     "skuCapacity": { 
     "type": "int", 
     "defaultValue": 1, 
     "minValue": 1, 
     "metadata": { 
      "description": "Describes plan's instance count" 
     } 
     } 
    }, 
    "resources": [ 
     { 
     "apiVersion": "2015-08-01", 
     "name": "[parameters('hostingPlanName')]", 
     "type": "Microsoft.Web/serverfarms", 
     "location": "[resourceGroup().location]", 
     "tags": { 
      "displayName": "HostingPlan" 
     }, 
     "sku": { 
      "name": "[parameters('skuName')]", 
      "capacity": "[parameters('skuCapacity')]" 
     }, 
     "properties": { 
      "name": "[parameters('hostingPlanName')]" 
     } 
     }, 
     { 
     "apiVersion": "2015-08-01", 
     "name": "[parameters('webSiteName')]", 
     "type": "Microsoft.Web/sites", 
     "location": "[resourceGroup().location]", 
     "tags": { 
      "[concat('hidden-related:', resourceGroup().id, '/providers/Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]": "Resource", 
      "displayName": "Website" 
     }, 
     "dependsOn": [ 
      "[concat('Microsoft.Web/serverfarms/', parameters('hostingPlanName'))]" 
     ], 
     "properties": { 
      "name": "[parameters('webSiteName')]", 
      "serverFarmId": "[resourceId('Microsoft.Web/serverfarms', parameters('hostingPlanName'))]" 
     }, 
     "resources": [ 
      { 
       "apiVersion": "2015-08-01", 
       "name": "web", 
       "type": "config", 
       "dependsOn": [ 
        "[concat('Microsoft.Web/sites/', parameters('webSiteName'))]" 
       ], 
       "properties": { 
        "pythonVersion": "3.4" 
       } 
      }, 
      { 
       "apiVersion": "2015-08-01", 
       "name": "[parameters('vnetName')]", 
       "type": "virtualNetworkConnections", 
       "location": "[resourceGroup().location]", 
       "dependsOn": [ 
        "[concat('Microsoft.Web/sites/', parameters('webSiteName'))]" 
       ], 
       "properties": { 
        "vnetResourceId": "[concat(resourceGroup().id, '/providers/Microsoft.Network/virtualNetworks/', parameters('vnetName'))]" 
       } 
      } 
     ] 
     } 
    ] 
} 

this quickstart sample in GitHubから変更されています。

  1. テンプレートはpython Webアプリケーションテンプレートで始まり、 "Microsoft.Web/sites/virtualNetworkConnections"リソースを追加します。したがって、他のプログラミング言語を使用している場合は、他のテンプレートから始めることができます。

  2. 既存のVNetは、配備するのと同じリソースグループ内にある必要があります。使用しているVNetが同じリソースグループに属していない場合は、「Microsoft.Web/sites/virtualNetworkConnections」の「プロパティ」にある「vnetResourceId」を変更する必要があります。

  3. 使用しているVNetには、すでにポイントツーサイトアドレスのゲートウェイが必要です。そうしないと、WebアプリケーションをVNetに統合できなくなります。詳細については、更新Configure a Point-to-Site connection to a virtual network using PowerShell

を参照してください。私は、この情報を取得する方法について、よく、これについては多くがネット上にありません。このテンプレートは、PowerShellソリューションとARMテンプレートに関する知識に基づいて構築されています。 PowerShellソリューションはthis articleで入手できます。 ARMテンプレートを取得するもう1つの方法は、これらのリソースを1つのリソースグループに作成し、ポータル内のリソースグループのテンプレートをエクスポートすることです。しかし、リソースタイプ "Microsoft.Web/sites/virtualNetworkConnections"はまだサポートされていないため、この場合は動作しません。ただし、PowerShellコマンドGet-AzureRmResourceとオプション-debugを使用してREST APIを調べることはできます。

Get-AzureRmResource -ResourceGroupName <resource group> -ResourceType Microsoft.Web/sites/virtualNetworkConnections -Name <web app>/<VNet> -debug -ApiVersion 2015-08-01 

次のREST APIが表示されます。

ウリ:

https://management.azure.com/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Web/sites/<web app>/virtualNetworkConnections/<VNet>?api-version=2015-08-01 

ボディ:

{ 
    "name": "<VNet>", 
    "type": "Microsoft.Web/sites/virtualNetworkConnections", 
    "location": "<Location>", 
    "properties": { 
    "vnetResourceId": "/subscriptions/<subscription id>/resourceGroups/<resource group>/providers/Microsoft.Network/virtualNetworks/<VNet>" 
    } 
} 
+0

この情報をどのように入手したか説明してもらえますか?リソースエクスプローラ?このスキーマはどこにありますか?ありがとう! – alvipeo

+0

私のアップデートをご覧ください。 –

+0

更新ありがとうございます!私は-debugでこのトリックについて知らなかった!良いですね! – alvipeo

関連する問題