Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこのガイドは、Runtime Manager のクラウドベースバージョンを使用するクラウドデプロイを対象とします。別のデプロイメントシナリオについては、「デプロイメントオプション」を参照してください。
CloudHub にはインテグレーションと API を設計するためのさまざまなツールが用意されており、インテグレーションと API の保守性、安全性、拡張性が確保されます。このガイドでは、基本的なネットワークアーキテクチャ、DNS、およびファイアウォールルールについて説明します。
負荷分散および DNS レコードについては、以下の各セクションを参照してください。 VPC については、「Virtual Private Cloud」を参照してください。
CloudHub はすべてのインテグレーションに負荷分散サービスを提供します。デフォルトの負荷分散サービスを使用するか、専用ロードバランサーを取得することができます。
CloudHub 負荷分散サービスはワーカー間でラウンドロビン方式の負荷分散を実行します。これにより、ワーカーは、受け取る要求が増加するにつれて規模を線形的に拡大できます。また、この負荷分散では、アプリケーションのアップグレード時に切り替えが透過的に実行されます。「CloudHub でのアプリケーションの管理」を参照してください。
CloudHub にデプロイされた各アプリケーションには、ロードバランサーを参照する CNAME
レコードがあります (例: myapp.region.cloudhub.io
)。CloudHub にデプロイされた Mule アプリケーションはホスト 0.0.0.0
上で HTTP ポート (8081
) または HTTPS ポート (8082
) をリスンする必要があります。
Mule ワーカーでは次のポートが割り当てられます。
http.port
が 8081
に設定されます
https.port
が 8082
に設定されます
次に、ロードバランサーは Mule ワーカー上の割り当てられたポートに要求を転送します。転送されたトラフィックは引き続き HTTP および HTTPS プロトコルを使用します。つまり、${http.port}
で HTTPS をリスンしたり、${https.port}
でプレーン HTTP をリスンしたりできません。
これらのポートを、それぞれに予約されたプロパティ ${http.port}
および ${https.port}
を使用して参照する必要があります。これで、CloudHub サービスはデプロイ時にポートを動的に割り当てることができます。
HTTPS エンドポイントを公開する Mule 設定の例を次に示します。
<http:listener-config name="HTTP_Listener_Configuration" protocol="HTTPS" host="0.0.0.0" port="${https.port}" doc:name="HTTP Listener Configuration" >
<tls:context name="TLS_Context_Custom_Keystore" doc:name="TLS Context">
<tls:key-store type="jks" path="server.jks" keyPassword="keypassword" password="storepassword" alias="cloudhubworker" />
</tls:context>
</http:listener-config>
Mule ワーカー上で CloudHub ロードバランサーは自動的に http.port :80 を HTTP 用のポート :8081 にプロキシし、https.port :443 を HTTPS 用の :8082 にプロキシします。mule-app.properties ファイルで http.port と https.port に他の値が指定されている場合、それらはデプロイ時に上書きされます。
|
CloudHub のロードバランサー ( どちらの側からでも接続の処理に 300 秒を超える時間がかかる場合、処理を非同期で実行することを検討してください。 |
アプリケーションが CloudHub にデプロイされると、アプリケーションの以下の DNS レコードが公開されます。
myapp.region.cloudhub.io |
ロードバランサー。ポート 80 と 443 はそれぞれ |
mule-worker-myapp.region.cloudhub.io |
Mule ワーカーの外部 IP アドレス。公開 HTTP サービスは |
mule-worker-internal-myapp.region.cloudhub.io |
Mule ワーカーの内部 IP アドレス。この DNS レコードの IP アドレスには、顧客の非公開 Anypoint VPC 内でのみアクセスできます。MuleSoft の共有 VPC 内で実行されているワーカーはこの IP アドレスにアクセスできません。内部 HTTP サービスは |
たとえば、次のような特定の状況では、アプリケーションの内部 IP アドレスを知ることが必要になる場合があります。
公開インターネットにデータを送信せずに、顧客の Anypoint VPC 内でワーカーと直接通信する
独自のロードバランサーをセットアップする
この IP アドレスには、Anypoint VPC 内から mule-worker-internal-myapp.region.cloudhub.io
レコードを介してアクセスできます。ワーカーに直接アクセスする場合、CloudHub の負荷分散レイヤーから得られる負荷分散のすべてのメリットが失われます。
CloudHub IP アドレスは Amazon EC2 IP プールから選択されます。この範囲のリストについては、 Amazon AWS IP アドレス範囲 API を参照してください。このページの「Download (ダウンロード)」リンクでは、リージョンを含むすべての範囲の動的に生成された JSON 表現を取得できます。これらの範囲は通知なしに変更される可能性があるため、この情報を定期的に更新する必要があります。
CloudHub では、アプリケーションの静的 IP の割り当てがサポートされるため、他のサービス用に静的 IP を許可リストに登録できます。アプリケーションの静的 IP を有効にするには、Runtime Manager UI のアプリケーション設定ページの [Static IPs (静的 IP)] タブに移動して、[Use Static IP (静的 IP を使用)] チェックボックスをオンにします。デフォルトでは、サブスクリプション内の本番 vCore の 2 倍の数の静的 IP が割り当てられます。この制限を増やすには、 MuleSoft ヘルプセンターにお問い合わせください。
アプリケーションの静的 IP が割り当てられると、IP アドレスはアプリケーション設定ページの [Static IPs (静的 IP)] タブに表示されます。静的 IP についての詳細は、「Static IPs Tab Settings ([Static IPs (静的 IP) タブの設定)」]を参照してください。
静的 IP アドレスは、Anypoint VPC 内部の非公開 IP アドレスではサポートされません。 |
場合によって、ファイアウォールまたはインフラストラクチャの設定により、Mule Runtime Engine が Runtime Manager の公開サービスにアクセスできないことがあります。これは、Mule を登録する場合や、Mule を開始し、Runtime Manager と連携するするように Mule を登録する場合に問題となることがあります。
Runtime Manager エージェントと Runtime Manager コンソール間の通信のために IP アドレスを許可する必要がある場合、「ポート、IP アドレス、ホスト名の許可」を参照してください。
複数のワーカーを使用するアプリケーションに静的 IP を割り当てることができます。ただし、複数のワーカーの静的 IP を事前に割り当てることはできません。複数のワーカーの場合、IP アドレスは自動的に割り当てられます。 |
アプリケーションをどのリージョンにデプロイするかに応じて、インテグレーションの DNS レコードとロードバランサーが変わる場合があります。各リージョンでアプリケーションがどの DNS レコードを使用できるかについて次の表にまとめました。
米国コントロールプレーンの Anypoint Platform は、以下の地域をカバーしています。
米国コントロールプレーンの地域 | DNS レコード |
---|---|
米国東部 (北バージニア) |
|
米国東部 (オハイオ) |
|
米国西部 (北カリフォルニア) |
|
米国西部 (オレゴン) |
|
カナダ (中央部) |
|
南米 (サンパウロ) |
|
アジア太平洋 (シンガポール) |
|
アジア太平洋 (シドニー) |
|
アジア太平洋 (東京) |
|
EU (アイルランド) |
|
EU (フランクフルト) |
|
EU (ロンドン) |
|
MuleSoft Government Cloud 用 Anypoint Platform は、以下の地域をカバーしています。
米国コントロールプレーンの地域 | DNS レコード |
---|---|
US Gov West (米国政府西部) |
|
EU コントロールプレーンの Anypoint Platform は、以下の地域をカバーしています。
EU コントロールプレーンの地域 | DNS レコード |
---|---|
EU (アイルランド) |
|
EU (フランクフルト) |
|
DNS レコードは各コントロールプレーンで一意です。EU コントロールプレーンは、米国コントロールプレーンがサポートする地域の一部をサポートしますが、DNS レコードは異なります。EU コントロールプレーンの詳細については、「EU コントロールプレーンについて」を参照してください。
リージョンへのデプロイは、内部および外部のワーカー DNS アドレスにも影響します。たとえば、米国のコントロールプレーンを使用していてそれをアイルランド地域にデプロイした場合、内部および外部の IP アドレスの DNS レコードは mule-worker-myapp.ir-e1.cloudhub.io
および mule-worker-internal-myapp.ir-e1.cloudhub.io
になります。
外部に公開されるポートは ${http.port}
と ${https.port}
(デフォルトではそれぞれ 8081 と 8082) の 2 つのみです。他のポートにアクセスする必要がある場合、Anypoint Virtual Private Cloud (Anypoint VPC) を使用できます。
たとえば JMX ベースの監視を行うために追加のポートを Anypoint VPC 内で開くことができます。Anypoint VPC のドキュメントでファイアウォールルールに関するセクションを参照してください。
場合によって、Mule ワーカー用のカスタム負荷分散レイヤーのセットアップが必要になることがあります。たとえば、カスタムドメイン名や SSL 証明書を提供する必要がある場合です。
ワーカー用の内部または外部 DNS レコードを介してトラフィックをロードバランサーから CloudHub ワーカーにルーティングできます。このレコードにはアプリケーション内のすべてのワーカーの IP アドレスが含まれます。DNS タイムアウトを 20 ~ 60 秒の間で設定することをお勧めします。これで、あらゆる DNS 変更がすばやく反映され、影響が最小限に抑えられます。
独自の Anypoint VPC を設定した後に、独自の専用ロードバランサーを設定できます。
Anypoint VPC および CloudHub 専用ロードバランサーがある場合、CloudHub でホストされるアプリケーションが一般に公開されることを回避できます。
次の方法を使用して、ポート 8081 および 8082 の Anypoint VPC ファイアウォールルールを削除します。
Anypoint VPC Management Center の [Firewall Rules (ファイアウォールルール)] タブ。接続元 Anywhere (0.0.0.0/0)
とポート 8081 および 8082 を使用する両方のルールを削除します。
Anypoint Platform CLI。インデックス 1
および 3
を使用して cloudhub vpc firewall-rules remove
コマンドを実行します。
承認する IP アドレスを使用して、専用ロードバランサーで許可リストを作成します。
CloudHub 専用ロードバランサーがない場合、最初のステップを実行すれば、Anypoint VPC にデプロイされたアプリケーションは一般に公開されません。 |