Visual Studio での Azure リソース グループの作成とデプロイCreating and deploying Azure resource groups through Visual Studio

Visual Studio では、インフラストラクチャとコードを Azure にデプロイするプロジェクトを作成することができます。With Visual Studio, you can create a project that deploys your infrastructure and code to Azure. たとえば、Web ホスト、Web サイト、および Web サイトのコードをデプロイできます。For example, you can deploy the web host, web site, and code for the web site. Visual Studio では、一般的なシナリオのデプロイに適したさまざまなスターター テンプレートを多数用意しています。Visual Studio provides many different starter templates for deploying common scenarios. この記事では、Web アプリをデプロイします。In this article, you deploy a web app.

この記事では、Azure の開発および ASP.NETのワークロードがインストールされている Visual Studio 2019 以降を使用する方法について説明します。This article shows how to use Visual Studio 2019 or later with the Azure development and ASP.NET workloads installed. Visual Studio 2017 を使用しても、操作内容はほとんど同じです。If you use Visual Studio 2017, your experience is largely the same.

Azure リソース グループ プロジェクトを作成するCreate Azure Resource Group project

このセクションでは、Web アプリ テンプレートを使用して Azure リソース グループ プロジェクトを作成します。In this section, you create an Azure Resource Group project with a Web app template.

  1. Visual Studio で、 [ファイル][新規作成][プロジェクト] の順に選択します。In Visual Studio, choose File, New, and Project. [Azure リソース グループ] プロジェクト テンプレートを選択し、 [次へ] を選択します。Select the Azure Resource Group project template and Next.

    Create project

  2. プロジェクトに名前を付けます。Give your project a name. 他の既定の設定はおそらく問題ありませんが、お使いの環境でそれらが機能するように確認してください。The other default settings are probably fine, but review them to make they work for your environment. 完了したら、 [作成] を選択します。When done, select Create.

    Create project

  3. Azure リソース マネージャーにデプロイするテンプレートを選択します。Choose the template that you want to deploy to Azure Resource Manager. デプロイするプロジェクトの種類に応じて、さまざまなオプションがあります。Notice there are many different options based on the type of project you wish to deploy. この記事では、 [Web アプリ] テンプレートを選択し、 [OK] を選択します。For this article, choose the Web app template and OK.

    テンプレートの選択

    選択したテンプレートは出発点にすぎません。リソースを追加したり削除したりしてシナリオの要件を満たすことができます。The template you pick is just a starting point; you can add and remove resources to fulfill your scenario.

  4. Visual Studio で、Web アプリ用のリソース グループ デプロイ プロジェクトが作成されます。Visual Studio creates a resource group deployment project for the web app. そのプロジェクトのファイルを確認するには、デプロイ プロジェクト内のノードを表示します。To see the files for your project, look at the node in the deployment project.

    ノードの表示

    [Web アプリ] テンプレートを選択したため、次のファイルが表示されます。Since you chose the Web app template, you see the following files:

    ファイル名File name 説明Description
    Deploy-AzureResourceGroup.ps1Deploy-AzureResourceGroup.ps1 Azure Resource Manager にデプロイするために PowerShell コマンドを実行する PowerShell スクリプト。A PowerShell script that runs PowerShell commands to deploy to Azure Resource Manager. Visual Studio では、この PowerShell スクリプトを使用してテンプレートをデプロイします。Visual Studio uses this PowerShell script to deploy your template.
    WebSite.jsonWebSite.json Azure にデプロイするインフラストラクチャと、デプロイ中に指定できるパラメーターを定義した Resource Manager テンプレートです。The Resource Manager template that defines the infrastructure you want deploy to Azure, and the parameters you can provide during deployment. Resource Manager によってリソースが正しい順序でデプロイされるように、リソース間の依存性も定義されます。It also defines the dependencies between the resources so Resource Manager deploys the resources in the correct order.
    WebSite.parameters.jsonWebSite.parameters.json テンプレートで必要な値を含むパラメーター ファイルです。A parameters file that has values needed by the template. パラメーターの値を渡すことによって各デプロイをカスタマイズします。You pass in parameter values to customize each deployment.

    すべてのリソース グループ デプロイ プロジェクトに、上記の基本的なファイルが含まれます。All resource group deployment projects have these basic files. 他のプロジェクトには、他の機能をサポートするために追加のファイルが含まれることがあります。Other projects may have additional files to support other functionality.

