ポートの要件

ファイアウォールの管理は仮想ホストだけではありません。VM と物理ホストの両方のファイアウォールで、コンポーネントが相互に通信するために必要なポートのトラフィックを許可する必要があります。

ポートの図

次の図は、1 つのデータセンターと複数のデータセンターの両方のポート要件を示しています。

単一のデータセンター

次の図は、単一のデータセンター構成における各 Edge コンポーネントのポート要件を示しています。

単一のデータセンター構成における各 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 つのデータセンターのノードが以下に示すポートを介して通信できることを確認します。

12 ノードクラスタ構成の各ノードのポート要件

次のことに注意してください。

  • すべての Management Server は、他のすべてのデータセンターのすべての Cassandra ノードにアクセスできる必要があります。
  • すべてのデータセンターのすべての Message Processor が、ポート 4528 を介して相互にアクセスできる必要があります。
  • Management Server は、ポート 8082 を介してすべての Message Processor にアクセスできる必要があります。
  • すべての Management Server とすべての Qpid ノードが、他のすべてのデータセンターの Postgres にアクセスできる必要があります。
  • セキュリティ上の理由から、上記のポートと、独自のネットワーク要件で必要なポートを除き、データセンター間で他のポートを開くことはできません。

デフォルトでは、コンポーネント間の通信は暗号化されません。Apigee mTLS をインストールすることで、暗号化を追加できます。詳細については、Apigee mTLS の概要をご覧ください。

ポートの詳細

次の表に、Edge コンポーネントごとにファイアウォールで開く必要があるポートを示します。

コンポーネント ポート 説明
標準 HTTP ポート 80、443 HTTP と仮想ホストに使用するその他のポート
Apigee SSO 9099 外部 IDP、Management Server、認証用のブラウザからの接続。
Cassandra 7000、9042、9160 Cassandra ノード間の通信用、および他の Edge コンポーネントによるアクセス用の Apache Cassandra ポート。
7199 JMX ポート。Management Server によるアクセスのために開いている必要があります。
LDAP 10389 OpenLDAP
管理サーバー 1099 JMX ポート
4526 分散キャッシュと管理呼び出し用のポート。このポートは構成可能です。
5636 Monetization commit 通知のポート。
8080 Edge 管理 API 呼び出し用のポート。これらのコンポーネント(Router、Message Processor、UI、Postgres、Apigee SSO(有効な場合)、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 はこれを使用して Message Processor のヘルスチェックを行います。

Router と Message Processor の間で TLS/SSL を構成する場合、Message Processor 上のポート 8082 は Router がアクセスのために開くだけで済みます。Router と Message Processor の間に TLS/SSL を構成しない場合、デフォルト構成では、コンポーネントを管理するためにポート 8082 を Message Processor 上で開いておく必要がありますが、Router が Message Processor にアクセスする必要はありません。

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
  • 単一のデータセンター: Router と Message Processor から Qpid に分析を送信するために使用されます。
  • 複数のデータセンター: 異なるデータセンターの Qpid ノード間の通信に使用されます。

同じノード上の Qpid サーバーとブローカー コンポーネント間の通信にも使用されます。複数の Qpid ノードがあるトポロジでは、サーバーがポート 5672 ですべてのブローカーに接続できる必要があります。

8083 Qpid サーバーのデフォルト管理ポート。Management Server によるアクセスのためにコンポーネント上で開いている必要があります。
8090 Qpid のブローカーのデフォルト ポート。モニタリング目的でブローカーの管理コンソールまたは管理 API にアクセスするために開いている必要があります。
ルーター 4527 分散キャッシュと管理呼び出し向け。

Router は管理ポートとしてポート 4527 を開く必要があります。複数の Router がある場合は、ポート 4527(Router のポート 4527 について、上の図のループ矢印で示されています)を介して相互にアクセスできなければなりません。

必須ではありませんが、Message Processor からアクセスできるように Router でポート 4527 を開くことができます。そうしないと、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 が内部的に使用

次の表に、同じポートを数字で示し、送信元コンポーネントと宛先コンポーネントを示します。

ポート番号 Purpose ソース コンポーネント 宛先コンポーネント
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 管理ポート 管理サーバー 管理サーバー
4527 分散キャッシュと管理呼び出し用、および Router 間の通信用の RPC Management ポート 管理サーバー
ルーター
ルーター
4528 Message Processor 間の分散キャッシュ呼び出しと Router からの通信用 Management Server
Router
Message Processor
Message Processor
4529 分散キャッシュと管理呼び出し用の RPC 管理ポート 管理サーバー Qpid サーバー
4530 分散キャッシュと管理呼び出し用の RPC 管理ポート 管理サーバー Postgres サーバー
5432 Postgres クライアント Qpid サーバー Postgres
5636 収益化 外部 JMS コンポーネント 管理サーバー
5672
  • 単一のデータセンター: Router と Message Processor から Qpid に分析を送信するために使用されます。
  • 複数のデータセンター: 異なるデータセンターの Qpid ノード間の通信に使用されます。

同じノード上の Qpid サーバーとブローカー コンポーネント間の通信にも使用されます。複数の Qpid ノードがあるトポロジでは、サーバーがポート 5672 ですべてのブローカーに接続できる必要があります。

Qpid サーバー Qpid サーバー
7,000 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)
8090 Qpid のブローカーがキューを管理、モニタリングするためのデフォルトの管理ポート。 ブラウザまたは API クライアント Qpid Broker(apigee-qpidd)
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
9099 外部 IDP 認証 IDP、ブラウザ、Management Server Apigee SSO
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 タイムアウトが設定されている場合は、次のことをおすすめします。

  1. Linux OS の sysctl 設定で net.ipv4.tcp_keepalive_time = 1800 を設定します。1, 800 はファイアウォールのアイドル TCP タイムアウトよりも小さくする必要があります。この設定では、ファイアウォールが接続を切断しないように、接続を確立状態に維持する必要があります。
  2. すべての Message Processor で、/opt/apigee/customer/application/message-processor.properties を編集して次のプロパティを追加します。ファイルが存在しない場合は作成します。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. Message Processor を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. すべての Router で、/opt/apigee/customer/application/router.properties を編集して次のプロパティを追加します。ファイルが存在しない場合は作成します。
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. Router を再起動します。
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart