チュートリアル: Service Fabric でのコンテナー サービスのフェールオーバーとスケーリングをデモンストレーションする
このチュートリアルは、シリーズの第 3 部です。 このチュートリアルでは、Service Fabric コンテナー アプリケーションでのフェールオーバーの処理方法について説明します。 さらに、コンテナーのスケーリング方法を説明します。 このチュートリアルでは、次の作業を行いました。
- Service Fabric クラスターでのコンテナーのフェールオーバーについて学習する
- アプリケーションの Web フロントエンド コンテナーをスケーリングする
前提条件
パート 2 のアプリケーションは、アクティブな Service Fabric クラスターで動作しています。
クラスター内のコンテナーをフェールオーバーする
障害が発生すると、Service Fabric はクラスター内の他のノードにコンテナー インスタンスを自動的に移動します。 また、コンテナーのノードを手動でドレインして、クラスター内の他のノードに適切に移動することもできます。 サービスをスケーリングするには複数の方法があります。この例では、Service Fabric Explorer を使います。
フロントエンド コンテナーのフェールオーバーは、次の手順で行います。
- クラスターで Service Fabric Explorer を開きます (例:
http://lin4hjim3l4.westus.cloudapp.azure.com:19080
)。 - ツリー ビューの fabric:/TestContainer/azurevotefront ノードをクリックし、パーティション ノード (GUID で表されます) を展開します。 ツリー ビューのノード名に注意してください。この名前は、コンテナーが現在実行しているノードを示します (例:
_nodetype_1
)。 - ツリー ビューの Nodes ノードを展開します。 コンテナーを実行しているノードの横にある省略記号 (3 つのドット) をクリックします。
- [再起動] を選んでそのノードを再起動し、再起動操作を確認します。 再起動により、コンテナーはクラスター内の別のノードにフェールオーバーします。
ノード名 (フロントエンド コンテナーが実行されている場所を示す) がクラスター内の別のノードに変わることを確認します。 しばらくすると、再度アプリケーションを参照し、アプリケーションが異なるノードで実行していることを確認できます。
クラスター内のコンテナーとサービスをスケーリングする
Service Fabric コンテナーは、サービスに対する負荷に対応して、クラスター内でスケーリングすることができます。 コンテナーをスケーリングするには、クラスターで実行されるインスタンスの数を変更します。
Web フロントエンドをスケーリングするには、次の手順のようにします。
- クラスターで Service Fabric Explorer を開きます (例:
http://lin4hjim3l4.westus.cloudapp.azure.com:19080
)。 - ツリー ビューで fabric:/TestContainer/azurevotefront ノードの横にある省略記号 (3 つの点) をクリックし、[Scale Service]\(サービスのスケーリング\) を選びます。
これで Web フロントエンドのインスタンス数をスケーリングできる状態になりました。
- この数値を 2 に変更し、 [Scale Service](サービスのスケール) をクリックします。
- ツリー ビューの fabric:/TestContainer/azurevotefront ノードをクリックし、パーティション ノード (GUID で表されます) を展開します。
サービスに 2 つのインスタンスがあることがわかります。 ツリー ビューでは、インスタンスが実行しているノードを確認できます。
たったこれだけの管理タスクにより、フロントエンド サービスでユーザー負荷を処理するためのリソースが 2 倍になりました。 実行するサービスの信頼性を高めるために、サービスのインスタンスを複数用意する必要はないことに注目してください。 サービスで障害が発生した場合、Service Fabric によって新しいサービス インスタンスがクラスターで実行されます。
次のステップ
このチュートリアルでは、コンテナーのフェールオーバーとアプリケーションのスケーリングを実際に行いました。 次の手順を完了しました。
- Service Fabric クラスターでのコンテナーのフェールオーバーについて学習する
- アプリケーションの Web フロントエンド コンテナーをスケーリングする
このチュートリアル シリーズで学習した内容は次のとおりです。
- コンテナー イメージを作成する
- Azure Container Registry にコンテナー イメージをプッシュする
- Yeoman を使って Service Fabric のコンテナーをパッケージ化する
- コンテナーで Service Fabric アプリケーションをビルドして実行する
- Service Fabric でのフェールオーバーとスケーリングの処理方法