Resource Manager テンプレートをカスタマイズするCustomize Resource Manager template

デプロイ プロジェクトをカスタマイズするには、デプロイするリソースが記述されている Resource Manager テンプレートを変更します。You can customize a deployment project by modifying the Resource Manager template that describes the resources you want to deploy. リソース マネージャーのテンプレートの要素の詳細については、「 Azure リソース マネージャーのテンプレートの作成」を参照してください。To learn about the elements of the Resource Manager template, see Authoring Azure Resource Manager templates.

  1. テンプレートで作業するには、WebSite.json を開きます。To work on your template, open WebSite.json.

  2. Visual Studio エディターでは、Resource Manager テンプレートの編集に役立つツールを提供しています。The Visual Studio editor provides tools to assist you with editing the Resource Manager template. [JSON アウトライン] ウィンドウを使用すると、テンプレートで定義されている要素を簡単に確認できます。The JSON Outline window makes it easy to see the elements defined in your template.

    [JSON アウトライン] の表示

  3. アウトラインで要素を選択して、テンプレートのその部分に移動します。Select an element in the outline to go to that part of the template.

    JSON 内の移動

  4. リソースを追加するには、[JSON アウトライン] ウィンドウの上部にある [リソースの追加] ボタンを選択するか、または [リソース] を右クリックして [新しいリソースの追加] を選択します。You can add a resource by either selecting the Add Resource button at the top of the JSON Outline window, or by right-clicking resources and selecting Add New Resource.

    リソースの追加

  5. [ストレージ アカウント] を選択し、名前を付けます。Select Storage Account and give it a name. 数字と小文字のみで構成された 11 文字未満の名前を指定します。Provide a name that is no more than 11 characters, and only contains numbers and lower-case letters.

    ストレージを追加する

  6. リソースだけでなく、ストレージ アカウントの種類を示すパラメーターとストレージ アカウントの名前を示す変数も追加されています。Notice that not only was the resource added, but also a parameter for the type storage account, and a variable for the name of the storage account.

    アウトラインの表示

  7. ストレージ アカウントの種類を表すパラメーターは、使用できる種類と既定の種類があらかじめ定義されています。The parameter for the type of storage account is pre-defined with allowed types and a default type. これらの値は、そのまま使用することも、シナリオに合わせて編集することもできます。You can leave these values or edit them for your scenario. このテンプレートを使用して Premium_LRS ストレージ アカウントをデプロイするのをどのユーザーにも許可しない場合は、許可する種類からそれを削除します。If you don't want anyone to deploy a Premium_LRS storage account through this template, remove it from the allowed types.

    "demoaccountType": {
      "type": "string",
      "defaultValue": "Standard_LRS",
      "allowedValues": [
        "Standard_LRS",
        "Standard_ZRS",
        "Standard_GRS",
        "Standard_RAGRS"
      ]
    }
    
  8. Visual Studio では、テンプレートの編集時に使用できるプロパティがわかるように、Intellisense を提供しています。Visual Studio also provides intellisense to help you understand the properties that are available when editing the template. たとえば、App Service プランのプロパティを編集するには、HostingPlan リソースに移動し、properties の値を追加します。For example, to edit the properties for your App Service plan, navigate to the HostingPlan resource, and add a value for the properties. Intellisense では、使用できる値を示し、その値に関する説明を提供します。Notice that intellisense shows the available values and provides a description of that value.

    IntelliSense の表示

    numberOfWorkers を 1 に設定し、ファイルを保存することができます。You can set numberOfWorkers to 1, and save the file.

    "properties": {
      "name": "[parameters('hostingPlanName')]",
      "numberOfWorkers": 1
    }
    
  9. WebSite.parameters.json ファイルを開きます。Open the WebSite.parameters.json file. パラメーター ファイルを使用して、デプロイされるリソースをカスタマイズする値をデプロイ中に渡します。You use the parameters file to pass in values during deployment that customize the resource being deployed. ホスティング プランに名前を指定し、そのファイルを保存します。Give the hosting plan a name, and save the file.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hostingPlanName": {
          "value": "demoHostPlan"
        }
      }
    }
    

