チュートリアル: Azure のクラスターに Service Fabric アプリケーションをデプロイする

このチュートリアルは、シリーズの第 2 部です。 Azure の新しいクラスターに Azure Service Fabric アプリケーションをデプロイする方法を示します。

このチュートリアルでは、以下の内容を学習します。

  • クラスターを作成する。
  • Visual Studio を使用してリモート クラスターにアプリケーションをデプロイする。

このチュートリアル シリーズで学習する内容は次のとおりです。

前提条件

このチュートリアルを開始する前に

Note

無料アカウントは、仮想マシンを作成するための要件を満たさない可能性があります。 その場合は、チュートリアルを完遂できません。 加えて、職場アカウントでも学校アカウントでもないアカウントでは、クラスターに関連付けられているキーコンテナーに証明書を作成する過程で、アクセス許可の問題が生じることがあります。 証明書の作成に関連するエラーが発生した場合は、代わりにポータルを使用してクラスターを作成してください。

投票サンプル アプリケーションをダウンロードする

このチュートリアル シリーズの第 1 部で投票サンプル アプリケーションをビルドしていない場合は、ダウンロードすることができます。 コマンド ウィンドウで次のコードを実行して、サンプル アプリケーションのリポジトリをお客様のローカル コンピューターに複製します。

git clone https://github.com/Azure-Samples/service-fabric-dotnet-quickstart 

管理者として実行している Visual Studio でアプリケーションを開き、アプリケーションをビルドします。

クラスターの作成

アプリケーションの準備ができたので、Service Fabric クラスターを作成して、アプリケーションをクラスターにデプロイします。 Service Fabric クラスターは、ネットワークで接続された一連の仮想マシンまたは物理マシンで、マイクロサービスがデプロイおよび管理されます。

このチュートリアルでは、Visual Studio IDE で新しい 3 ノードのテスト クラスターを作成してから、そのクラスターにアプリケーションを発行します。 運用クラスターの作成については、クラスターの作成と管理に関するチュートリアルを参照してください。 PowerShell スクリプトまたは Azure CLI スクリプトを使用するか、あるいは Azure Resource Manager テンプレートをベースにして、以前に Azure portal を使用して作成した既存のクラスターにアプリケーションをデプロイすることもできます。

Note

投票アプリケーション、およびその他の多くのアプリケーションでは、サービス間の通信に Service Fabric リバース プロキシが使用されます。 Visual Studio で作成されたクラスターでは、既定でリバース プロキシが有効になっています。 既存のクラスターにデプロイする場合、投票アプリケーションが動作するためには、クラスターでリバース プロキシを有効にする必要があります。

VotingWeb サービス エンドポイントを見つける

投票アプリケーションのフロントエンド Web サービスは、特定のポートでリッスンしています (このチュートリアル シリーズの第 1 部の手順に従っている場合は 8080)。 Azure でアプリケーションがクラスターにデプロイされると、クラスターとアプリケーションの両方が Azure ロード バランサーの背後で実行します。 Azure ロード バランサーで、規則を使用してアプリケーション ポートが開かれている必要があります。 規則に従って、インバウンド トラフィックがロード バランサー経由で Web サービスに送信されます。 ポートは、VotingWeb/PackageRoot/ServiceManifest.xml ファイルの Endpoint 要素にあります。

<Endpoint Protocol="http" Name="ServiceEndpoint" Type="Input" Port="8080" />

サービス エンドポイントをメモしておきます。これは後の手順で必要になります。 既存のクラスターにデプロイする場合は、PowerShell スクリプトを使用して Azure ロード バランサーに負荷分散規則とプローブを作成するか、または Azure portal でこのクラスターのロード バランサーを介して、このポートを開きます。

Azure でテスト クラスターを作成する

ソリューション エクスプローラーで、 [Voting] を右クリックし、 [発行] を選択します。

[接続のエンドポイント] で、 [新しいクラスターの作成] を選択します。 既存のクラスターにデプロイする場合は、一覧でクラスターのエンドポイントを選択します。 [Service Fabric クラスターの作成] ダイアログ ボックスが開きます。

[クラスター] タブで、クラスター名 (たとえば、"mytestcluster") を入力します。お客様のサブスクリプションを選択し、クラスターのリージョン (たとえば、"米国中南部") を選択します。クラスター ノードの数 (テスト クラスターには 3 つのノードをお勧めします) を入力し、リソース グループ (たとえば、"mytestclustergroup") を入力します。 [次へ] をクリックします。

[Service Fabric クラスターの作成] ダイアログ ボックスの [クラスター] タブを示すスクリーンショット。

[証明書] タブで、クラスター証明書のパスワードと出力パスを入力します。 自己署名証明書は PFX ファイルとして作成され、指定した出力パスに保存されます。 証明書は、ノード間のセキュリティと、クライアントとノード間のセキュリティの両方に使用されます。 運用クラスターでは、自己署名証明書を使用しないでください。 この証明書は、クラスターによる認証とアプリケーションのデプロイのために Visual Studio によって使用されます。 お客様のコンピューターの CurrentUser\My certificate store に PFX をインストールするために、 [証明書のインポート] を選択します。 [次へ] をクリックします。

[Service Fabric クラスターの作成] ダイアログ ボックスの [証明書] タブを示すスクリーンショット。

[VM の詳細] タブで、クラスター管理者アカウントのユーザー名パスワードを入力します。 クラスター ノードの仮想マシン イメージを選択し、各クラスター ノードの仮想マシン サイズを選択します。 [詳細設定] タブをクリックします。

[Service Fabric クラスターの作成] ダイアログ ボックスの [VM の詳細] タブを示すスクリーンショット。

[ポート] に、前の手順の VotingWeb サービス エンドポイントを入力します (たとえば、8080)。 クラスターが作成されると、トラフィックをクラスターに転送するためにこれらのアプリケーション ポートが Azure ロード バランサーで開かれます。 [作成] をクリックしてクラスターを作成します。これには数分かかります。

[Service Fabric クラスターの作成] ダイアログ ボックスの [詳細設定] タブを示すスクリーンショット。

アプリケーションをクラスターに発行する

新しいクラスターの準備ができたら、Visual Studio から投票アプリケーションを直接デプロイできます。

ソリューション エクスプローラーで、 [Voting] を右クリックし、 [発行] を選択します。 [発行] ダイアログ ボックスが表示されます。

[接続のエンドポイント] で、お客様が前の手順で作成したクラスターのエンドポイントを選択します (たとえば、"mytestcluster.southcentralus.cloudapp.azure.com:19000")。 [詳細な接続パラメーター] を選択した場合、証明書情報は自動的に入力されます。
Service Fabric アプリケーションを発行する

[発行] を選択します。

アプリケーションがデプロイされたら、ブラウザーを開き、クラスター アドレスとそれに続けて「 :8080」を入力します。 他のポートが構成されている場合は、そのポートを入力します。 たとえば http://mytestcluster.southcentralus.cloudapp.azure.com:8080 です。 Azure のクラスターでアプリケーションが実行されていることがわかります。 投票 Web ページで、投票オプションの追加や削除を試します。さらに、これらのオプションの 1 つ以上に投票してみます。

Service Fabric の投票サンプル

次のステップ

チュートリアルのこの部分で学習した内容は次のとおりです。

  • クラスターを作成する。
  • Visual Studio を使用してリモート クラスターにアプリケーションをデプロイする。

次のチュートリアルに進みます。