CloudHub 2.0 アーキテクチャ

CloudHub 2.0 のセキュリティや可用性を理解するには、CloudHub 2.0 の背後にあるアーキテクチャを理解する必要があります。

CloudHub 2.0 アーキテクチャは、Anypoint Platform サービスと共有グローバルリージョンの 2 つの主要コンポーネントで構成されます。 これらの 2 つのコンポーネントは、それらのコンポーネントへのアクセスに使用する Anypoint Runtime Manager と連携して、インテグレーションアプリケーションを実行します。

CloudHub 2.0 アーキテクチャと 4 つのコールアウト

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

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

2 Runtime Manager

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

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

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

4 CloudHub 2.0

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

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

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

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

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

Runtime Manager

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

システム管理者アカウントを所持しているユーザーは、Anypoint Platform を使用して、組織の他のユーザーを追加および管理したり、ユーザーロールを定義したり、Sandbox 環境を作成および管理したりできます。 詳細は、「アクセス管理について」を参照してください。

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

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

CloudHub 2.0 レプリカ

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

レプリカには、次の特性があります。

容量

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

分離

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

管理

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

地域

各レプリカは、特定のグローバルリージョン (米国、EU、アジア太平洋など) で実行されます。

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

各レプリカサイズの計算容量、メモリ容量、およびストレージ容量は異なります。

使用可能ないずれかの vCore サイズを選択して、レプリカを垂直方向にスケールできます。

vCore サイズ メモリ合計 ヒープメモリ ストレージ

0.1

1.2 GB

480 MB

8 GB

0.2

2 GB

1 GB

8 GB

0.5

2.6 GB

1.3 GB

10 GB

1

4 GB

2 GB

12 GB

1.5

6 GB

3 GB

20 GB

2

8 GB

4 GB

20 GB

2.5

9.5 GB

4.75 GB

20 GB

3

11 GB

5.5 GB

20 GB

3.5

13 GB

6.5 GB

20 GB

4

15 GB

7.5 GB

20 GB

1 vCore 未満のレプリカ:

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

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

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

1 つ以上の vCore のレプリカは、パフォーマンスが一貫します。

各レプリカには、システムとアプリケーションの両方のストレージで使用する最小限の 8 GB のストレージがあります。 アプリケーションでより多くのストレージが必要な場合 (冗長ログなど) は、2 以上の vCore のレプリカを使用して、アプリケーションが ​/tmp​ の追加のストレージにアクセスできるようにしてください。

すべての実行中のアプリケーションがレプリカの使用量に含まれます。停止したアプリケーションは含まれません。

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

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

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

CloudHub 2.0 は、レプリカを監視して正常に動作していることを確認し、必要に応じてアプリケーションを自動的に再起動します。

共有グローバルリージョン

CloudHub 2.0 は、世界のさまざまなリージョン (北米、南米、欧州、アジア太平洋) でアプリケーションをデプロイする機能を提供しています。

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

アプリケーションをデプロイするリージョンによって、アプリケーションについて指定されるドメインが決まります。

CloudHub 2.0 で要求のルーティングに使用されるロードバランサーは、アプリケーションと同じリージョンに存在します。

リージョンおよび DNS レコード

アプリケーションをどのリージョンにデプロイするかに応じて、インテグレーションの DNS レコードとロードバランサーが変わる場合があります。 各リージョンでアプリケーションがどの DNS レコードを使用できるかについて次の表にまとめました。

Region Name (リージョン名) Region (リージョン) 対象 ID DNS レコードの例

US コントロールプレーンリージョン

米国東部 (北バージニア)

usa-e1

cloudhub-us-east-1

myapp-​uniq-id​.shard.usa-e1.cloudhub.io

米国東部 (オハイオ)

usa-e2

cloudhub-us-east-2

myapp-​uniq-id​.shard.usa-e2.cloudhub.io

米国西部 (北カリフォルニア)

usa-w1

cloudhub-us-west-1

myapp-​uniq-id​.shard.usa-w1.cloudhub.io

米国西部 (オレゴン)

usa-w2

cloudhub-us-west-2

myapp-​uniq-id​.shard.usa-w2.cloudhub.io

カナダ (中央部)

can-c1

cloudhub-ca-central-1

myapp-​uniq-id​.shard.can-c1.cloudhub.io

南米 (サンパウロ)

bra-s1

cloudhub-sa-east-1

myapp-​uniq-id​.shard.bra-s1.cloudhub.io

アジア太平洋 (シンガポール)

sgp-s1

cloudhub-ap-southeast-1

myapp-​uniq-id​.shard.sgp-s1.cloudhub.io

アジア太平洋 (シドニー)

aus-s1

cloudhub-ap-southeast-2

myapp-​uniq-id​.shard.aus-s1.cloudhub.io

アジア太平洋 (東京)

jpn-e1

cloudhub-ap-northeast-1

myapp-​uniq-id​.shard.jpn-e1.cloudhub.io

EU (アイルランド)

irl-e1

cloudhub-eu-west-1

myapp-​uniq-id​.shard.irl-e1.cloudhub.io

EU (フランクフルト)

deu-c1

cloudhub-eu-central-1

myapp-​uniq-id​.shard.deu-c1.cloudhub.io

EU (ロンドン)

gbr-e1

cloudhub-eu-west-2

myapp-​uniq-id​.shard.gbr-e1.cloudhub.io

MuleSoft Government Cloud リージョン

US Gov West (米国政府西部)

usag-w1.gov

なし

myapp-​uniq-id​.shard.usg-w1.gov.cloudhub.io

EU コントロールプレーンリージョン

EU (アイルランド)

irl-e1.eu1

cloudhub-eu-west-1

myapp-​uniq-id​.shard.irl-e1.eu1.cloudhub.io

EU (フランクフルト)

deu-c1.eu1

cloudhub-eu-central-1

myapp-​uniq-id​.shard.deu-c1.eu1.cloudhub.io

たとえば、​myapp​ という名前のアプリケーションをカナダ (中央部) にデプロイする場合、アプリケーションにアクセスするために使用されるドメインは ​myapp-​uniq-id​.shard.can-c1.cloudhub.io​ になります。

CloudHub 2.0 バックエンドサービスによって、次の値が決定されます。

uniq-id

一意性を確保するためにアプリケーション名に追加される 6 桁の値 (​a9cdqr​ など)。

shard

アプリケーションがデプロイされる非公開スペースに関連付けられた 6 桁の値 (​q9opcf​ など)。

アプリケーションがデプロイされる共有スペースに関連付けられた 6 桁の値とそれに続くハイフン (​-​) と数値 (​bsb3v6-2​ など)。

CloudHub 2.0 は、各非公開スペースに ​shard​ の値を割り当てます。 共有スペースにデプロイされたアプリケーションの場合、各リージョンに複数の ​shard​ 値がある可能性があります。アプリケーションが停止または再起動されても、​shard​ 値は変更されません。ただし、共有スペースでアプリケーションが削除されて再デプロイされると、​shard​ 値は変更される場合があります。

DNS レコードは各コントロールプレーンで一意です。 EU コントロールプレーンは、US コントロールプレーンがサポートするリージョンの一部をサポートしますが、DNS レコードは異なります。 EU コントロールプレーンについての詳細は、「EU コントロールプレーンについて」を参照してください。

たとえば、US コントロールプレーンを使用していてそれをアイルランドリージョンにデプロイした場合、外部および内部の IP アドレスの DNS レコードは ​myapp-​uniq-id​.shard.irl-e1.cloudhub.io​ および ​myapp-​uniq-id​.internal-​shard​.irl-e1.cloudhub.io​ になります。

マルチテナンシー

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

  • 共有グローバルリージョンは、仮想マシン (VM) のマルチテナントクラウドです。

    これらの VM は、他に影響を与えずにインテグレーションでカスタムコードを実行するために必要なセキュリティと分離を提供します。

  • 必要に応じて、アプリケーションを実行する CloudHub 2.0 の仮想、非公開、および分離領域である、シングルテナントの​非公開スペース​を作成できます。

    詳細は、「非公開スペース」を参照してください。

  • 管理コンソールとプラットフォームサービスは、すべてのテナントで同じ Web UI、監視サービス、ロードバランサーを共有する、​「すべてを共有する」​アーキテクチャで構成されています。

    これらのサービスは、データを処理したり送信したりすることはありません。

可用性と拡張性

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

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

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

インテリジェントな回復

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

ダウンタイムなしの更新

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

クラスタリング

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

詳細は、「クラスタリング」を参照してください。

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

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

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

アプリケーション監視と自動再起動

CloudHub 2.0 はすべてのアプリケーションを監視し、必要に応じて自動的に再起動するため、ユーザーが介入しなくてもアプリケーションが回復されます。

CloudHub 2.0 は、アプリケーションが再起動中であることを知らせる通知を表示し、その後で再起動の成功または失敗を報告する通知を表示します。

ログに再起動プロシージャーの詳細が表示されます。 アプリケーションが応答しなくなった場合に、アラートと診断情報を受信することもできます。

セキュリティ

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

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

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

アプリケーションのプロパティ値を保護​することもできます。 保護されたプロパティ値は、どのユーザーも参照したり取得したりできません。 これらの保護されたアプリケーション値は暗号化され、Anypoint Security シークレットマネージャーに保存されます。その後、ユーザー組織ごとに暗号化されます。