Azure にプロジェクトをデプロイするDeploy project to Azure

これで、プロジェクトをリソース グループにデプロイする準備が整いました。You're now ready to deploy your project to a resource group.

既定では、このプロジェクトの PowerShell スクリプト (Deploy-AzureResourceGroup.ps1) は、AzureRM モジュールを使用します。By default, the PowerShell script (Deploy-AzureResourceGroup.ps1) in the project uses the AzureRM module. AzureRM モジュールがインストールされたままで、引き続きそれを使用する場合は、この既定のスクリプトを使用できます。If you still have the AzureRM module installed and want to continue using it, you can use this default script. このスクリプトを使用すると、Visual Studio のインターフェイスを使用してソリューションをデプロイできます。With this script, you can use the Visual Studio interface to deploy your solution.

ただし、新しい Az モジュールに移行した場合は、プロジェクトに新しいスクリプトを追加する必要があります。However, if you've migrated to the new Az module, you need to add a new script to your project. Az モジュールを使用するスクリプトを追加するには、Deploy-AzTemplate.ps1 スクリプトをコピーしてプロジェクトに追加します。To add a script that uses the Az module, copy the Deploy-AzTemplate.ps1 script and add it to your project. このスクリプトをデプロイに使用するには、Visual Studio のデプロイ インターフェイスを使用するのではなく、PowerShell コンソールから実行する必要があります。To use this script for deployment, you must run it from a PowerShell console, rather than using Visual Studio's deployment interface.

この記事では、両方の方法を紹介します。Both approaches are shown in this article. この記事では、既定のスクリプトを AzureRM モジュール スクリプトと呼び、新しいスクリプトを Az モジュール スクリプトと呼びます。This article refers to the default script as the AzureRM module script, and the new script as the Az module script.

Az モジュール スクリプトAz module script

Az モジュール スクリプトの場合は、PowerShell コンソールを開き、以下を実行します。For the Az module script, open a PowerShell console and run:

.\Deploy-AzTemplate.ps1 -ArtifactStagingDirectory . -Location centralus -TemplateFile WebSite.json -TemplateParametersFile WebSite.parameters.json

AzureRM モジュール スクリプトAzureRM module script

AzureRM モジュール スクリプトの場合は、Visual Studio を使用します。For the AzureRM module script, use Visual Studio:

  1. デプロイ プロジェクト ノードのショートカット メニューで [デプロイ] > [New (新規)] の順に選択します。On the shortcut menu of the deployment project node, choose Deploy > New.

    新しいデプロイ メニュー項目

  2. [リソース グループに配置する] ダイアログ ボックスが表示されます。The Deploy to Resource Group dialog box appears. [リソース グループ] ボックスの一覧で、既存のリソース グループを選択するか、新しいリソース グループを作成します。In the Resource group dropdown box, choose an existing resource group or create a new one. [デプロイ] を選択します。Select Deploy.

    [リソース グループに配置する] ダイアログ ボックス

  3. 出力 ウィンドウに、デプロイの進行状況が表示されます。In the Output windows, you see the status of the deployment. デプロイが完了すると、最後に、デプロイが成功したことを示す次のようなメッセージが表示されます。When the deployment has finished, the last message indicates a successful deployment with something similar to:

    18:00:58 - Successfully deployed template 'website.json' to resource group 'ExampleAppDeploy'.
    

デプロイされているリソースを表示するView deployed resources

結果を確認しましょう。Let's check the results.

  1. ブラウザーで、 Azure Portal を開き、アカウントにサインインします。In a browser, open the Azure portal and sign in to your account. リソース グループの内容を確認するには、 [リソース グループ] を選択し、デプロイしたリソース グループを選択します。To see the resource group, select Resource groups and the resource group you deployed to.

  2. デプロイ済みのすべてのリソースが表示されます。You see all the deployed resources. ストレージ アカウントの名前が、そのリソースを追加したときに指定したものとまったく同じにはならないことに注意してください。Notice that the name of the storage account isn't exactly what you specified when adding that resource. ストレージ アカウントは一意である必要があります。The storage account must be unique. テンプレートによって、指定した名前に自動的に文字列が追加され、一意の名前が作成されます。The template automatically adds a string of characters to the name you provided to create a unique name.

    リソースの表示

