次の方法で共有


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

手記

この記事は、Azure Azure Cloud Services (延長サポート)に適用されます。 このデプロイ モデルは、2027 年 3 月 31 日に廃止されます。 詳細については、「 Azure の更新プログラム」を参照してください。

Azure Cloud Services は、場合によっては、ストレージ アカウントなどの認証に接続文字列に依存します。 接続文字列とパスワードは、意図しない露出や侵害のリスクがあるため、本質的に安全ではありません。 Microsoft では、認証にマネージド ID と Service Fabric マネージド クラスターなどのサービスを使用することをお勧めします。

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

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

次の手順を使用して、Azure アプリケーションを発行し、Web デプロイを使用して 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. (省略可能)発行後にクラウド サービスのリモート デスクトップを有効にするには、[すべてのロール に対してリモート デスクトップを有効にする]選択し、[設定] を選択してリモート デスクトップ資格情報を構成します。 詳細については、「Visual Studioを使用して Azure Cloud Services でロールのリモート デスクトップ接続を有効にする」を参照してください。

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

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

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

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

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

アプリのバックエンド インフラストラクチャが安定していても、Web ロールの更新頻度が高い場合は、Web 配置を使用してプロジェクト内の Web ロールのみを更新できます。 Web 配置は、バックエンド worker ロールを再構築して再デプロイしない場合や、複数の Web ロールがあり、いずれかの Web ロールのみを更新する場合に便利です。

Web Deploy を使用するための要件

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

  • Web ロールのみを更新できます。 Worker ロールは更新できません。 また、RoleEntryPointweb role.cs を更新することはできません。

  • Web ロールの 1 つのインスタンスのみをサポートできます。 デプロイ環境では、任意の Web ロールの複数のインスタンスを持つことはありません。 ただし、インスタンスが 1 つだけの複数の Web ロールがサポートされています。

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

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

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

手記

Web デプロイは、Azure Cloud Services (延長サポート) ではサポートされていません。

  1. すべての Web ロールに対して Web 展開を有効にする オプションを有効にするために、まずリモート デスクトップ接続を構成する必要があります。 すべての役割に対して[リモート デスクトップ を有効にする] を選択し、表示される[リモート デスクトップ構成 ] ボックスに、リモート接続に利用するための資格情報 を入力します。 Azure Cloud Services (延長サポート) でのロールのリモート デスクトップ接続を Visual Studio を使用して有効化するための方法については、を参照してください。

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

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

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

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

    手記

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

Web Deploy を使用して 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 または Server Explorerで Web ロールのインスタンスを選択し、リモート デスクトップ コマンドを使用して Connect を選択します。 仮想マシンに接続する方法の詳細な手順については、「Visual Studio を使用して Azure Cloud Services (延長サポート) でロールのリモート デスクトップ接続を有効にするを参照してください。 ブラウザーで、.rdp ファイルをダウンロードするように求められます。

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

      手記

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

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

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

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

    1. ソリューション エクスプローラー で、参照先アセンブリが見つからないプロジェクトのプロジェクト ノードを開きます。

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

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

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

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

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

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

  4. 追加する参照を選択し、[OK] ボタンを選択します。

    参照は、References フォルダーの下の一覧に追加されます。

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

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

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

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

Visual Studio から Azure に発行する方法の詳細については、「Azure アプリケーションの発行ウィザード」を参照してください。