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>
xml
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 レコードを使用できるかについて次の表にまとめました。
リージョン名 | Region (リージョン) | DNS レコードの例 |
---|---|---|
US コントロールプレーンリージョン |
||
米国東部 (北バージニア) |
us-e1 |
|
米国東部 (オハイオ) |
us-e2 |
|
米国西部 (北カリフォルニア) |
us-w1 |
|
米国西部 (オレゴン) |
us-w2 |
|
カナダ (中央部) |
ca-c1 |
|
南米 (サンパウロ) |
br-s1 |
|
アジア太平洋 (シンガポール) |
sg-s1 |
|
アジア太平洋 (シドニー) |
au-s1 |
|
アジア太平洋 (東京) |
jp-e1 |
|
EU (アイルランド) |
ir-e1 |
|
EU (フランクフルト) |
de-c1 |
|
EU (ロンドン) |
uk-e1 |
|
MuleSoft Government Cloud |
||
US Gov West (米国政府西部) |
usg-w1.gov |
|
EU コントロールプレーンリージョン |
||
EU (アイルランド) |
ir-e1.eu1 |
|
EU (フランクフルト) |
de-c1.eu1 |
|
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 にデプロイされたアプリケーションは一般に公開されません。 |