プロジェクトにコードを追加するAdd code to project

この時点で、アプリ用のインフラストラクチャはデプロイ済みですが、実際のコードはプロジェクトでデプロイされていません。At this point, you've deployed the infrastructure for your app, but there's no actual code deployed with the project.

  1. Visual Studio ソリューションにプロジェクトを追加します。Add a project to your Visual Studio solution. ソリューションを右クリックして、 [追加] > [新しいプロジェクト] の順に選択します。Right-click the solution, and select Add > New Project.

    プロジェクトの追加

  2. ASP.NET Core Web アプリケーションを追加します。Add an ASP.NET Core Web Application.

    Web アプリの追加

  3. Web アプリに名前を付け、 [作成] を選択します。Give your web app a name, and select Create.

    Web アプリの名前の指定

  4. [Web アプリケーション] を選択し、 [作成] を選択します。Select Web Application and Create.

    [Web アプリケーション] を選択する

  5. Visual Studio によって Web アプリが作成されると、ソリューションに両方のプロジェクトが表示されます。After Visual Studio creates your web app, you see both projects in the solution.

    プロジェクトの表示

  6. 次に、リソース グループ プロジェクトで新しいプロジェクトが認識されていることを確認する必要があります。Now, you need to make sure your resource group project is aware of the new project. リソース グループ プロジェクト (ExampleAppDeploy) に戻ります。Go back to your resource group project (ExampleAppDeploy). [参照] を右クリックし、 [参照の追加] を選択します。Right-click References and select Add Reference.

    参照の追加

  7. 作成した Web アプリ プロジェクトを選択します。Select the web app project that you created.

    参照の追加

    参照を追加することで、リソース グループ プロジェクトに Web アプリ プロジェクトをリンクし、いくつかのプロパティを自動的に設定します。By adding a reference, you link the web app project to the resource group project, and automatically sets some properties. これらのプロパティはその参照の [プロパティ] ウィンドウに表示されます。You see these properties in the Properties window for the reference. [Include File Path](ファイル パスを含める) にはパッケージを作成するパスが含まれます。The Include File Path has the path where the package is created. フォルダー (ExampleApp) とファイル (package.zip) をメモします。Note the folder (ExampleApp) and file (package.zip). これらの値は、アプリケーションをデプロイする際にパラメーターとして指定するため、知っておく必要があります。You need to know these values because you provide them as parameters when deploying the app.

    参照の表示

  8. テンプレート (WebSite.json) に戻り、テンプレートにリソースを追加します。Go back to your template (WebSite.json) and add a resource to the template.

    リソースの追加

  9. 今回は [Web App の Web 配置] を選択します。This time select Web Deploy for Web Apps.

    Web 配置の追加

    テンプレートを保存します。Save your template.

  10. テンプレートには、新しいパラメーターがいくつか存在します。There are some new parameters in your template. それらは前の手順で追加されました。They were added in the previous step. _artifactsLocation または _artifactsLocationSasToken の値は自動的に生成されるため、指定する必要はありません。You don't need to provide values for _artifactsLocation or _artifactsLocationSasToken because those values are automatically generated. ただし、デプロイ パッケージが含まれているパスにフォルダーおよびファイル名を設定する必要があります。However, you have to set the folder and file name to the path that contains the deployment package. これらのパラメーターの名前の末尾は、PackageFolder および PackageFileName となります。The names of these parameters end with PackageFolder and PackageFileName. 名前の最初の部分は、追加した Web 配置リソースの名前です。The first part of the name is the name of the Web Deploy resource you added. この記事では、ExampleAppPackageFolder および ExampleAppPackageFileName という名前が付いています。In this article, they're named ExampleAppPackageFolder and ExampleAppPackageFileName.

    Website.parameters.json を開き、それらのパラメーターを、参照プロパティで確認した値に設定します。Open Website.parameters.json and set those parameters to the values you saw in the reference properties. ExampleAppPackageFolder をフォルダーの名前に設定します。Set ExampleAppPackageFolder to the name of the folder. ExampleAppPackageFileName を ZIP ファイルの名前に設定します。Set ExampleAppPackageFileName to the name of the zip file.

    {
      "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
      "contentVersion": "1.0.0.0",
      "parameters": {
        "hostingPlanName": {
          "value": "demoHostPlan"
        },
        "ExampleAppPackageFolder": {
          "value": "ExampleApp"
        },
        "ExampleAppPackageFileName": {
          "value": "package.zip"
        }
      }
    }
    

