포트 요구사항

방화벽을 관리해야 할 필요성은 가상 호스트를 넘어서게 됩니다. VM과 물리적 호스트 방화벽은 구성요소가 서로 통신하는 데 필요한 포트의 트래픽을 허용해야 합니다.

포트 다이어그램

다음 이미지는 단일 데이터 센터 및 여러 데이터 센터 구성의 포트 요구사항을 보여줍니다.

단일 데이터 센터

다음 이미지는 단일 데이터 센터 구성에서 각 Edge 구성요소의 포트 요구사항을 보여줍니다.

단일 데이터 센터 구성에서 각 Edge 구성요소의 포트 요구사항

이 다이어그램의 참고사항:

  • 'M' 접두사가 붙은 포트는 구성요소를 관리하는 데 사용되는 포트이며 관리 서버가 액세스할 수 있도록 구성요소에서 열려 있어야 합니다.
  • Edge UI에서는 추적 도구에서 보내기 버튼을 지원하기 위해 API 프록시에서 노출된 포트의 라우터에 액세스해야 합니다.
  • JMX 포트에 대한 액세스는 사용자 이름/비밀번호를 요구하도록 구성할 수 있습니다. 자세한 내용은 모니터링 방법을 참고하세요.
  • 다른 포트를 사용할 수 있는 특정 연결에 대해 TLS/SSL 액세스를 선택적으로 구성할 수 있습니다. 자세한 내용은 TLS/SSL을 참조하세요.
  • 외부 SMTP 서버를 통해 이메일을 보내도록 관리 서버 및 Edge UI를 구성할 수 있습니다. 이 경우 관리 서버 및 UI가 SMTP 서버의 필요한 포트 (표시되지 않음)에 액세스할 수 있는지 확인해야 합니다. 비 TLS SMTP의 경우 포트 번호는 일반적으로 25입니다. TLS 지원 SMTP의 경우 대개 465이지만 SMTP 제공업체에 문의하세요.

여러 데이터 센터

데이터 센터가 2개인 12노드 클러스터링 구성을 설치하는 경우 두 데이터 센터의 노드가 아래에 표시된 포트를 통해 통신할 수 있는지 확인합니다.

노드 12개로 구성된 클러스터링된 구성의 각 노드에 대한 포트 요구사항

참고:

  • 모든 관리 서버는 다른 모든 데이터 센터의 모든 Cassandra 노드에 액세스할 수 있어야 합니다.
  • 모든 데이터 센터의 모든 메시지 프로세서는 모두 포트 4528을 통해 서로 액세스할 수 있어야 합니다.
  • 관리 서버는 포트 8082를 통해 모든 메시지 프로세서에 액세스할 수 있어야 합니다.
  • 모든 관리 서버와 모든 Qpid 노드는 다른 모든 데이터 센터의 Postgres에 액세스할 수 있어야 합니다.
  • 보안상의 이유로, 위에 나온 포트와 자체 네트워크 요구사항에 필요한 기타 포트를 제외한 다른 포트는 데이터 센터 사이에 열려 있어서는 안 됩니다.

기본적으로 구성 요소 간의 통신은 암호화되지 않습니다. Apigee mTLS를 설치하여 암호화를 추가할 수 있습니다. 자세한 내용은 Apigee mTLS 소개를 참조하세요.

포트 세부정보

아래 표에서는 Edge 구성요소별로 방화벽에서 열어야 하는 포트를 설명합니다.

구성요소 포트 설명
표준 HTTP 포트 80, 443 HTTP 및 가상 호스트에 사용하는 기타 포트
Apigee SSO 9,099 인증을 위한 외부 IDP, 관리 서버, 브라우저의 연결
Cassandra 7000, 9042, 9160 Cassandra 노드 간 통신 및 다른 Edge 구성요소의 액세스를 위한 Apache Cassandra 포트
7,199 JMX 포트. 관리 서버에서 액세스할 수 있도록 열려 있어야 합니다.
LDAP 10389 OpenLDAP
관리 서버 1,099개 JMX 포트
4,526 분산 캐시 및 관리 호출을 위한 포트입니다. 이 포트는 구성 가능합니다.
5636 수익 창출 커밋 알림을 위한 포트
8080 Edge 관리 API 호출을 위한 포트입니다. 라우터, 메시지 프로세서, UI, Postgres, Apigee SSO (사용 설정된 경우), Qpid와 같은 구성요소를 사용하려면 관리 서버의 포트 8080에 액세스해야 합니다.
관리 UI 9,000 관리 UI에 대한 브라우저 액세스 포트
메시지 프로세서 1,101 JMX 포트
4,528 메시지 프로세서 간의 분산 캐시 및 관리 호출과 라우터와 관리 서버로부터의 통신용입니다.

메시지 프로세서는 포트 4528을 관리 포트로 열어야 합니다. 메시지 프로세서가 여러 개 있다면 포트 4528 (메시지 프로세서의 포트 4528과 관련해 위 다이어그램에서 루프 화살표로 표시됨)을 통해 모두 서로 액세스할 수 있어야 합니다. 데이터 센터가 여러 개 있는 경우에는 모든 데이터 센터의 모든 메시지 프로세서에서 포트에 액세스할 수 있어야 합니다.

