Visual Studio を使用したクラウド サービスの発行

Note

この記事は Azure Cloud Services (クラシック) に適用されます。これは新規のお客様向けには非推奨となっており、2024 年 8 月 31 日に廃止されます。 このテクノロジを使用して構築された既存のサービスは、引き続き Azure Cloud Services (延長サポート) を通じてサポートされます。 新しい開発では、Azure App ServiceAzure FunctionsAzure Container Apps など、特定の目的に合わせて設計された新しいサービスの種類を使用することをお勧めします。 利用可能なサービスの最新の一覧については、「Azure 製品のディレクトリ」を参照してください。

Visual Studio では、クラウド サービスのステージング環境と運用環境の両方がサポートされるため、アプリケーションを Azure に直接発行できます。 発行するときは、デプロイ パッケージで一時的に使用するデプロイ環境とストレージ アカウントを選択します。

Azure アプリケーションを開発およびテストするときは、Web 配置を使用して、Web ロールの変更を段階的に発行することができます。 アプリケーションをデプロイ環境に発行したら、Web Deploy を使用して、Web ロールを実行している仮想マシンに変更を直接デプロイできます。 変更をテストするために Web ロールを更新するたびに、Azure アプリケーション全体をパッケージ化して発行する必要はありません。 この方法では、アプリケーションがデプロイ環境に発行されるのを待たなくても、クラウドで Web ロールの変更をテストできます。

Azure アプリケーションを発行し、Web Deploy を使用して Web ロールを更新するには、次の手順に従います。

  • Visual Studio からの Azure アプリケーションの発行またはパッケージ化
  • 開発およびテスト サイクルの一環としての Web ロールの更新

前提条件

Visual Studio からの Azure アプリケーションの発行またはパッケージ化

Azure アプリケーションを発行するときは、次のいずれかの作業を行います。

  • サービス パッケージを作成する: このパッケージとサービス構成ファイルを使用して、Azure Portal からデプロイ環境にアプリケーションを発行できます。

  • Visual Studio から Azure プロジェクトを発行する: アプリケーションを Azure に直接発行するには、発行ウィザードを使用します。 詳細については、「 Azure アプリケーションの発行ウィザード」をご覧ください。

Visual Studio からサービス パッケージを作成するには

  1. アプリケーションを発行する準備ができたら、ソリューション エクスプローラーを開き、ロールを含む Azure プロジェクトのショートカット メニューを開いて、[発行] をクリックします。

  2. サービス パッケージだけを作成するには、次の手順に従います。

    1. Azure プロジェクトのショートカット メニューで、 [パッケージ]をクリックします。

    2. [Azure アプリケーションのパッケージ化] ダイアログ ボックスで、パッケージを作成するサービス構成を選択し、ビルド構成を選択します。

    3. (省略可能) 発行後にクラウド サービスのリモート デスクトップを有効にするには、[すべてのロールのリモート デスクトップを有効にする] をオンにし、[設定] を選択してリモート デスクトップ資格情報を構成します。 詳しくは、「Enable Remote Desktop Connection for a Role in Azure Cloud Services using Visual Studio (Visual Studio を使用して Azure Cloud Services のロールでリモート デスクトップ接続を有効にする)」をご覧ください。

      クラウド サービスを発行後にデバッグする場合は、 [すべてのロールのリモート デバッガーを有効にする]を選択してリモート デバッグを有効にします。

    4. パッケージを作成するには、 [パッケージ] リンクをクリックします。

      ファイル エクスプ ローラーに、新しく作成されたパッケージのファイルの場所が表示されます。 Azure Portal から使用できるように、この場所をコピーできます。

    5. このパッケージをデプロイ環境に発行するには、クラウド サービスを作成し、Azure Portal でこのパッケージを環境にデプロイするときに、この場所をパッケージの場所として使用する必要があります。

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

開発およびテスト サイクルの一環としての Web ロールの更新

アプリケーションのバックエンド インフラストラクチャは安定していても、Web ロールを頻繁に更新する必要がある場合は、Web 配置を使用してプロジェクトの Web ロールだけを更新できます。 Web 配置は、バックエンド worker ロールの再構築と再デプロイを避ける場合や、複数の Web ロールの中の 1 つだけを更新する場合に便利です。

