CloudHub アーキテクチャ

CloudHub​ の目的は、マルチテナントのセキュアで拡張性と可用性の高いサービスとしてインテグレーションプラットフォーム (iPaaS) を企業に提供することです。CloudHub を最大限に活用するには、これらの目標を達成するために CloudHub プラットフォームの基盤となるメカニズムのしくみを理解する方法を理解する必要があります。

CloudHub は、Anypoint Platform の Anypoint Runtime Manager コンソールで管理します。Anypoint Studio、​CloudHub REST API​ または ​Anypoint Platform コマンドラインインターフェース​から​デプロイ​することもできます。

オンプレミスや Anypoint Platform Private Cloud Edition (Anypoint PCE) などのさまざまなデプロイメントシナリオについての詳細は、​「デプロイメントオプション」​を参照してください。

セキュリティや可用性に対する CloudHub のアプローチを理解するには、CloudHub の背後にあるアーキテクチャを理解することが重要です。 CloudHub には、2 つの主要なコンポーネント (Anypoint プラットフォームサービスとワーカークラウド) があります。これらの 2 つのコンポーネントと、それらのコンポーネントへのアクセスに使用する Runtime Manager コンソールは、連携してインテグレーションアプリケーションを実行します。

architecture diagram

1 インテグレーションアプリケーション

ビジネスのインテグレーションロジックを実行するために作成して CloudHub にデプロイするアプリケーション

2 Runtime Manager

インテグレーションのデプロイや監視、アカウントの設定を行うことができるユーザーインターフェース

3 プラットフォームサービス

アラート管理、ログ管理、アカウント管理、Virtual Private Cloud/セキュアデータゲートウェイ、負荷分散を提供する CloudHub Insight が含まれる共有 CloudHub プラットフォームサービスと API

4 CloudHub 2.0

インテグレーションアプリケーションを実行する​ワーカー​ (Mule インスタンス) の拡張性の高いクラウド

デフォルトの (米国でホストされる) コントロールプレーンの status.mulesoft.com​ および EU コントロールプレーンの eu1-status.mulesoft.com​ では、Runtime Manager コンソール、プラットフォームサービス、CloudHub ワーカークラウドのライブ状況と詳細なサービス履歴を表示できます。

インテグレーションアプリケーション

インテグレーションアプリケーションは、Anypoint Studio を使用して作成したインテグレーションです。これらのアプリケーションは、Salesforce からデータベースへのデータの同期、SOAP または REST API のパブリッシュ、ビジネスプロセスの複雑なオーケストレーションの作成など、あらゆる作業を実行できます。

インテグレーションアプリケーションの作成やデプロイについての詳細は、​「CloudHub」​および​「CloudHub へのデプロイ」​を参照してください。

Runtime Manager

Runtime Manager コンソールは、 Anypoint Platform​ に統合されています。実行時にインテグレーションアプリケーションをアップロードおよび管理するには、Anypoint Platform ログイン情報を使用してサインインします。コンソールには、プラットフォームサービスの有益な監視情報が表示されます。また、コンソールはアプリケーションレベルとアカウントレベルの両方の管理に対応する包括的なダッシュボードとしても機能します。

このコンソールで ​CloudHub にデプロイ​したり、​他の登録済みサーバー​にデプロイしたりできます。また、​デプロイ済みアプリケーションを管理​することもできます。

システム管理者アカウントを所持しているユーザーは、Anypoint Platform を使用して、​組織の他のユーザーを追加および管理したり、ユーザーロールを定義​したり、Sandbox 環境を作成および管理したりできます。

CloudHub についてのその他の一般情報は、​「CloudHub」​を参照してください。

プラットフォームサービス

CloudHub のプラットフォームサービスは、プラットフォームのあらゆる側面の調整を担当します。アプリケーションのデプロイメントの調整、インテグレーションの監視、分析データの提供、アプリケーションデータの保存、スケジュール済みジョブの実行などを行います。また、これらのサービスの多くは、​CloudHub REST API​ を介して公開されています。

CloudHub ワーカー

ワーカー​は、CloudHub のインテグレーションアプリケーションを実行する Mule Runtime Engine の専用のインスタンスです。

ワーカーには、次の特性があります。

容量

各ワーカーには、データを処理するための特定の容量があります。ワーカーのサイズは、アプリケーションの設定時に選択します。

分離

各ワーカーは、他のすべてのアプリケーションから隔離されたコンテナで実行されます。

管理可能性

各ワーカーは個別にデプロイおよび監視されます。

地域

各ワーカーは、特定のワーカークラウド (米国、EU、アジア太平洋など) で実行されます。

ワーカーのメモリ容量と処理能力は、アプリケーションレベルでの設定方法によって異なります。

各ワーカーサイズの計算容量、メモリ容量、およびストレージ容量は異なります。 使用可能ないずれかのワーカーサイズを選択して、ワーカーを垂直方向にスケールできます。