8082

메시지 프로세서의 기본 관리 포트로, 관리 서버가 액세스하려면 구성요소에서 열려 있어야 합니다.

라우터와 메시지 프로세서 사이에 TLS/SSL을 구성하는 경우, 라우터가 메시지 프로세서의 상태를 확인하는 데 사용합니다.

라우터와 메시지 프로세서 사이에 TLS/SSL을 구성할 때 라우터에서 액세스할 수 있도록만 메시지 프로세서의 포트 8082가 열려 있으면 됩니다. 라우터와 메시지 프로세서 간에 TLS/SSL을 구성하지 않는 경우, 구성요소를 관리하기 위해 기본 구성인 포트 8082는 메시지 프로세서에서 열려 있어야 하지만 라우터에서 액세스할 필요는 없습니다.

8,443 라우터와 메시지 프로세서 간에 TLS가 사용 설정된 경우 라우터가 액세스할 수 있도록 메시지 프로세서에서 포트 8443을 열어야 합니다.
8,998 라우터와의 통신을 위한 메시지 프로세서 포트
Postgres 22 마스터 대기 복제를 사용하도록 Postgres 노드 2개를 구성하는 경우 SSH 액세스를 위해 각 노드에서 포트 22를 열어야 합니다.
1,103 JMX 포트
4,530 분산 캐시 및 관리 호출의 경우
5,432 Qpid/관리 서버에서 Postgres로의 통신에 사용됩니다.
8084 Postgres 서버의 기본 관리 포트입니다. 관리 서버에서 액세스하려면 구성요소에서 열려 있어야 합니다.
QPID 1,102 JMX 포트
4,529 분산 캐시 및 관리 호출의 경우
5672
  • 단일 데이터 센터: 라우터 및 메시지 프로세서에서 Qpid로 분석을 전송하는 데 사용됩니다.
  • 여러 데이터 센터: 서로 다른 데이터 센터에 있는 Qpid 노드 간의 통신에 사용됩니다.

또한 Qpid 서버와 동일한 노드의 브로커 구성요소 간의 통신에도 사용됩니다. Qpid 노드가 여러 개 있는 토폴로지에서는 서버가 포트 5672에서 모든 브로커에 연결할 수 있어야 합니다.

8083 Qpid 서버의 기본 관리 포트로, 관리 서버가 액세스하려면 구성요소에서 열려 있어야 합니다.
라우터 4,527 분산 캐시 및 관리 호출용

라우터는 관리 포트로 포트 4527을 열어야 합니다. 라우터가 여러 개 있는 경우 모두 포트 4527 (라우터의 포트 4527과 관련해 위 다이어그램에 루프 화살표로 표시됨)을 통해 서로 액세스할 수 있어야 합니다.

필수는 아니지만 라우터에서 포트 4527을 열어 모든 메시지 프로세서에서 액세스할 수 있습니다. 그렇지 않으면 메시지 프로세서 로그 파일에 오류 메시지가 표시될 수 있습니다.

8081 라우터의 기본 관리 포트이며, 관리 서버가 액세스할 수 있도록 구성요소에서 열려 있어야 합니다.
15,999

상태 점검 포트 부하 분산기는 이 포트를 사용하여 라우터를 사용할 수 있는지 확인합니다.

라우터의 상태를 가져오기 위해 부하 분산기는 라우터에서 포트 15999에 요청합니다.

curl -v http://routerIP:15999/v1/servers/self/reachable

라우터에 연결할 수 있으면 요청에서 HTTP 200이 반환됩니다.

59001 apigee-validate 유틸리티에서 Edge 설치를 테스트하는 데 사용되는 포트입니다. 이 유틸리티는 라우터의 포트 59001에 액세스해야 합니다. 포트 59001에 관한 자세한 내용은 설치 테스트를 참고하세요.
SmartDocs 59002 SmartDocs 페이지 요청이 전송되는 에지 라우터의 포트입니다.
ZooKeeper 2,181 관리 서버, 라우터, 메시지 프로세서 등의 다른 구성요소에서 사용됩니다.
2888, 3888 JoKeeper 클러스터 (ZooKeeper 앙상블이라고 함) 커뮤니케이션을 위해 내부적으로 주Keeper에서 사용됩니다.

다음 표에는 동일한 포트가 소스 및 대상 구성요소와 함께 숫자로 표시되어 있습니다.

