---
schema_version: "1"
id: b74ae85c9d47a41a42665364ee3e77a0607e73860ebe9b32f41b8926a76af0a0
title: クラスタリング
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/cloudhub-2/ch2-clustering.md
canonical_url: https://docs.mulesoft.com/jp/cloudhub-2/ch2-clustering
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 79261f0f21ed211b1e683bcbbd81f247634293ddc4d592b76b9fa6b01576a1d4
description: MuleSoft Documentation Site
latest: true
---
# クラスタリング

クラスタリングを使用すると、CloudHub 2.0 のアプリケーションで拡張性、ワークロードの分散、信頼性の向上を実現できます。 この機能は、CloudHub の拡張性の高い負荷分散サービスおよびレプリカのスケールアウトによって提供されます。

新しいアプリケーションをデプロイするときや、既存のアプリケーションを再デプロイするときに Anypoint Runtime Manager コンソールを使用して、アプリケーションごとにクラスタリング機能を有効にできます。

## [](#高可用性およびクラスタリング)高可用性およびクラスタリング

_高可用性_​とは、クラスタリングとは異なり、各レプリカ間でデータを共有しない複数のレプリカがあることを指します。 _クラスタリング_​では、複数のレプリカが相互に通信し、メモリを共有しているためにデータを共有できます。

### [](#cloudhub-2-0-クラスタリングおよび-object-store-v2)CloudHub 2.0 クラスタリングおよび Object Store v2