ワーカーサイズ ワーカーメモリ ヒープメモリ ディスクストレージサイズ

0.1 vCore

1 GB

500 MB

8 GB

0.2 vCore

2 GB

1 GB

8 GB

1 vCore

4 GB

2 GB

12 GB

2 vCore

8 GB

4 GB

40 GB

4 vCore

16 GB

8 GB

88 GB

8 vCore

32 GB

16 GB

168 GB

16 vCore

64 GB

32 GB

328 GB

0.1 vCore および 0.2 vCore のワーカー:

  • 小さいワークロードのアプリケーションで CPU と I/O が制限される

  • 短期間、より高い CPU 速度に上げることができる

    この機能は、アプリケーションの起動時間の向上に役立つほか、まれに発生する大きなワークロードの処理に役立ちます。 一貫したパフォーマンスが必要な場合は、vCore の多いワーカーを使用してください。

1 以上の vCore のワーカー:

  • パフォーマンスが一貫している

  • Mule バージョン 3.6.2 以降または API ゲートウェイバージョン 2.0.2 以降でのみ使用できる

各ワーカーには、システムとアプリケーションの両方のストレージで使用する 8 GB 以上のストレージが割り当てられており、約 3.0 GB が OS と Mule コンポーネントで使用されます。アプリケーションでより多くのストレージが必要な場合 (冗長ログなど) は、2 以上の vCore のワーカーを使用して、アプリケーションが追加のストレージにアクセスできるようにしてください。

実行中のアプリケーションのみがワーカーの使用量に含まれます。

アプリケーションで、使用可能な量より多くの vCore を必要とする場合、CloudHub ではアプリケーションを作成することはできますが、追加の vCore が使用可能になるまでアプリケーションを開始できません。 vCore の割り当てを増やすには、別のアプリケーションを停止するか、アカウントマネージャーに連絡してサブスクリプションの vCore の割り当てを増やすよう依頼してください。

CloudHub にデプロイされたアプリケーションのメタ領域のサイズは、ワーカーサイズに関係なく現在のところ無制限となっています。 メタ領域の初期サイズは 128 MB で、メタ領域がこのしきい値に達すると、メタ領域のガベージコレクションが開始されます。

複数のワーカーを追加して永続的なキューでワーカー間にワークロードを分散できるようにすることで、アプリケーションを水平方向にスケールできます。 「ワーカーのスケールアウト」​と​「永続的なキュー」​を参照してください。

CloudHub は、ワーカーを監視して正常に動作していることを確認します。 自動再起動を有効にした場合、CloudHub は必要に応じてアプリケーションの再起動も行います。

グローバルワーカークラウド

CloudHub は、世界のさまざまなリージョン (北米、南米、欧州、アジア太平洋) でワーカークラウドを提供しています。 サポートされているリージョンの完全なリストについては、​「リージョンサービス」​を参照してください。

このグローバルな分散により、各自のサービスに最も近い場所でインテグレーションをホストできるため、レイテンシーが減少します。 また、EU データ保護指令などの地域の法律に準拠することもできます。 US コントロールプレーンと US-Gov コントロールプレーンの場合、MuleSoft では米国で管理コンソールとプラットフォームサービスをホストします。 EU コントロールプレーンの場合、MuleSoft ではこれらのサービスをヨーロッパでホストします。

アプリケーションをデプロイするリージョンによって、アプリケーションについて指定されるドメインが決まります。 たとえば、​myapp​ という名前のアプリケーションをカナダ (中央部) にデプロイする場合、アプリケーションにアクセスするために使用されるドメインは ​myapp.ca-c1.cloudhub.io​ になります。要求のルーティングに使用されるロードバランサーは、アプリケーションと同じリージョンに存在します。

別のリージョンへのアプリケーションのデプロイについての詳細は、​「CloudHub へのデプロイ」​を参照してください。 CloudHub のセキュリティおよびコンプライアンスについての詳細は、 「Anypoint Cloud Security & Compliance (Anypoint クラウドセキュリティおよびコンプライアンス)」ホワイトペーパー​をダウンロードしてください。

ワーカーとマルチテナンシー

サービスに応じてさまざまなレベルのセキュリティと分離が必要になるため、プラットフォームでは 2 つの異なるレベルのマルチテナンシーが提供されます。

  • 第 1 に、ワーカークラウドは、仮想マシンのマルチテナントクラウドです。これらの VM は、他に影響を与えずにインテグレーションでカスタムコードを実行するために必要なセキュリティと分離を提供します。

  • 第 2 に、管理コンソールとプラットフォームサービスは、すべてのテナントで同じ Web UI、監視サービス、ロードバランサーなどを共有する「すべてを共有する」アーキテクチャで構成されています。 これらのサービスは、データの処理や転送を行いません。