Web 配置を使用する要件

  • 開発とテストのみを目的とする: Web ロールが実行されている仮想マシンに直接変更が加えられます。 この仮想マシンをリサイクルする必要がある場合、発行済みの元のパッケージを使用してロールの仮想マシンが再作成されるため、変更は失われます。 Web ロールの最新の変更を取得するには、アプリケーションを再発行します。

  • Web ロールだけを更新できる: ワーカー ロールは更新できません。 また、web role.csRoleEntryPoint は更新できません。

  • サポートできる Web ロールのインスタンスは 1 つに限られる: デプロイ環境で Web ロールの複数のインスタンスを使用することはできません。 ただし、それぞれにインスタンスを 1 つだけ持つ複数の Web ロールがサポートされます。

  • リモート デスクトップ接続を有効にする: この要件により、Web 配置でユーザーとパスワードを使用して仮想マシンに接続し、インターネット インフォメーション サービス (IIS) を実行しているサーバーに変更をデプロイできます。 また、仮想マシンに接続して、その仮想マシン上の IIS に信頼された証明書を追加することが必要な場合もあります (この証明書により、Web 配置によって使用される IIS のリモート接続のセキュリティが確保されます)。

次の手順は、 Azure アプリケーションの公開 ウィザードを使用していることを前提としています。

アプリケーションの発行時に Web 配置を有効にする

  1. [すべての Web ロールの Web 配置を有効にする] オプションを有効にするには、リモート デスクトップ接続を構成しておく必要があります。 [すべてのロールのリモート デスクトップを有効にする] を選択し、表示される [リモート デスクトップ構成] ボックスに、リモート接続に使用する資格情報を入力します。 「Enable Remote Desktop Connection for a Role in Azure Cloud Services using Visual Studio (Visual Studio を使用して Azure Cloud Services のロールでリモート デスクトップ接続を有効にする)」をご覧ください。

  2. アプリケーションのすべての Web ロールの Web Deploy を有効にするには、 [すべての Web ロールの Web 配置を有効にする]を選択します。

    警告を表す黄色の三角形が表示されます。 Web Deploy では、信頼されていない自己署名証明書が既定で使用されます。これは、機密データをアップロードする場合には推奨されません。 機密データのためにこのプロセスを保護する必要がある場合は、Web 配置の接続に使用する SSL 証明書を追加できます。 この証明書は、信頼された証明書であることが必要です。 詳細については、「Web 配置のセキュリティを確保する」をご覧ください。

  3. [次へ] をクリックして [概要] 画面を表示し、[発行] をクリックしてクラウド サービスをデプロイします。

    クラウド サービスが発行されます。 作成される仮想マシンでは IIS のリモート接続が有効になっているため、Web ロールを再発行しなくても、Web Deploy を使用してそれらのロールを更新できます。

    Note

    Web ロールの複数のインスタンスを構成している場合、アプリケーションを発行するために作成されるパッケージでは、Web ロールごとに 1 つのインスタンスに制限されることを示す警告メッセージが表示されます。 OK を選択して続行します。 「必要条件」で説明したように、複数の Web ロールを使用できますが、インスタンスはロールごとに 1 つに限られます。

Web 配置を使用して Web ロールを更新する

  1. Web Deploy を使用するには、発行する Web ロールのプロジェクトに Visual Studio でコードの変更を加え、ソリューションでこのプロジェクト ノードを右クリックして、 [発行]をポイントします。 [Web の発行] ダイアログ ボックスが表示されます。

  2. (省略可能) IIS のリモート接続に使用する信頼された SSL 証明書を追加した場合は、 [信頼されていない証明書を許可する] チェックボックスをオフにすることができます。 証明書を追加して Web 配置のセキュリティを確保する方法については、この記事で後述する「Web 配置のセキュリティを確保する」をご覧ください。

  3. Web 配置を使用するには、パッケージを最初に発行したときにリモート デスクトップ接続用に設定したユーザー名とパスワードが必要です。

    1. [ユーザー名]に、ユーザー名を入力します。

    2. [パスワード]に、パスワードを入力します。

    3. (省略可能) このパスワードをこのプロファイルに保存する場合は、 [パスワードの保存]を選択します。

  4. Web ロールへの変更を発行するには、 [発行]をクリックします。

    状態行に [発行を開始しました]と表示されます。 発行が完了すると、 [発行は成功しました] と表示されます。 これで、仮想マシンの Web ロールに変更がデプロイされました。 Azure 環境で Azure アプリケーションを起動して変更をテストできます。

