エクスポート (0) 印刷
すべて展開

Visual Studio から Azure に Web アプリケーションを移行および発行する方法

更新日: 2013年10月

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

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

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

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

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

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

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

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

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

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

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

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

Web アプリケーションの Windows Azure へのデプロイを有効にする

Web アプリケーションの Windows Azure へのデプロイを有効にするには

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

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

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

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

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

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

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

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

アプリケーションで Windows Azure SQL データベースを使用する

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

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

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

接続文字列に Web ロールの SQL データベース インスタンスを使用するには

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

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

  2. SQL データベースのインスタンスを作成して接続文字列に使用するには、記事「SQL データベースの作成 (このページは英語の場合があります)」の次のセクションの手順に従います。

  3. 接続文字列に使用する ADO.NET 接続文字列をコピーするには、Windows 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. 変更したファイルを保存し、アプリケーションを再発行します。

管理ポータルを使用して SQL データベース インスタンスを使用するには

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

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

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

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

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

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

Web アプリケーションを Windows Azure に発行する

Web アプリケーションを Windows Azure に発行するには

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

<デプロイの URL>/<ページの名前>.aspx

Silverlight アプリケーション

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

次の形式の URL を使用してアプリケーションの特定のページに移動する必要があります。<デプロイの URL>/<ページの名前>.aspx

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

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

次の形式の URL を使用してアプリケーションの特定のページに移動する必要があります。<デプロイの URL>/<ページの名前>.aspx

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

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

次の形式の URL を使用してアプリケーションの特定のページに移動する必要があります。<デプロイの URL>/<ページの名前>.aspx

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

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

次の形式の URL を使用してアプリケーションの svc ファイルに移動する必要があります。<デプロイの URL>/<サービス ファイルの名前>.svc

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

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

次の形式の URL を使用してアプリケーションの svc ファイルに移動する必要があります。<デプロイの URL>/<サービス ファイルの名前>.svc

ASP.NET 動的エンティティ

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

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

また、次の形式の URL を使用してアプリケーションの特定のページに移動する必要もあります。<デプロイの URL>/<ページの名前>.aspx

ASP.NET 動的データ LINQ to SQL

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

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

また、次の形式の URL を使用してアプリケーションの特定のページに移動する必要もあります。<デプロイの URL>/<ページの名前>.aspx

ASP.NET 動的エンティティの接続文字列の更新

ASP.NET 動的エンティティの接続文字列を更新するには

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

  2. Windows 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 を保存] を順にクリックします。

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

Windows 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 ワークフロー サービス アプリケーション

参照

コミュニティの追加

表示:
© 2014 Microsoft