可用性と拡張性

CloudHub は、冗長性、インテリジェントな回復、ダウンタイムなしの更新などにより、可用性と拡張性が高くなるように設計されています。また、​高可用性機能​によってスケーリングと信頼性の向上を実現できます。

冗長性のあるプラットフォーム

CloudHub のすべてのプラットフォームサービス (負荷分散や API レイヤーなど) には 1 つ以上の冗長性レイヤーが組み込まれており、常に 2 つ以上のデータセンターで使用できます。どのデータセンターも 60 マイル以上離れています。この冗長性により、1 つのデータセンターが停止しても、プラットフォームを引き続き使用できます。

インテリジェントな回復

CloudHub は、ワーカークラウドの問題を監視し、問題から回復する自己回復メカニズムを提供します。基盤となるハードウェアに障害が発生すると、プラットフォームによって自動的にアプリケーションが新しいワーカーに移行されます。アプリケーションがクラッシュすると、カスタムコードの問題が原因でも、基盤となるスタックのバッグが原因でも、プラットフォームでクラッシュを認識し、​自動的にワーカーを再起動​できます。

アプリケーションの監視と自動再起動についての詳細は、​「アプリケーション監視と自動再起動」​を参照してください。

ダウンタイムなしの更新

CloudHub では、アプリケーションを実行時に更新できるため、HTTP API のエンドユーザーのダウンタイムはありません。CloudHub は、アプリケーションの更新をデプロイしている間も古いバージョンのアプリケーションを引き続き実行します。ドメインは、新しくアップロードされたバージョンが完全に開始されるまで古いバージョンのアプリケーションを参照します。これにより、新しいバージョンのアプリケーションを開始している間も古いアプリケーションからの要求を引き続き処理できます。

高可用性

高可用性機能を使用すると、CloudHub のアプリケーションで拡張性、ワークロードの分散、信頼性の向上を実現できます。これらの機能は、拡張性の高い負荷分散サービス、​ワーカーのスケールアウト​、​永続的なキュー​機能によって提供されます。

ワーカーのスケールアウトとデータセンターの冗長性

高可用性機能​を使用すると、複数のワーカーをアプリケーションに追加して、水平方向にスケールできます。CloudHub は、自動的に同じアプリケーションで複数のワーカーを 2 つ以上のデータセンターで分散し、最大限の信頼性を確保します。

アプリケーションを 2 つ以上のワーカーにデプロイすると、HTTP 負荷分散サービスはこれらのワーカーで要求を分散します。これにより、サービスを水平方向にスケールできます。要求は、ラウンドロビンベースで分散されます。

永続的なキュー

永続的なキューにより、メッセージの損失がなくなり、HTTP 以外のワークロードを一連のワーカーで分散できます。たとえば、アプリケーションを複数のワーカーにデプロイする場合、永続的なキューを使用すると、ワーカー間の通信とワークロードの分散を実現できます。大きなファイルがキューに配置された場合、ワーカーはこれを分割して並列で処理できます。

また、永続的なキューでは、1 つ以上のワーカーまたはデータセンターがダウンしても、メッセージが確実に配信されます。永続的なキューにより、障害回復が促進され、ハードウェアまたはアプリケーションの障害に対する回復力を得られます。

ワーカーのスケールアウトと永続的なキューの詳細は、​「高可用性」​を参照してください。

セキュリティ

CloudHub アーキテクチャは、インテグレーションのセキュアなプラットフォームを提供します。

ペイロードデータの保護は、非常に重要です。この目的を達成するために、CloudHub は、ペイロードデータの検査や保存、または直接のやりとりを行いません。CloudHub ワーカーは、各アプリケーションに独自の仮想マシンを提供することで、データの転送および処理に対応するセキュアな機能を提供します。これにより、ペイロードのセキュリティを確保するためのテナント間の完全な分離と、他のテナントのコードからの隔離が実現します。

CloudHub は、CloudHub ワーカーから監視データ、分析データ、ログデータを収集したり、ユーザーの代わりに CloudHub ワーカーでアクションを実行したりできます。CloudHub プラットフォームサービスとワーカークラウド間のすべての通信は、SSL とクライアント証明書認証を使用して保護されます。これにより、認証されていないパーティはデータを読み取ることができず、不正なアクションを開始できません。

セキュアなプロパティ​をアプリケーションバンドルの一部として読み込むこともできます。プロパティにセキュアフラグが設定されている場合、Runtime Manager コンソールでも表示できなくなります。実際には、アプリケーションを実行している CloudHub ワーカー以外の場所に伝播されなくなります。

セキュリティに関する MuleSoft のアプローチについての詳細は、 「Anypoint Cloud Security & Compliance whitepaper (Anypoint クラウドセキュリティおよびコンプライアンス)」ホワイトペーパー​を参照してください。