このページは役に立ちましたか。
このページのコンテンツについての ご意見をお待ちしております
その他にご意見はありますか。
残り 1500 文字
エクスポート (0) 印刷
すべて展開

方法:Visual Studio から Azure クラウド サービスへの Web アプリケーションの移行および発行

更新日: 2015年5月

Azure のホスティング サービスとスケーラビリティを利用するには、Azure クラウド サービスに Web アプリケーションを移行し、発行する必要があります。既存のアプリケーションに最小限の変更を加えて、Azure で Web アプリケーションを実行することができます。

noteメモ
このトピックでは Web サイトではなくクラウド サービスへのデプロイについて説明します。Web サイトへのデプロイの詳細については、「Azure の Web サイトをデプロイする方法」を参照してください。

Visual C# と Visual Basic の両方でサポートされている特定のテンプレートの一覧については、「サポートされているプロジェクト テンプレート」セクションを参照してください。

まず、Visual Studio から Web アプリケーションを Azure で有効にする必要があります。次の図は、デプロイに使用する Azure プロジェクトを追加して既存の Web アプリケーションを発行するための主要な手順を示しています。このプロセスでは、必要な Web ロールがある Azure プロジェクトをソリューションに追加します。Web プロジェクトの種類に基づいて、サービス パッケージでデプロイのために他のアセンブリが必要な場合は、アセンブリのプロジェクト プロパティも更新されます。

Windows Web アプリケーションを Windows Azure に発行する
noteメモ
[変換、Azure クラウド サービス プロジェクトに変換] コマンドがソリューションの Web プロジェクトのみに表示されます。たとえば、このコマンドはソリューションの Silverlight プロジェクトでは使用できません。

Web アプリケーションを Visual Studio から Azure に移行および発行するには、次の手順に従います。

  1. Azure にデプロイする Web アプリケーションを有効にする (上の図の手順 1. と 2.)。

  2. アプリケーションでデータベースを使用する場合は、Azure SQL データベースを使用するために接続文字列を変更する必要があります。アプリケーションへの Azure SQL データベースの使用

  3. Web アプリケーションからローカル ファイルに書き込む場合は、Web ロールにローカル ストレージを設定し、このローカル ストレージに書き込む必要があります。Manage local storage for each role instance.

  4. Web アプリケーションに追加した特定のアセンブリがある場合は、サービス パッケージにも追加されるように、アセンブリをコピーするためのプロパティを設定する必要があります。Include Files in the Service Package

  5. Azure に Web アプリケーションを発行する (上の図の手順 3. と 4.)

noteメモ
サービス パッケージを作成するか、Azure にアプリケーションを発行するときに、警告またはエラーが発生することがあります。これらの警告およびエラーによって、Azure にデプロイする前に問題を修正することができます。たとえば、アセンブリがないことを示す警告を受け取ることがあります。警告をエラーとして処理する方法の詳細については、「方法: Visual Studio を使用した Azure クラウド サービス プロジェクトの構成」を参照してください。これらの警告またはエラーのトラブルシューティングの詳細については、「パッケージの検証警告およびエラーのトラブルシューティング」を参照してください。

Caution注意
アプリケーションをビルドし、コンピューティング エミュレーターを使用してローカルで実行するか、Azure に発行する場合、[エラー一覧] ウィンドウに次のエラーが表示されることがあります。指定したパス、ファイル名、またはその両方が長すぎます。このエラーは、Azure プロジェクトの完全修飾名が長すぎるために発生します。完全パスを含む、プロジェクト名の長さは 146 文字以下にする必要があります。たとえば、これは、Silverlight アプリケーションに作成される Azure プロジェクトのファイル パスを含む完全なプロジェクト名です。c:\users\<user name>\documents\visual studio 2010\Projects\SilverlightApplication4\SilverlightApplication4.Web.Azure.ccproj。プロジェクトの完全修飾名を短くするためにソリューションをより短いパスの別のディレクトリに移動することが必要である場合があります。

  1. Web アプリケーションの Azure へのデプロイを有効にするには、ソリューションで Web プロジェクトのショートカット メニューを開き、[Azure デプロイ プロジェクトの追加] をクリックします。

    次のアクションが発生します。

    • <Web プロジェクトの名前>.Azure という Azure プロジェクトがアプリケーションのソリューションに追加されます。

    • Web プロジェクトの Web ロールがこの Azure プロジェクトに追加されます。

    • "ローカルにコピー" プロパティは MVC 2、MVC 3、MVC 4、および Silverlight のビジネス アプリケーションに必要なアセンブリで true に設定されます。これによて、これらのアセンブリはデプロイに使用されるサービス パッケージに追加されます。

      Important重要
      この Web アプリケーションに必要なアセンブリまたはファイルが他にある場合は、これらのファイルのプロパティを手動で設定する必要があります。これらのプロパティを設定する方法については、「Include Files in the Service Package」を参照してください。

    noteメモ
    特定の Web プロジェクトの Web ロールがソリューションの Azure プロジェクトに既に存在する場合、この Web プロジェクトのショートカット メニューに [変換、Azure クラウド サービス プロジェクトに変換] は表示されません。