Web 配置のセキュリティを確保する

  1. Web Deploy では、信頼されていない自己署名証明書が既定で使用されます。これは、機密データをアップロードする場合には推奨されません。 機密データのためにこのプロセスを保護する必要がある場合は、Web 配置の接続に使用する SSL 証明書を追加できます。 この証明書は、証明機関 (CA) から取得した信頼された証明書であることが必要です。

    各 Web ロールの各仮想マシンで Web 配置のセキュリティを確保するには、Web 配置に使用する信頼された証明書を Azure Portal にアップロードする必要があります。 この証明書により、アプリケーションの発行時に作成される Web ロールの仮想マシンに証明書が確実に追加されます。

  2. リモート接続に使用する信頼された SSL 証明書を IIS に追加するには、次の手順を実行します。

    1. Web ロールを実行している仮想マシンに接続するには、Cloud Explorer またはサーバー エクスプローラーで Web ロールのインスタンスを選択し、[リモート デスクトップを使用して接続] をクリックします。 仮想マシンに接続する手順について詳しくは、「Enable Remote Desktop Connection for a Role in Azure Cloud Services using Visual Studio (Visual Studio を使用して Azure Cloud Services のロールでリモート デスクトップ接続を有効にする)」をご覧ください。 お使いのブラウザーに、.rdp ファイルのダウンロードを求めるメッセージが表示されます。

    2. SSL 証明書を追加するには、IIS マネージャーで管理サービスを開きます。 IIS マネージャーで、[操作] ウィンドウの [バインド] リンクを開いて SSL を有効にします。 [サイト バインドの追加] ダイアログ ボックスが表示されます。 [追加] を選択し、[種類] ボックスの一覧の HTTPS を選択します。 [SSL 証明書] 一覧で、Azure Portal にアップロードした、CA による署名済みの SSL 証明書を選択します。 詳細については、「 管理サービスの接続設定を構成する (IIS 7)」をご覧ください。

      Note

      信頼された SSL 証明書を追加すると、 発行ウィザードで警告を表す黄色の三角形が表示されなくなります。

サービス パッケージにファイルを含める

作成されるロールの仮想マシンで特定のファイルを使用できるように、サービス パッケージにそれらのファイルを含めることが必要な場合があります。 たとえば、スタートアップ スクリプトで使用する .exe ファイルまたは .msi ファイルをサービス パッケージに追加する場合があります。 また、Web ロール プロジェクトまたは worker ロール プロジェクトに必要なアセンブリを追加することが必要な場合もあります。 ファイルを含めるには、そのファイルを Azure アプリケーションのソリューションに追加する必要があります。

  1. サービス パッケージにアセンブリを追加するには、次の手順に従います。

    1. ソリューション エクスプローラー で、参照アセンブリが欠けているプロジェクトのプロジェクト ノードを開きます。

    2. アセンブリをプロジェクトに追加するには、[参照] フォルダーのショートカット メニューを開き、[参照の追加] をクリックします。 [参照の追加] ダイアログが表示されます。

    3. 追加する参照を選択し、[OK] をクリックします。 [参照] フォルダーの下の一覧に参照が追加されます。

    4. 追加したアセンブリのショートカット メニューを開き、 [プロパティ]をクリックします。 [プロパティ] ウィンドウが表示されます。

      このアセンブリをサービス パッケージに含めるには、[ローカルにコピー] 一覧で [True] を選択します。

  2. ソリューション エクスプローラー で、参照アセンブリが欠けているプロジェクトのプロジェクト ノードを開きます。

  3. アセンブリをプロジェクトに追加するには、[参照] フォルダーのショートカット メニューを開き、[参照の追加] をクリックします。 [参照の追加] ダイアログが表示されます。

  4. 追加する参照を選択し、 [OK] をクリックします。

    [参照] フォルダーの下の一覧に参照が追加されます。

  5. 追加したアセンブリのショートカット メニューを開き、 [プロパティ]をクリックします。 [プロパティ] ウィンドウが表示されます。

  6. このアセンブリをサービス パッケージに含めるには、[ローカルにコピー] 一覧で [True] を選択します。

  7. Web ロール プロジェクトに追加したサービス パッケージにファイルを含めるには、ファイルのショートカット メニューを開き、 [プロパティ]をクリックします。 [プロパティ] ウィンドウで、[ビルド アクション] ボックスの一覧の [コンテンツ] をクリックします。

  8. worker ロール プロジェクトに追加したサービス パッケージにファイルを含めるには、ファイルのショートカット メニューを開き、 [プロパティ]をクリックします。 [プロパティ] ウィンドウで、[出力ディレクトリにコピー] ボックスの一覧の [新しい場合はコピーする] をクリックします。

Visual Studio から Azure への発行の詳細については、「 Azure アプリケーションの発行ウィザード」をご覧ください。