インフラストラクチャでコードをデプロイするDeploy code with infrastructure

プロジェクトにコードを追加したため、今回のデプロイは少し異なっています。Because you added code to the project, your deployment is a little different this time. デプロイ中に、Resource Manager からアクセスできる場所にプロジェクトの成果物をステージします。During deployment, you stage artifacts for your project to a place that Resource Manager can access. 成果物は、ストレージ アカウントにステージされます。The artifacts are staged to a storage account.

Az モジュール スクリプトAz module script

Az モジュール スクリプトを使用している場合は、テンプレートに 1 つの小さな変更を加える必要があります。There's one small change you need to make to your template if you're using the Az module script. このスクリプトにより、成果物の場所にスラッシュが追加されますが、対象のテンプレートではスラッシュが想定されていません。This script adds a slash to the artifacts location but your template doesn't expect that slash. WebSite.json を開き、MSDeploy 拡張機能のプロパティを見つけます。Open WebSite.json and find the properties for the MSDeploy extension. packageUri という名前のプロパティがあります。It has a property named packageUri. 成果物の場所とパッケージ フォルダーの間のスラッシュを削除します。Remove the slash between the artifacts location and the package folder.

次のようになります。It should look like:

"packageUri": "[concat(parameters('_artifactsLocation'), parameters('ExampleAppPackageFolder'), '/', parameters('ExampleAppPackageFileName'), parameters('_artifactsLocationSasToken'))]",

前の例では parameters('_artifactsLocation')parameters('ExampleAppPackageFolder') の間に '/', がないことに注意してください。Notice in the preceding example there is no '/', between parameters('_artifactsLocation') and parameters('ExampleAppPackageFolder').

プロジェクトをリビルドします。Rebuild the project. プロジェクトをビルドすると、デプロイする必要があるファイルがステージング フォルダーに追加されます。Building the project makes sure the files you need to deploy are added to the staging folder.

ここで、PowerShell コンソールを開き、以下を実行します。Now, open a PowerShell console and run:

.\Deploy-AzTemplate.ps1 -ArtifactStagingDirectory .\bin\Debug\staging\ExampleAppDeploy -Location centralus -TemplateFile WebSite.json -TemplateParametersFile WebSite.parameters.json -UploadArtifacts -StorageAccountName <storage-account-name>

AzureRM モジュール スクリプトAzureRM module script

AzureRM モジュール スクリプトの場合は、Visual Studio を使用します。For the AzureRM module script, use Visual Studio:

  1. 再デプロイするには、 [デプロイ] を選択し、以前にデプロイしたリソース グループを選択します。To redeploy, choose Deploy, and the resource group you deployed earlier.

    プロジェクトの再デプロイ

  2. [成果物のストレージ アカウント] で、このリソース グループと共にデプロイしたストレージ アカウントを選択します。Select the storage account you deployed with this resource group for the Artifact storage account.

    Web 配置の再デプロイ

Web アプリを表示するView web app

  1. デプロイが完了したら、ポータルで Web アプリを選択します。After the deployment has finished, select your web app in the portal. URL を選択して新しいサイトを参照します。Select the URL to browse to the site.

    サイトの参照

  2. 既定の ASP.NET アプリが正しくデプロイされていることがわかります。Notice that you've successfully deployed the default ASP.NET app.

    デプロイされたアプリの表示

操作ダッシュボードを追加するAdd operations dashboard

リソースは、Visual Studio インターフェイスを通じて利用できるものに限定されません。You aren't limited to only the resources that are available through the Visual Studio interface. テンプレートにカスタム リソースを追加することで、デプロイをカスタマイズできます。You can customize your deployment by adding a custom resource to your template. リソースの追加を表示するには、デプロイしたリソースを管理する運用ダッシュボードを追加します。To show adding a resource, you add an operational dashboard to manage the resource you deployed.

  1. WebSite.json ファイルを開き、resources セクションのストレージ アカウント リソースの後、右角かっこ ] の前に次の JSON を追加します。Open the WebSite.json file and add the following JSON after the storage account resource but before the closing ] of the resources section.

     ,{
       "properties": {
         "lenses": {
           "0": {
             "order": 0,
             "parts": {
               "0": {
                 "position": {
                   "x": 0,
                   "y": 0,
                   "colSpan": 4,
                   "rowSpan": 6
                 },
                 "metadata": {
                   "inputs": [
                     {
                       "name": "resourceGroup",
                       "isOptional": true
                     },
                     {
                       "name": "id",
                       "value": "[resourceGroup().id]",
                       "isOptional": true
                     }
                   ],
                   "type": "Extension/HubsExtension/PartType/ResourceGroupMapPinnedPart"
                 }
               },
               "1": {
                 "position": {
                   "x": 4,
                   "y": 0,
                   "rowSpan": 3,
                   "colSpan": 4
                 },
                 "metadata": {
                   "inputs": [],
                   "type": "Extension[azure]/HubsExtension/PartType/MarkdownPart",
                   "settings": {
                     "content": {
                       "settings": {
                         "content": "__Customizations__\n\nUse this dashboard to create and share the operational views of services critical to the application performing. To customize simply pin components to the dashboard and then publish when you're done. Others will see your changes when you publish and share the dashboard.\n\nYou can customize this text too. It supports plain text, __Markdown__, and even limited HTML like images <img width='10' src='https://portal.azure.com/favicon.ico'/> and <a href='https://azure.microsoft.com' target='_blank'>links</a> that open in a new tab.\n",
                         "title": "Operations",
                         "subtitle": "[resourceGroup().name]"
                       }
                     }
                   }
                 }
               }
             }
           }
         },
         "metadata": {
           "model": {
             "timeRange": {
               "value": {
                 "relative": {
                   "duration": 24,
                   "timeUnit": 1
                 }
               },
               "type": "MsPortalFx.Composition.Configuration.ValueTypes.TimeRange"
             }
           }
         }
       },
       "apiVersion": "2015-08-01-preview",
       "name": "[concat('ARM-',resourceGroup().name)]",
       "type": "Microsoft.Portal/dashboards",
       "location": "[resourceGroup().location]",
       "tags": {
         "hidden-title": "[concat('OPS-',resourceGroup().name)]"
       }
     }
    
  2. プロジェクトを再デプロイします。Redeploy your project.

  3. デプロイが完了したら、ポータルでダッシュボードを表示します。After deployment has finished, view your dashboard in the portal. [ダッシュボード] を選択し、デプロイしたものを選択します。Select Dashboard and pick the one you deployed.

    カスタム ダッシュボード

  4. カスタマイズされたダッシュボードが表示されます。You see the customized dashboard.

    カスタム ダッシュボード

RBAC グループを使用して、ダッシュボードへのアクセスを管理できます。You can manage access to the dashboard by using RBAC groups. また、デプロイした後で、ダッシュボードの外観をカスタマイズすることもできます。You can also customize the dashboard's appearance after it's deployed. ただし、リソース グループを再デプロイすると、ダッシュボードはテンプレートの既定の状態にリセットされます。However, if you redeploy the resource group, the dashboard is reset to its default state in your template. ダッシュボードの作成について詳しくは、「プログラムによる Azure ダッシュボードの作成」をご覧ください。For more information about creating dashboards, see Programmatically create Azure Dashboards.

リソースのクリーンアップClean up resources

Azure リソースが不要になったら、リソース グループを削除して、デプロイしたリソースをクリーンアップします。When the Azure resources are no longer needed, clean up the resources you deployed by deleting the resource group.

  1. Azure portal で、左側のメニューから [リソース グループ] を選択します。From the Azure portal, select Resource groups from the left menu.

  2. リソース グループ名を選択します。Select the resource group name.

  3. トップ メニューから [リソース グループの削除] を選択します。Select Delete resource group from the top menu.

次の手順Next steps

このクイック スタートでは、Visual Studio を使用してテンプレートを作成およびデプロイする方法について説明しました。In this quickstart, you learned how to create and deploy templates using Visual Studio. 次のチュートリアルでは、テンプレート リファレンスから情報を検索して、暗号化された Azure Storage アカウントを作成できるようにする方法を示します。The next tutorial shows you how to find the information from template reference so you can create an encrypted Azure Storage account.