Web アプリケーションに複数の Web プロジェクトがあり、各 Web プロジェクトに Web ロールを作成する場合は、各 Web プロジェクトでこの手順を実行する必要があります。これによって、各 Web ロールに別の Azure プロジェクトが作成されます。各 Web プロジェクトは個別に発行できす。また、別の Web ロールを Web アプリケーションの既存の Azure プロジェクトに手動で追加できます。これを行うには、Azure プロジェクトの [ロール] フォルダーのショートカット メニューを開き、[追加][ソリューションの Web ロール プロジェクト] の順にクリックして、Web ロールとして追加するプロジェクトを選択し、[OK] をクリックします。

内部設置型 SQL Server データベースを使用する Web アプリケーションの接続文字列がある場合は、Azure によってホストされる SQL データベース インスタンスを代わりに使用するために、この接続文字列を変更する必要があります。

Important重要
サブスクリプションによって SQL データベースを使用可能にする必要があります。Azure 管理ポータルからサブスクリプションにアクセスすると、サブスクリプションで提供されるサービスを確認できます。

次の手順は、リリースされた管理ポータルに適用されます。プレビュー管理ポータルを使用している場合は、次の手順に進みます。

  1. SQL データベース インスタンスを Azure 用管理コンソールで作成するには、「データベース サーバーの作成」という記事の手順に従います。

    noteメモ
    SQL データベース インスタンスのファイアウォール規則を設定するときは、[他の Azure サービスがこのサーバーにアクセスできるようにする] チェック ボックスをオンにする必要があります。

  2. SQL データベースのインスタンスを作成して接続文字列に使用するには、「SQL データベースの作成」という記事の次のセクションの手順に従います。

  3. 接続文字列に使用する ADO.NET 接続文字列をコピーするには、Azure の管理ポータルで、次の手順を実行します。

    1. [データベース] をクリックし、SQL データベース インスタンスを作成するために使用したサブスクリプションのノードを開きます。

    2. 使用できる SQL データベース インスタンスを表示するには、SQL データベース ノードを選択します。

    3. データベースのプロパティを表示するには、データベースを選択します。[プロパティ] ビューが表示されます。

      noteメモ
      [プロパティ] ビューが表示されない場合は、分割線を使用して開く必要があります。

    4. 接続文字列を表示するには、[表示] の横にある省略記号ボタンをクリックします。

      [接続文字列] ダイアログ ボックスが表示されます。

    5. ADO.NET 接続文字列をコピーするには、テキストを強調表示し、Ctrl キーを押しながら C キーを押します。

    6. ダイアログ ボックスを閉じるには、[閉じる] をクリックします。

  4. SQL データベース インスタンスを使用するために web.config ファイルで接続文字列を置き換えるには、web.config ファイルを開いて既存の接続文字列エントリを強調表示し、Ctrl キーを押しながら V キーを押します。

    SQL データベース インスタンスの ADO.NET 接続文字列が既存の接続文字列を置き換えます。

  5. 接続文字列に MultipleActiveResultSets=True パラメーターを追加する必要もあります。接続文字列は、次の形式にする必要があります。

    connectionString=”Server=tcp:<database_server>.database.windows.net,1433;Database=<database_name>;User ID=<user_name>@<database_server>;Password=<myPassword>;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True"

  6. (省略可能) 直接 web.config ファイルの接続文字列を変更する代わりに、サービス パッケージを作成するために使用するビルド構成に応じていずれかの web.config 変換ファイルにセクションを追加することもできます。Web.Debug.Config ファイルまたは Web.Release.Config ファイルを開きます。このファイルに次のセクションを追加します。

    
    <connectionStrings>
       <add name="DefaultConnection" connectionString="Server=tcp:<database_server>.database.windows.net,1433;Database=<database_name>;User ID=<user_name>@<database_server>;Password=<myPassword>;Trusted_Connection=False;Encrypt=True;MultipleActiveResultSets=True" xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
    </connectionStrings>
    
    
  7. 変更したファイルを保存し、アプリケーションを再発行します。

  1. Azure 管理ポータルで SQL データベース ノードを選択します。

    • 使用したい SQL データベース インスタンスが表示されたら、それを選択して開きます。

    • インスタンスをまだ作成していない場合は、該当するリンクを選択し、インスタンスを作成します。

  2. データベースを作成するか、データベースを開いたら、接続文字列のリンクをクリックします。

  3. ページの下部にあるリンクをクリックしてファイアウォール設定を構成し、既定値をそのまま使用するか、必要に応じて値を構成します。

  4. ADO.NET の接続文字列をコピーして、web.config ファイルに貼り付け、内部設置型データベースの古い接続文字列を上書きし、"MultipleActiveResultSets=True" が追加されていることを確認します。

  1. Azure 計算エミュレーターを使用してローカルの開発環境でアプリケーションをテストするには、Web ロールの Azure プロジェクトのショートカット メニューを開いて、[スタートアップ プロジェクトに設定] をクリックします。次に、[デバッグ]、[デバッグの開始] の順に選択します (または、F5 キー)。

    [Azure デバッグ環境の開始] ダイアログ ボックスが表示されます。アプリケーションがブラウザーで開始されます。計算エミュレーターでの各種類の Web アプリケーションの開始方法の詳細については、このセクションの表を参照してください。

  2. Azure に発行するアプリケーションのサービスを設定するには、Microsoft アカウントと Azure のサブスクリプションが必要です。サービスを設定するには、「Visual Studio からのクラウド サービスの発行に必要なサービスの設定」の手順を使用します。

  3. Web アプリケーションを Azure に発行するには、Web プロジェクトのショートカット メニューを開き、[Azure への発行] をクリックします。

    [Azure アプリケーションの発行] ダイアログ ボックスが表示されます。Visual Studio でデプロイ プロセスが開始されます。アプリケーションを発行する方法の詳細については、「Publish an Azure Application from Visual Studio」を参照してください。

    noteメモ
    Web アプリケーションは Azure プロジェクトから発行することもできます。これを行うには、Azure プロジェクトのショートカット メニューを開き、[発行] をクリックします。

  4. デプロイの進行状況は、[Azure のアクティビティ ログ] ウィンドウで確認できます。このログは、デプロイ プロセスの開始時に自動的に表示されます。次の図に示すように、アクティビティ ログの行項目を展開して詳細情報を表示できます。

    VST_AzureActivityLog
  5. (省略可能) デプロイ プロセスをキャンセルするには、アクティビティ ログの行項目のショートカット メニューを開き、[取り消して削除] をクリックします。これにより、デプロイ プロセスが停止して、デプロイ環境が Azure から削除されます。

    noteメモ
    このデプロイ環境をデプロイ後に削除するには、管理ポータルを使用する必要があります。

  6. (省略可能) ロール インスタンスが起動すると、Visual Studio のサーバー エクスプローラー[Azure コンピューティング] ノードにデプロイ環境が自動的に表示されます。ここから、個々のロール インスタンスの状態を確認できます。サーバー エクスプローラー[Azure コンピューティング] ノードの詳細については、「サーバー エクスプローラーを使用したクラウド サービスの状態の表示」を参照してください。

    次の図は、まだ "初期化中" 状態である、ロール インスタンスを示しています。

    VST_DeployComputeNode
  7. デプロイ後、アプリケーションにアクセスするには、"完了済み" の状態が [Azure のアクティビティ ログ] に表示されているときにデプロイの横の矢印をクリックします。これは、Azure での Web アプリケーションの URL を表示します。Azure から特定の種類の Web アプリケーションを起動する方法の詳細については、次の表を参照してください。

Azure から特定の Web アプリケーションを起動する方法、または Azure 計算エミュレーターを使用してローカルに Web アプリケーションを実行またはデバッグする方法の詳細を次の表に示します。

 

Web アプリケーションの種類 計算エミュレーターを使用してローカルに実行/デバッグする Azure での実行

ASP.NET Web アプリケーション

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

[Azure のアクティビティ ログ][デプロイ] タブ に表示される URL ハイパーリンクをクリックして、ブラウザーのスタート ページを読み込みます。

ASP.NET MVC 2 Web アプリケーション

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

[Azure のアクティビティ ログ][デプロイ] タブ に表示される URL ハイパーリンクをクリックして、ブラウザーのスタート ページを読み込みます。

ASP.NET MVC 3 Web アプリケーション

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

[Azure のアクティビティ ログ][デプロイ] タブに表示される URL ハイパーリンクをクリックして、ブラウザーのスタート ページを読み込みます。

ASP.NET MVC 4 Web アプリケーション

メニュー バーで [デバッグ][デバッグの開始] の順に選択します (または、F5 キーを押します)。

ブラウザーでスタート ページを読み込むには [Azure のアクティビティ ログ][デプロイ] タブに表示される URL ハイパーリンクをクリックします。

空の ASP.NET Web アプリケーション

Web プロジェクトのスタート ページとして設定したアプリケーションに .aspx ページを追加する必要があります。次に、メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

アプリケーションに既定の .aspx ページがある場合は、[Azure のアクティビティ ログ][デプロイ] タブに表示される URL のハイパーリンクをクリックすると、このページがブラウザーに読み込まれます。別の .aspx ページがある場合は、次の形式の URL を使用してこの特定のページに移動する必要があります。

<url for deployment>/<name of page>.aspx

Silverlight アプリケーション

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

次の形式の URL を使用してアプリケーションの特定のページに移動する必要があります。<url for deployment>/<name of page>.aspx

Silverlight のビジネス アプリケーション

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

次の形式の URL を使用してアプリケーションの特定のページに移動する必要があります。<url for deployment>/<name of page>.aspx

Silverlight のナビゲーション アプリケーション

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

次の形式の URL を使用してアプリケーションの特定のページに移動する必要があります。<url for deployment>/<name of page>.aspx

WCF サービス アプリケーション

.svc ファイルを WCF サービス プロジェクトのスタート ページとして設定する必要があります。次に、メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

次の形式の URL を使用してアプリケーションの svc ファイルに移動する必要があります。<url for deployment>/<name of service file>.svc

WCF ワークフロー サービス アプリケーション

.svc ファイルを WCF サービス プロジェクトのスタート ページとして設定する必要があります。次に、メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

次の形式の URL を使用してアプリケーションの svc ファイルに移動する必要があります。<url for deployment>/<name of service file>.svc

ASP.NET 動的エンティティ

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

接続文字列を更新する必要があります。

また、次の形式の URL を使用してアプリケーションの特定のページに移動する必要もあります。<url for deployment>/<name of page>.aspx

ASP.NET 動的データ LINQ to SQL

メニュー バーで [デバッグ]、[デバッグの開始] の順にクリックします (または、F5 キーを押します)。

手順「アプリケーションへの Azure SQL データベースの使用」に従う必要があります。

また、次の形式の URL を使用してアプリケーションの特定のページに移動する必要もあります。<url for deployment>/<name of page>.aspx

  1. ASP.NET 動的エンティティ Web アプリケーションで使用できる SQL Azure データベースを作成するには、手順「アプリケーションへの Azure SQL データベースの使用」に従う必要があります。

  2. Azure Platform 管理ポータルからこのデータベースに必要なフィールドおよびテーブルを追加します。

  3. この種類のアプリケーションの接続文字列は web.config ファイルで次の形式になっています。

    <add name="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 値を次のように更新します。

    <add name="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" />
    
    
  4. 接続文字列を変更した Web.config ファイルを保存するには、メニュー バーで [ファイル]、[Web.config を保存] を順にクリックします。

Azure に Web アプリケーションを発行するには、アプリケーションで次の表に記載されている C# または Visual Basic のプロジェクト テンプレートの 1 つを使用する必要があります。

 

プロジェクト テンプレート グループ プロジェクト テンプレート

Web

ASP.NET Web アプリケーション

Web

ASP.NET MVC 2 Web アプリケーション

Web

ASP.NET MVC 3 Web アプリケーション

Web

ASP.NET MVC4 Web アプリケーション

Web

空の ASP.NET Web アプリケーション

Web

空の ASP.NET MVC 2 Web アプリケーション

Web

ASP.NET 動的データ エンティティ Web アプリケーション

Web

ASP.NET 動的データ LINQ to SQL Web アプリケーション

Silverlight

Silverlight アプリケーション

Silverlight

Silverlight のビジネス アプリケーション

Silverlight

Silverlight のナビゲーション アプリケーション

WCF

WCF サービス アプリケーション

WCF

WCF ワークフロー サービス アプリケーション

ワークフロー

WCF ワークフロー サービス アプリケーション

関連項目

表示:
© 2015 Microsoft