포트 번호 목적 소스 구성요소 대상 구성요소
virtual_host_port HTTP 및 가상 호스트 API 호출 트래픽에 사용하는 기타 포트 포트 80 및 443이 가장 일반적으로 사용되며, 메시지 라우터는 TLS/SSL 연결을 종료할 수 있습니다. 외부 클라이언트 (또는 부하 분산기) 메시지 라우터의 리스너
1099~1103 JMX 관리 JMX 클라이언트 Management Server (1099)
Message Processor (1101)
Qpid Server (1102)
Postgres Server (1103)
2181 Jokeeper 클라이언트 통신 Management Server
라우터
메시지 프로세서
Qpid 서버
Postgres 서버
Zookeeper
2888 및 3888 Jokeeper 노드 간 관리 Zookeeper Zookeeper
4526 RPC 관리 포트 관리 서버 관리 서버
4527 분산 캐시 및 관리 호출과 라우터 간 통신을 위한 RPC 관리 포트 관리 서버
라우터
라우터
4528 메시지 프로세서 간의 분산 캐시 호출 및 라우터와의 통신용 Management Server
라우터
메시지 프로세서
메시지 프로세서
4529 분산 캐시 및 관리 호출을 위한 RPC 관리 포트 관리 서버 Qpid 서버
4530 분산 캐시 및 관리 호출을 위한 RPC 관리 포트 관리 서버 Postgres 서버
5432 Postgres 클라이언트 Qpid 서버 Postgres
5636 수익 창출 외부 JMS 구성요소 관리 서버
5672
  • 단일 데이터 센터: 라우터 및 메시지 프로세서에서 Qpid로 분석을 전송하는 데 사용됩니다.
  • 여러 데이터 센터: 서로 다른 데이터 센터에 있는 Qpid 노드 간의 통신에 사용됩니다.

또한 Qpid 서버와 동일한 노드의 브로커 구성요소 간의 통신에도 사용됩니다. Qpid 노드가 여러 개 있는 토폴로지에서는 서버가 포트 5672에서 모든 브로커에 연결할 수 있어야 합니다.

Qpid 서버 Qpid 서버
7000 Cassandra 노드 간 통신 Cassandra 다른 Cassandra 노드
7199 JMX 관리. Cassandra 노드에서 관리 서버가 액세스할 수 있도록 열려 있어야 합니다. JMX 클라이언트 Cassandra
8080 Management API 포트 Management API 클라이언트 관리 서버
8081~8084

개별 구성요소에 직접 API 요청을 전송하는 데 사용되는 구성요소 API 포트입니다. 각 구성요소는 다른 포트를 엽니다. 사용되는 정확한 포트는 구성에 따라 다르지만 관리 서버에서 액세스하려면 구성요소에서 열려 있어야 합니다.

Management API 클라이언트 라우터 (8081)
메시지 프로세서 (8082)
Qpid 서버 (8083)
Postgres 서버 (8084)
8443 TLS가 사용 설정된 경우 라우터와 메시지 프로세서 간 통신 라우터 메시지 프로세서
8998 라우터와 메시지 프로세서 간 통신 라우터 메시지 프로세서
9,000 기본 에지 관리 UI 포트 탐색자 관리 UI 서버
9042 CQL 네이티브 전송 라우터
메시지 프로세서
관리 서버
Cassandra
9099 외부 IDP 인증 IDP, 브라우저 및 관리 서버 Apigee SSO
9160 Cassandra 중고 클라이언트 라우터
메시지 프로세서
관리 서버
Cassandra
10389 LDAP 포트 관리 서버 OpenLDAP
15999 상태 점검 포트 부하 분산기는 이 포트를 사용하여 라우터를 사용할 수 있는지 확인합니다. 부하 분산기 라우터
59001 apigee-validate 유틸리티에서 Edge 설치를 테스트하는 데 사용하는 포트입니다. apigee-validate 라우터
59002 SmartDocs 페이지 요청이 전송되는 라우터 포트 SmartDocs 라우터

메시지 프로세서는 시간 초과가 발생하지 않도록 구성된 Cassandra에 전용 연결 풀을 유지합니다. 메시지 프로세서와 Cassandra 서버 사이에 방화벽이 있으면 방화벽에서 연결 제한 시간을 초과할 수 있습니다. 그러나 메시지 프로세서는 Cassandra에 다시 연결을 설정하도록 설계되지 않았습니다.

이러한 상황을 방지하기 위해 Apigee에서는 Cassandra 서버, 메시지 프로세서, 라우터를 동일한 서브넷에 두어 이러한 구성요소의 배포에 방화벽이 개입하지 않도록 하는 것이 좋습니다.

방화벽이 라우터와 메시지 프로세서 사이에 있고 유휴 TCP 시간 제한이 설정되어 있는 경우 다음을 수행하는 것이 좋습니다.

  1. Linux OS의 sysctl 설정에서 net.ipv4.tcp_keepalive_time = 1800을 설정합니다. 여기서 1800은 방화벽 유휴 TCP 제한 시간보다 낮아야 합니다. 이 설정은 방화벽이 연결을 해제하지 않도록 연결을 설정된 상태로 유지해야 합니다.
  2. 모든 메시지 프로세서에서 /opt/apigee/customer/application/message-processor.properties를 수정하여 다음 속성을 추가합니다. 파일이 없으면 새로 만듭니다.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  3. 메시지 프로세서를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
  4. 모든 라우터에서 /opt/apigee/customer/application/router.properties를 수정하여 다음 속성을 추가합니다. 파일이 없으면 새로 만듭니다.
    conf_system_cassandra.maxconnecttimeinmillis=-1
  5. 라우터를 다시 시작합니다.
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart