Edge for Private Cloud v4.19.01
ファイアウォールを管理する必要があるのは、仮想ホストだけではありません。VM と物理ホストの両方のファイアウォールで、コンポーネントが相互に通信するために必要なポートのトラフィックを許可する必要があります。
ポートの図
次の図は、単一のデータセンターと複数のデータセンターの両方のポート要件を示しています。
単一のデータセンター
次の図は、単一のデータセンター構成における各 Edge コンポーネントのポート要件を示しています。
この図の注意事項:
- 接頭辞「M」が付いたポートはコンポーネントの管理に使用するポートで、Management Server によるアクセスのためにコンポーネント上で開いておく必要があります。
- Edge UI は Trace ツールの [Send] ボタンをサポートするために、API プロキシによって公開されたポートで Router にアクセスする必要があります。
- JMX ポートへのアクセスは、ユーザー名とパスワードを要求するように構成できます。詳細については、モニタリング方法をご覧ください。
- 必要に応じて、特定の接続に対する TLS/SSL アクセスを構成できます。接続には、異なるポートを使用できます。詳細については、TLS/SSL をご覧ください。
- 外部の SMTP サーバー経由でメールを送信するように Management Server と Edge UI を構成できます。その場合は、Management Server と UI が SMTP サーバー上の必要なポート(図示されていません)にアクセスできることを確認する必要があります。非 TLS SMTP の場合、ポート番号は通常 25 です。TLS 対応の SMTP の場合、通常は 465 ですが、SMTP プロバイダに確認してください。
複数のデータセンター
2 つのデータセンターを持つ 12 ノードクラスタ構成をインストールする場合は、2 つのデータセンターのノードが以下に示すポートを介して通信できることを確認します。
次のことに注意してください。
- すべての Management Server が、他のすべてのデータセンターのすべての Cassandra ノードにアクセスできる必要があります。
- すべてのデータセンターのすべての Message Processor が、ポート 4528 を介して相互にアクセスできなければなりません。
- Management Server は、ポート 8082 経由ですべての Message Processor にアクセスできる必要があります。
- すべての Management Server とすべての Qpid ノードが、他のすべてのデータセンターの Postgres にアクセスできる必要があります。
- セキュリティ上の理由から、上記のポートとネットワーク要件で必要なポート以外は、データセンター間で開かないでください。
デフォルトでは、コンポーネント間の通信は暗号化されません。Apigee mTLS をインストールすることで、暗号化を追加できます。詳細については、Apigee mTLS の概要をご覧ください。
ポートの詳細
次の表に、Edge コンポーネントがファイアウォールで開く必要があるポートを示します。
コンポーネント | ポート | 説明 |
---|---|---|
標準 HTTP ポート | 80、443 | HTTP と仮想ホストに使用するその他のポート |
Cassandra | 7000、9042、9160 | Cassandra ノード間の通信用と、他の Edge コンポーネントからのアクセス用の Apache Cassandra ポート。 |
7199 | JMX ポート。Management Server からアクセスできるように開く必要があります。 | |
LDAP | 10389 | OpenLDAP |
管理サーバー | 1099 | JMX ポート |
4526 | 分散キャッシュと管理呼び出し用のポート。このポートは構成可能です。 | |
5636 | 収益化の commit 通知用のポート。 | |
8080 | Edge Management API 呼び出し用のポート。これらのコンポーネント(Router、Message Processor、UI、Postgres、Qpid)は Management Server のポート 8080 にアクセスする必要があります。 | |
管理 UI | 9000 | 管理 UI にブラウザからアクセスするためのポート |
Message Processor | 1101 | JMX ポート |
4528 | Message Processor 間の分散キャッシュと管理呼び出し、および Router と Management Server からの通信のため。 Message Processor で管理ポートとしてポート 4528 を開く必要があります。複数の Message Processor がある場合は、ポート 4528(Message Processor のポート 4528 については、上の図でループ矢印で示されています)を介して、すべてが相互にアクセスできる必要があります。データセンターが複数ある場合は、すべてのデータセンター内のすべての Message Processor からポートにアクセスできる必要があります。 |
|
8082 |
Message Processor のデフォルト管理ポートで、Management Server によるアクセスのためにコンポーネント上で開いておく必要があります。 Router と Message Processor の間で TLS / SSL を構成する場合、Router は、この TLS / SSL を使用して Message Processor のヘルスチェックを行います。 Router と Message Processor 間の TLS/SSL を構成するときに、Router がアクセスできるように Message Processor のポート 8082 を開くだけで済みます。Router と Message Processor の間で TLS/SSL を構成していない場合、コンポーネントを管理するためにポート 8082 を Message Processor 上で開いておく必要がありますが、Router によるアクセスは必要ありません。 |
|
8443 | Router と Message Processor の間で TLS が有効になっている場合は、Router がアクセスできるように、Message Processor でポート 8443 を開く必要があります。 | |
8998 | Router からの通信用の Message Processor ポート | |
Postgres | 22 | マスター / スタンバイ レプリケーションを使用するように 2 つの Postgres ノードを構成する場合は、SSH アクセス用に各ノードでポート 22 を開く必要があります。 |
1103 | JMX ポート | |
4530 | 分散キャッシュと管理呼び出しの場合 | |
5432 | Qpid/Management Server から Postgres への通信に使用 | |
8084 | Postgres サーバーのデフォルト管理ポート。Management Server によるアクセスのためにコンポーネント上で開いている必要があります。 | |
Qpid | 1102 | JMX ポート |
4529 | 分散キャッシュと管理呼び出しの場合 | |
5672 |
|
|
8083 | Qpid サーバーのデフォルト管理ポートで、Management Server によるアクセスのためにコンポーネント上で開いている必要があります。 | |
ルーター | 4527 | 分散キャッシュと管理呼び出しの場合。 Router は、管理ポートとしてポート 4527 を開く必要があります。複数の Router がある場合は、ポート 4527(Router のポート 4527 については、上の図のループ矢印で示されています)を介して、すべての Router が互いにアクセスできる必要があります。 必須ではありませんが、Router でポート 4527 を開いて、任意の Message Processor にアクセスできます。そうしないと、Message Processor のログファイルにエラー メッセージが表示されることがあります。 |
8081 | Router のデフォルト管理ポートで、Management Server によるアクセスのためにコンポーネント上で開いている必要があります。 | |
15999 |
ヘルスチェック ポート。ロードバランサは、このポートを使用して、Router が使用可能かどうかを判断します。 Router のステータスを取得するために、ロードバランサは Router のポート 15999 にリクエストを送信します。 curl -v http://routerIP:15999/v1/servers/self/reachable Router が到達可能な場合、リクエストは HTTP 200 を返します。 |
|
59001 | apigee-validate ユーティリティによる Edge インストールのテストに使用されるポート。
このユーティリティは、Router のポート 59001 にアクセスする必要があります。ポート 59001 の詳細については、インストールをテストするをご覧ください。 |
|
SmartDocs | 59002 | SmartDocs ページのリクエストが送信される Edge Router のポート。 |
ZooKeeper | 2181 | Management Server、Router、Message Processor などの他のコンポーネントが使用 |
2888、3888 | ZooKeeper が ZooKeeper クラスタ(ZooKeeper アンサンブル)の通信のために内部的に使用 |
次の表に、同じポートを送信元コンポーネントと送信先コンポーネントとともに数字で示します。
ポート番号 | 目的 | ソース コンポーネント | 宛先コンポーネント |
---|---|---|---|
virtual_host_port | HTTP と、仮想ホスト API 呼び出しトラフィックに使用するその他のポート。通常はポート 80 と 443 が使用されます。Message Router は TLS 接続と SSL 接続を終端できます。 | 外部クライアント(またはロードバランサ) | Message Router のリスナー |
1099 ~ 1103 | JMX 管理 | JMX クライアント | Management Server(1099) Message Processor(1101) Qpid Server(1102) Postgres Server(1103) |
2181 | Zookeeper クライアントの通信 | Management Server Router Message Processor Qpid Server Postgres Server |
Zookeeper |
2888、3888 | Zookeeper のノード間管理 | Zookeeper | Zookeeper |
4526 | RPC Management ポート | 管理サーバー | 管理サーバー |
4527 | 分散キャッシュと管理呼び出し、および Router 間の通信用の RPC Management ポート | Management Server ルーター |
ルーター |
4528 | Message Processor 間の分散キャッシュ呼び出しと、Router からの通信 | Management Server Router Message Processor |
Message Processor |
4529 | 分散キャッシュと管理呼び出し用の RPC Management ポート | 管理サーバー | Qpid サーバー |
4530 | 分散キャッシュと管理呼び出し用の RPC Management ポート | 管理サーバー | Postgres サーバー |
5432 | Postgres クライアント | Qpid サーバー | Postgres |
5636 | 収益化 | 外部 JMS コンポーネント | 管理サーバー |
5672 |
|
Qpid サーバー | Qpid サーバー |
7000 | Cassandra のノード間通信 | Cassandra | 他の Cassandra ノード |
7199 | JMX 管理。Management Server から Cassandra ノードにアクセスするために開いている必要があります。 | JMX クライアント | Cassandra |
8080 | Management API ポート | Management API クライアント | 管理サーバー |
8081 ~ 8084 |
コンポーネント API ポート。個々のコンポーネントに直接 API リクエストを発行するために使用されます。各コンポーネントは異なるポートを開きます。使用される正確なポートは構成によって異なりますが、Management Server がアクセスするためにコンポーネント上で開いている必要があります。 |
Management API クライアント | Router(8081) Message Processor(8082) Qpid Server(8083) Postgres Server(8084) |
8443 | TLS が有効になっている場合の Router と Message Processor 間の通信 | ルーター | Message Processor |
8998 | Router と Message Processor 間の通信 | ルーター | Message Processor |
9000 | デフォルトの Edge 管理 UI ポート | 参照者 | 管理 UI サーバー |
9042 | CQL ネイティブ トランスポート | Router Message Processor Management Server |
Cassandra |
9160 | Cassandra スリフト クライアント | Router Message Processor Management Server |
Cassandra |
10389 | LDAP ポート | 管理サーバー | OpenLDAP |
15999 | ヘルスチェック ポート。ロードバランサは、このポートを使用して、Router が使用可能かどうかを判断します。 | ロードバランサ | ルーター |
59001 | apigee-validate ユーティリティが Edge のインストールをテストするために使用するポート |
apigee-validate | ルーター |
59002 | SmartDocs ページのリクエストが送信されるルーターのポート | SmartDocs | ルーター |
Message Processor は、Cassandra に対して専用の接続プールを開いたままにします。これは、タイムアウトしないように構成されています。ファイアウォールが Message Processor と Cassandra サーバーの間にあると、ファイアウォールが接続をタイムアウトすることがあります。ただし、Message Processor は Cassandra への接続を再確立するようには設計されていません。
このような状況を回避するため、Cassandra サーバー、Message Processor、Router を同じサブネットに配置して、ファイアウォールがこれらのコンポーネントのデプロイに関与しないようにすることをおすすめします。
ファイアウォールが Router と Message Processor の間にあり、アイドル TCP タイムアウトが設定されている場合、次のようにすることをおすすめします。
- Linux OS の sysctl 設定で
net.ipv4.tcp_keepalive_time = 1800
を設定します。1800 はファイアウォールのアイドル tcp タイムアウトよりも小さくする必要があります。この設定では、ファイアウォールによって接続が切断されないように、接続が確立された状態を維持する必要があります。 - すべての Message Processor で、
/opt/apigee/customer/application/message-processor.properties
を編集して次のプロパティを追加します。ファイルが存在しない場合は作成します。conf_system_cassandra.maxconnecttimeinmillis=-1
- Message Processor を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- すべての Router で、
/opt/apigee/customer/application/router.properties
を編集して次のプロパティを追加します。ファイルが存在しない場合は作成します。conf_system_cassandra.maxconnecttimeinmillis=-1
- Router を再起動します。
/opt/apigee/apigee-service/bin/apigee-service edge-router restart