方法: Visual Studio から Azure クラウド サービスへの Web アプリケーションの移行および発行How to: Migrate and Publish a Web Application to an Azure Cloud Service from Visual Studio

Azure のホスティング サービスとスケーラビリティを利用するには、Web アプリケーションを Azure クラウド サービスに 移行してデプロイします。To take advantage of the hosting services and scaling ability of Azure, you might want to migrate and deploy your web application to an Azure cloud service. 変更は最小限ですみます。Only minimal changes are required. この記事ではクラウド サービスへのデプロイのみを説明します。App Service については、Azure App Service での Web アプリのデプロイに関する記事をご覧ください。This article covers deploying to cloud services only; for App Service, see Deploy a web app in Azure App Service.

重要

この移行は特定の ASP.NET、Silverlight、WCF、および WCF ワークフロー プロジェクトでのみサポートされます。This migration is supported only for the specific ASP.NET, Silverlight, WCF, and WCF Workflow projects. ASP.NET Core プロジェクトではサポートされません。It is not supported for ASP.NET Core projects. サポートされているプロジェクト テンプレート」のセクションをご覧ください。See Supported Project Templates.

クラウド サービスにプロジェクトを移行するMigrate a project to cloud services

  1. Web アプリケーション プロジェクトを右クリックし、[変換] > [Microsoft Azure クラウド サービス プロジェクトに変換] の順に選択します。Right-click the web application project and select Convert > Convert to Microsoft Azure Cloud Service Project. (ソリューションに既に Web ロール プロジェクトがある場合は、このコマンドは表示されないことがあるために注意してください。)(Note that this command does not appear if you already have a web role project in the solution.)
  2. Visual Studio は、必要な Web ロールが含まれるソリューションにクラウド サービス プロジェクトを作成します。Visual Studio creates a cloud service project in the solution that contains the required web role. お使いのアプリケーション プロジェクトと同じ名前にサフィックス .Azure を付加したものが、このプロジェクトの名前になります。The name of this project is the same as your application project with plus the suffix .Azure.
  3. Visual Studio は MVC 2、MVC 3、MVC 4、Silverlight の各ビジネス アプリケーションに必要なアセンブリの [ローカルにコピー] プロパティも true に設定します。Visual Studio also sets the Copy Local property to true for any assemblies that are required for MVC 2, MVC 3, MVC 4, and Silverlight Business Applications. このプロパティにより、デプロイに使用されるサービス パッケージにこれらのアセンブリが追加されます。This property adds these assemblies to the service package that is used for deployment.

    重要

    この Web アプリケーションに必要な他のアセンブリまたはファイルがある場合は、それらのファイルのプロパティを手動で設定する必要があります。If you have other assemblies or files that are required for this web application, you must manually set the properties for these files. これらのプロパティを設定する方法については、「Include Files in the Service Package (サービス パッケージにファイルを取り込む)」をご覧ください。For information about how to set these properties, see Include Files in the Service Package.

エラーと警告Errors and warnings

警告またはエラーが発生する場合は、Azure にデプロイする前に解決すべき問題 (アセンブリの不足など) があることを示しています。Any warnings or errors that occur indicate issues to fix before deploying to Azure, such as missing assemblies.

アプリケーションをビルドし、コンピューティング エミュレーターを使用してローカルで実行するか、Azure に発行すると、"指定されたパス、ファイル名、またはその両方が長すぎます。" というエラーが表示される場合があります。If you build your application, run it locally using the compute emulator, or publish it to Azure, you might see the error: "The specified path, file name, or both are too long." このエラーは、Azure プロジェクトの完全修飾名が 146 文字を超えていることを示しています。This error indicates that length of the fully qualified Azure project name exceeds 146 characters. この問題を修正するには、パスが短くなるように別のフォルダーにソリューションを移動します。To correct the issue, move your solution to a different folder with a shorter path.

警告をエラーとして処理する方法の詳細については、「 Visual Studio を使用した Azure クラウド サービス プロジェクトの構成」を参照してください。For more information about how to treat any warnings as errors, see Configure an Azure Cloud Service Project with Visual Studio.

移行をローカルでテストするTest the migration locally

  1. Visual Studio のソリューション エクスプローラーで、追加されたクラウド サービス プロジェクトを右クリックし、[スタートアップ プロジェクトに設定] を選択します。In Visual Studio Solution Explorer, right-click the added cloud service project and select Set as Startup Project.
  2. [デバッグ] > [デバッグの開始] (F5 キー) を選択して Azure デバッグ環境を起動します。Select Debug > Start Debugging (F5) to launch the Azure debugging environment. この環境では、特にさまざまな Azure サービスのエミュレーションを利用できます。This environment specifically provides emulation of various Azure services.

アプリケーションでの Azure SQL Database の使用Use an Azure SQL Database for your application

お使いの Web アプリケーションにオンプレミスの SQL Server データベースを使用する接続文字列がある場合、その代わりとして Azure SQL Database にデータベースを移行し、接続文字列を更新する必要があります。If you have a connection string for your web application that uses an on-premises SQL Server database, you must migrate your database to Azure SQL Database instead and update your connection string. このプロセスのガイダンスについては、次のトピックをご覧ください。For guidance with this process, refer to the following topics:

アプリケーションを Azure クラウド サービスに発行するPublish the application to Azure Cloud Service

  1. Visual Studio からの Azure アプリケーションの発行またはデプロイの準備で説明しているように、必要なクラウド サービスとストレージ アカウントを Azure サブスクリプションで作成します。Create the necessary cloud service and storage accounts in your Azure subscription as described on Prepare to publish or deploy an Azure application from Visual Studio.
  2. Visual Studio でアプリケーション プロジェクトを右クリックし、[Microsoft Azure に公開...] を選択します ([発行...] コマンドではありません)。In Visual Studio, right-click the application project and select Publish to Microsoft Azure... (which is different from the "Publish..." command.).
  3. 表示された [Azure アプリケーションの発行] で、アカウントを使用して Azure サブスクリプションにサインインし、[次へ > ] を選択します。In the Publish Azure Application that appears, sign in using the account with your Azure subscription and select Next >.
  4. [設定] > [共通設定] タブで、対象のクラウド サービスおよび環境と構成を [クラウド サービス] ボックスの一覧から選択します。In the Settings > Common Settings tab, select the target cloud service from the Cloud Service drop-down list, along with your chosen environment and configurations.
  5. [設定] > [詳細設定] の順に移動し、使用するストレージ アカウントを選択してから [次へ > ] を選択します。In Settings > Advanced Settings, select the storage account to use, then select Next >.
  6. [診断] で、Application Insights に情報を送信するかどうかを選択します。In Diagnostics, choose whether to send information to Application Insights.
  7. [次へ > ] を選択して概要を表示し、[発行] を選択してデプロイを開始します。Select Next > to view a summary, then select Publish to start deployment.
  8. Visual Studio でアクティビティ ログ ウィンドウが開かれ、進行状況を追跡できます。Visual Studio opens an activity log window where you can track progress:

    VST_AzureActivityLog

  9. (省略可能) デプロイ プロセスをキャンセルするには、アクティビティ ログの行項目を右クリックし、[取り消して削除] を選択します。(Optional) To cancel the deployment process, right-click the line item in the activity log and choose Cancel and remove. このコマンドによりデプロイ プロセスが停止し、Azure からデプロイ環境が削除されます。This command stops the deployment process and deletes the deployment environment from Azure. 注: このデプロイ環境をデプロイ後に削除するには、Azure Portal を使用する必要があります。Note: to remove this deployment environment after it has been deployed, you must use the Azure portal.

  10. (省略可能) ロール インスタンスが起動すると、Visual Studio の [サーバー エクスプローラー] > [クラウド サービス] ノードに、デプロイ環境が自動的に表示されます。(Optional) After your role instances have started, Visual Studio automatically shows the deployment environment in the Server Explorer > Cloud Services node. ここから、個々のロール インスタンスの状態を確認できます。From here you can view the status of the individual role instances.
  11. デプロイ後にアプリケーションにアクセスするには、[Azure の活動ログ][完了] の状態と URL が表示されているときに、デプロイの横の矢印を選択します。To access your application after deployment, choose the arrow next to your deployment when a status of Completed appears in the Azure Activity log along with the URL. Azure から特定の種類の Web アプリケーションを起動する方法の詳細については、次の表をご覧ください。See the following table for the details about how to start a specific type of web application from Azure.

コンピューティング エミュレーターを使用して Azure でアプリケーションを起動するUsing the compute emulator and starting application in Azure

[デバッグ] > [デバッグの開始] (F5 キー) を選択すると、Visual Studio デバッガーに接続されているブラウザーでアプリケーションのすべての種類を起動できます。All application types can be started in a browser connected to the Visual Studio debugger by selecting Debug > Start Debugging (F5). 空の ASP.NET Web アプリケーション プロジェクトでは、まずアプリケーションに .aspx ページを追加し、Web プロジェクトのスタート ページとして設定する必要があります。With an ASP.NET Empty Web Application project, you must first add an .aspx page in your application and set it as the start page for your web project.

次の表に、Azure でアプリケーションを起動する方法の詳細を示します。The following table provides details about starting the application in Azure:

Web アプリケーションの種類Web Application Type Azure での実行Running in Azure
ASP.NET Web アプリケーションASP.NET Web Application
(MVC 2、MVC 3、MVC 4 を含みます)(including MVC 2, MVC 3, MVC 4)
[デプロイ] タブで [Azure の活動ログ] の URL を選択します。Select the URL in the Deployment tab for the Azure Activity log.
空の ASP.NET Web アプリケーションASP.NET Empty Web Application アプリケーションの既定の .aspx ページがある場合は、[デプロイ] タブで [Azure の活動ログ] の URL を選択します。If you have a default .aspx page in your application, select the URL in the Deployment tab for the Azure Activity log. 別のページに移動するには、ブラウザーに <deployment_url>/<page_name>.aspx の形式で URL を入力します。To navigate to a different page, enter a URL of the following form in a browser: <deployment_url>/<page_name>.aspx
Silverlight アプリケーションSilverlight Application
Silverlight ビジネス アプリケーションSilverlight Business Application
Silverlight ナビゲーション アプリケーションSilverlight Navigation Application
<deployment_url>/<page_name>.aspx の形式の URL を使用して、アプリケーションの特定のページに移動します。Navigate to the specific page for your application using the following URL form: <deployment_url>/<page_name>.aspx
WCF サービス アプリケーションWCF Service Application
WCF ワークフロー サービス アプリケーションWCF Workflow Service Application
.svc ファイルを WCF サービス プロジェクトのスタート ページに設定します。Set the .svc file as the start page for your WCF Service project. 次に、<deployment_url>/<service_file>.svc に移動します。Then navigate to <deployment_url>/<service_file>.svc
ASP.NET 動的エンティティASP.NET Dynamic Entities
ASP.NET 動的データ LINQ to SQLASP.NET Dynamic Data Linq to SQL
接続文字列を更新します (次のセクションで説明します)。Update the connection string as described in the next section. 次に、<deployment_url>/<page_name>.aspx に移動します。Then navigate to <deployment_url>/<page_name>.aspx. Linq to SQL については、Azure SQL Database を使用する必要があります。For Linq to SQL, you must use an Azure SQL database.

ASP.NET 動的エンティティの接続文字列の更新Update a Connection String for ASP.NET Dynamic Entities

  1. (#Use-an-azuresql-database-for-your-application) で前述したように、ASP.NET 動的エンティティ Web アプリケーション用の SQL Azure データベースを作成します。Create a SQL Azure database for a ASP.NET Dynamic Entities web application as described earlier in (#use-an-azuresql-database-for-your-application).
  2. Azure Portal から、このデータベースに必要なテーブルとフィールドを追加します。Add the tables and fields that you need for this database from the Azure portal.
  3. web.config ファイルで次の形式の接続文字列を指定し、ファイルを保存します。Specify a connection string in the web.config file with the following format and save the file:

    <addname="tempdbEntities"connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=<server name>\SQLEXPRESS;initial catalog=<database name>;integrated security=True;multipleactiveresultsets=True;App=EntityFramework&quot;"providerName="System.Data.EntityClient"/>
    

    SQL Azure データベースの ADO.NET 接続文字列の connectionString 値を次のように更新します。Update the connectionString value with the ADO.NET connection string for your SQL Azure database as follows:

    XMLCopy<addname="tempdbEntities"connectionString="metadata=res://*/Model1.csdl|res://*/Model1.ssdl|res://*/Model1.msl;provider=System.Data.SqlClient;provider connection string=&quot;Server=tcp:<SQL Azure server name>.database.windows.net,1433;Database=<database name>;User ID=<user name>;Password=<password>;Trusted_Connection=False;Encrypt=True;multipleactiveresultsets=True;App=EntityFramework&quot;"providerName="System.Data.EntityClient"/>
    

サポートされているプロジェクト テンプレートSupported Project Templates

クラウド サービスに移行および発行できるアプリケーションは、次の表にあるテンプレートのいずれかを使用している必要があります。Applications that can be migrated and published to cloud services must use one of the templates in the table below. ASP.NET Core はサポートされていません。ASP.NET Core is not supported.

テンプレート グループTemplate Group プロジェクト テンプレートProject Template
WebWeb ASP.NET Web アプリケーション (.NET Framework)ASP.NET Web Application (.NET Framework)
WebWeb ASP.NET MVC 2 Web アプリケーションASP.NET MVC 2 Web Application
WebWeb ASP.NET MVC 3 Web アプリケーションASP.NET MVC 3 Web Application
WebWeb ASP.NET MVC 4 Web アプリケーションASP.NET MVC4 Web Application
WebWeb 空の ASP.NET Web アプリケーション (またはサイト)ASP.NET Empty Web Application (or Site)
WebWeb 空の ASP.NET MVC 2 Web アプリケーションASP.NET MVC 2 Empty Web Application
WebWeb ASP.NET 動的データ エンティティ Web アプリケーションASP.NET Dynamic Data Entities Web Application
WebWeb ASP.NET 動的データ LINQ to SQL Web アプリケーションASP.NET Dynamic Data Linq to SQL Web Application
SilverlightSilverlight Silverlight アプリケーションSilverlight Application
SilverlightSilverlight Silverlight ビジネス アプリケーションSilverlight Business Application
SilverlightSilverlight Silverlight ナビゲーション アプリケーションSilverlight Navigation Application
WCFWCF WCF サービス アプリケーションWCF Service Application
WCFWCF WCF ワークフロー サービス アプリケーションWCF Workflow Service Application
ワークフローWorkflow WCF ワークフロー サービス アプリケーションWCF Workflow Service Application

次の手順Next steps