CloudHub 2.0 は、Mule 4 アプリケーション用 Object Store v2 に加えて、Mule を使用したクラスタリングをサポートしています。CloudHub 2.0 で Object Store v2 を有効にする場合、レート制限がある点に注意してください。詳細は、[Object Store v2 の概要](https://docs.mulesoft.com/jp/object-store/)を参照してください。

CloudHub 2.0 でオブジェクトストアを使用するようにアプリケーションを設定する必要はありません。さらに、Mule 4 アプリケーションでは、Anypoint Runtime Manager コンソールから有効化できる Object Store v2 がサポートされています。

## [](#始める前に)始める前に

クラスタリングでは、以下が必要です。

- Anypoint Integration Advanced パッケージ、または Anypoint Platform の Platinum または Titanium サブスクリプション
- この機能を使用できる CloudHub Enterprise または Partner アカウント種別。
- Runtime Manager を使用したアプリケーションのデプロイについての理解。

## [](#replica-scale-out)レプリカのスケールアウト

CloudHub 2.0 では、アプリケーションの vCore オプションを選択して、水平方向に拡張できます。 このように計算能力のプロビジョニングを詳細に制御できるため、高い負荷に対処する場合はアプリケーションをスケールアップし、負荷が低い期間はスケールダウンするという作業を任意のタイミングで柔軟に行うことができます。

最大 8 個 (Anypoint Integration Advanced パッケージや、Anypoint Platform の Platinum または Titanium サブスクリプションがある場合は最大 16 個) のレプリカを使用してアプリケーションをデプロイできます。 十分なリソースがあることを確認するには、​[「CloudHub 2.0 レプリカ」](https://docs.mulesoft.com/jp/cloudhub-2/ch2-architecture#cloudhub-2-replicas)​を参照してください。

レプリカのスケールアウトにより、信頼性も向上します。 Mule Runtime Engine (Mule) は、自動的に同じアプリケーションで複数のレプリカを 2 つ以上のデータセンターで分散し、最大限の信頼性を確保します。

アプリケーションを 2 つ以上のレプリカにデプロイすると、それらの Mule インスタンスでワークロードを分散できます。 CloudHub では、割り当てたレプリカで HTTP 要求を自動的に分散する、次の HTTP 負荷分散サービスが提供されます。

バッチジョブは、一度に 1 つのレプリカでのみ実行され、複数のレプリカで分散できません。 同じデプロイメントで Mule が再起動すると、その状況は保持され、バッチの処理が続行されます。 バッチの実行中にアプリケーション全体が更新または再デプロイされると、残りのバッチジョブは続行されません。 CloudHub 2.0 の永続的なバッチジョブの主な解決策は、[Object Store v2 の概要](https://docs.mulesoft.com/jp/object-store/)を参照してください。

Kubernetes では、水平ポッド自動スケーリング (HPA) により、需要に合わせてワークロードをスケーリングするために、ワークロードリソースが自動的に更新されます。水平スケーリングでは、負荷の増加に対応してより多くのポッドが自動的にデプロイされます。これらの定期的な自動スケーリング操作により、ユーザーアクションなしでアプリケーションを新しいレプリカに変更できます。

## [](#クラスタリング機能の有効化)クラスタリング機能の有効化

次の 2 つのいずれかの方法でクラスターモードおよび水平自動スケーリングのいずれかまたは両方を有効/無効にできます。

- 初めてアプリケーションを CloudHub 2.0 にデプロイする場合は、Runtime Manager 使用します。
    
    - **\[Runtime (ランタイム)\]**​ タブの ​**\[Replica Count (レプリカ数)\]**​ および ​**\[Replica Size (レプリカサイズ)\]**​ ドロップダウンメニューを使用して、vCore オプションを選択し、必要な計算能力を設定します。
    - **\[Runtime Options (ランタイムオプション)\]**​ セクションで ​**\[Run in Runtime Cluster Mode (ランタイムクラスターモードで実行)\]**​ をオンにして、アプリケーションの各レプリカで Mule クラスタリングを有効にします。このオプションには、少なくとも 2 つのレプリカが必要です。
- 以前にアプリケーションをデプロイしている場合は、​**\[Deployment Target (デプロイメント対象)\]**​ タブの ​**\[Replica Count (レプリカ数)\]**​ および ​**\[Replica Size (レプリカサイズ)\]**​ ドロップダウンメニューを使用します。
    
    - **\[Runtime Options (ランタイムオプション)\]**​ セクションで ​**\[Run in Runtime Cluster Mode (ランタイムクラスターモードで実行)\]**​ をオンにして、アプリケーションの各レプリカで Mule クラスタリングを有効にします。このオプションには、少なくとも 2 つのレプリカが必要です。

複数のレプリカへのデプロイについての詳細は、​[「CloudHub 2.0 レプリカ」](https://docs.mulesoft.com/jp/cloudhub-2/ch2-architecture#cloudhub-2-replicas)​を参照してください。

アプリケーションがすでにデプロイされている場合、新しい設定を有効にするには、再デプロイする必要があります。

## [](#高可用性の実装方法)高可用性の実装方法

HTTP 負荷分散は、内部リバースプロキシサーバーで実装されます。 アプリケーション (ドメイン) URL への要求は、自動的にすべてのアプリケーションのレプリカ URL で負荷分散されます。

## [](#クラスタリングの実装方法)クラスタリングの実装方法

クラスタリングを有効にすると、Mule アプリケーションのすべてのレプリカがユニットとして機能します。クラスターとは複数のレプリカで構成された仮想サーバーです。クラスター内のノードは分散された共有メモリグリッドを通じて通信を行い、情報を共有します。つまり、データがさまざまなレプリカのメモリ間で複製されます。

詳細は、[On-Premises Mule Runtime High Availability Cluster Overview](https://docs.mulesoft.com/on-premises/latest/mule-high-availability-ha-clusters)を参照してください。

## [](#ユースケース)ユースケース

単一のアプリケーションで、クラスタリング機能を組み合わせることができます。

<table class="tableblock frame-all grid-all stretch">
<colgroup>
<col style="width: 33.3333%;">
<col style="width: 33.3333%;">
<col style="width: 33.3334%;">
</colgroup>
<thead>
<tr>
<th class="tableblock halign-left valign-top">ユースケース</th>
<th class="tableblock halign-left valign-top">推奨されるクラスタリング設定</th>
<th class="tableblock halign-left valign-top">影響</th>
</tr>
</thead>
<tbody>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>アプリケーションをスケールアウトしたいが、サービスの中断とメッセージの損失については、既存の可用性の高い CloudHub 2.0 アーキテクチャに満足している。Mule スケジュールが同時に複数回実行されることに同意しており、競合を回避するために、スケジュールフローは羃等であることが望ましい。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>レプリカの数: 2 つ以上<br>
クラスタリングは有効になっていない</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="ulist">
<ul>
<li>
<p>キューのレイテンシーによるアプリケーションパフォーマンスへの影響はない。</p>
</li>
<li>
<p>キューをサポートするようにアプリケーションを設定する必要はない。</p>
</li>
<li>
<p>アプリケーションスケジュールはすべてのレプリカで独立して実行される。</p>
</li>
<li>
<p>オブジェクトストアはレプリカ間で共有されない。</p>
</li>
<li>
<p>オブジェクトが 1 つのレプリカに書き込まれる場合、クラウドオブジェクトストアが使用されていないと、レプリカでオブジェクトが参照されない。</p>
</li>
<li>
<p>1 つのデータセンターが停止しても、別のデータセンターでレプリカを使用できる。</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>メッセージの損失に対する保護が必要な大きな利害が関係するプロセスがあるが、処理負荷の対処に問題は発生しておらず、データセンターが停止した場合に一部のサービスが中断されても問題はない。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>レプリカの数: 1 つ<br>
クラスタリングは有効になっている</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="ulist">
<ul>
<li>
<p>アプリケーションでキューのレイテンシーが発生する可能性がある。</p>
</li>
<li>
<p>デプロイする前にキューをサポートするようにアプリケーションを設定する。</p>
</li>
<li>
<p>アプリケーションスケジュールは 1 つのレプリカで 1 回実行される。</p>
</li>
<li>
<p>アプリケーションランタイムが実行時に使用できない場合、アプリケーションスケジュールが実行されない可能性がある。</p>
</li>
<li>
<p>レプリカが動作しているデータセンターが停止すると、CloudHub 2.0 によって自動的にアプリケーションが別の可用性ゾーンに移行される。移行時にダウンタイムが発生する場合もありますが、キューにより、メッセージの損失はありません。</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>メッセージの損失に対する保護が必要な大きな利害が関係するプロセスがあり、サービスの中断を避けて、大きな処理負荷に対処する。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>レプリカの数: 2 つ以上<br>
クラスタリングは有効になっている</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="ulist">
<ul>
<li>
<p>アプリケーションでキューのレイテンシーが発生する可能性がある。</p>
</li>
<li>
<p>デプロイする前にキューをサポートするようにアプリケーションを設定する必要がある。</p>
</li>
<li>
<p>アプリケーションスケジュールはプライマリレプリカで 1 回のみ実行される。</p>
</li>
<li>
<p>リード選択時にアプリケーションスケジュールが実行されない可能性がある。</p>
</li>
<li>
<p>1 つのデータセンターが停止すると、レプリカが自動的に分散されて冗長性が確保される。</p>
</li>
</ul>
</div></div></td>
</tr>
<tr>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>処理負荷やメッセージの損失に関して特殊な要件のないアプリケーションがある。</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="paragraph">
<p>レプリカの数: 1 つ<br>
クラスタリングは有効になっていない</p>
</div></div></td>
<td class="tableblock halign-left valign-top"><div class="content"><div class="ulist">
<ul>
<li>
<p>キューのレイテンシーによるアプリケーションパフォーマンスへの影響はない。</p>
</li>
<li>
<p>キューをサポートするようにアプリケーションを設定する必要はない。</p>
</li>
<li>
<p>アプリケーションスケジュールは 1 つのレプリカで 1 回実行される。</p>
</li>
<li>
<p>オブジェクトストアは複製されて各レプリカと共有される。</p>
</li>
<li>
<p>すべてのレプリカは、クラウドオブジェクトストアの有無に関係なく、別のレプリカによって書き込まれたオブジェクトを読み取ることができる。</p>
</li>
<li>
<p>レプリカが動作しているデータセンターが停止すると、CloudHub 2.0 によって自動的にアプリケーションが別の可用性ゾーンに移行されるが、移行時にダウンタイムやメッセージの損失が発生するが場合がある。</p>
</li>
</ul>
</div></div></td>
</tr>
</tbody>
</table>

## [](#関連情報)関連情報

- [CloudHub 2.0 アーキテクチャ](https://docs.mulesoft.com/jp/cloudhub-2/ch2-architecture)
- [Object Store v2 の概要](https://docs.mulesoft.com/jp/object-store/)