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

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

このチュートリアルでは、次の作業を行う方法について説明します。

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

このチュートリアル シリーズでは、次の操作方法について説明します。

前提条件

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

Note

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

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

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

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

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

クラスターの作成

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

このチュートリアルでは、Visual Studio 統合開発環境 (IDE) で新しい 3 ノードのテスト クラスターを作成してから、そのクラスターにアプリケーションを発行します。 実稼働クラスターの作成の詳細については、クラスターの作成と管理に関する記事を参照してください。 また、Azure portal スクリプト、Azure PowerShell スクリプト、Azure CLI スクリプト、または Azure Resource Manager テンプレートを使って、前に作成した既存のクラスターにアプリケーションをデプロイすることもできます。

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" />

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

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

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

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

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

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

[証明書] タブで、クラスター証明書のパスワードと出力パスを入力します。 自己署名証明書は、個人情報交換 (PFX) ファイルとして作成され、指定した出力パスに保存されます。 証明書は、ノード間のセキュリティと、クライアントとノード間のセキュリティの両方に使用されます。 運用クラスターでは、自己署名証明書を使用しないでください。 Visual Studio では、この証明書を使ってクラスターで認証を行い、アプリケーションをデプロイします。

コンピューターの CurrentUser\My 証明書ストアに PFX をインストールするには、[証明書のインポート] を選択します。 次に、 [次へ] を選択します。

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

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

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

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

[作成] を選択して、クラスターを作成します。 このプロセスには数分かかります。

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

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

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

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

[接続のエンドポイント] には、前の手順で作成したクラスターのエンドポイントを選択します。 たとえば、mytestcluster.southcentralus.cloudapp.azure.com:19000 のようにします。 [高度な接続パラメーター] を選択している場合は、証明書情報が自動的に入力されます。

公開を選択します。

Service Fabric アプリケーションの発行を示すスクリーンショット。

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

Service Fabric の投票サンプルを示すスクリーンショット。

次のステップ

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