Private Cloud용 Edge v4.19.01
방화벽을 관리해야 하는 필요성은 가상 호스트에만 국한되지 않습니다. VM 및 물리적 호스트 방화벽 모두 구성요소가 서로 통신하는 데 필요한 포트의 트래픽을 허용해야 합니다.
포트 다이어그램
다음 이미지는 단일 데이터 센터 및 여러 데이터 센터 구성의 포트 요구사항을 보여줍니다.
단일 데이터 센터
다음 이미지는 단일 데이터 센터 구성의 각 Edge 구성요소에 대한 포트 요구사항을 보여줍니다.
이 다이어그램에 관한 참고사항:
- 접두사가 'M'인 포트는 구성요소를 관리하는 데 사용되는 포트이며 관리 서버에서 액세스할 수 있도록 구성요소에서 열려 있어야 합니다.
- Edge UI는 API 프록시에서 노출하는 포트의 라우터에 액세스해야 추적 도구의 전송 버튼을 지원할 수 있습니다.
- 사용자 이름/암호를 요구하도록 JMX 포트에 대한 액세스를 구성할 수 있습니다. 자세한 내용은 모니터링 방법을 참고하세요.
- 원하는 경우 특정 연결에 TLS/SSL 액세스를 구성할 수 있으며, 이 연결은 다른 포트를 사용할 수 있습니다. 자세한 내용은 TLS/SSL을 참고하세요.
- 외부 SMTP 서버를 통해 이메일을 보내도록 관리 서버 및 Edge UI를 구성할 수 있습니다. 그렇게 하는 경우 관리 서버 및 UI가 SMTP 서버의 필요한 포트 (표시되지 않음)에 액세스할 수 있는지 확인해야 합니다. TLS가 아닌 SMTP의 경우 포트 번호는 일반적으로 25입니다. TLS 지원 SMTP의 경우 465인 경우가 많지만 SMTP 제공업체에 문의하세요.
여러 데이터 센터
두 데이터 센터가 있는 12노드 클러스터 구성을 설치하는 경우 두 데이터 센터의 노드가 아래에 표시된 포트를 통해 통신할 수 있는지 확인합니다.
참고:
- 모든 관리 서버는 다른 모든 데이터 센터의 모든 Cassandra 노드에 액세스할 수 있어야 합니다.
- 모든 데이터 센터의 모든 메시지 프로세서는 포트 4528을 통해 서로 액세스할 수 있어야 합니다.
- 관리 서버는 포트 8082를 통해 모든 메시지 프로세서에 액세스할 수 있어야 합니다.
- 모든 관리 서버와 모든 Qpid 노드는 다른 모든 데이터 센터의 Postgres에 액세스할 수 있어야 합니다.
- 보안상의 이유로 위에 표시된 포트와 자체 네트워크 요구사항에 필요한 포트 외에는 데이터 센터 간에 다른 포트를 열지 않아야 합니다.
기본적으로 구성요소 간의 통신은 암호화되지 않습니다. Apigee mTLS를 설치하여 암호화를 추가할 수 있습니다. 자세한 내용은 Apigee mTLS 소개를 참고하세요.
포트 세부정보
다음 표에서는 Edge 구성요소별로 방화벽에서 열어야 하는 포트를 설명합니다.
구성요소 | 포트 | 설명 |
---|---|---|
표준 HTTP 포트 | 80, 443 | HTTP 및 가상 호스트에 사용하는 기타 포트 |
Cassandra | 7000, 9042, 9160 | Cassandra 노드 간 통신 및 다른 Edge 구성요소에서 액세스하기 위한 Apache Cassandra 포트 |
7199 | JMX 포트 관리 서버에서 액세스할 수 있도록 열려 있어야 합니다. | |
LDAP | 10389 | OpenLDAP |
관리 서버 | 1099 | JMX 포트 |
4,526 | 분산 캐시 및 관리 호출을 위한 포트입니다. 이 포트는 구성할 수 있습니다. | |
5636 | 수익 창출 커밋 알림을 위한 포트입니다. | |
8080 | Edge 관리 API 호출을 위한 포트입니다. 이러한 구성요소는 관리 서버의 포트 8080(라우터, 메시지 프로세서, UI, Postgres, Qpid)에 액세스해야 합니다. | |
관리 UI | 9000 | 관리 UI에 대한 브라우저 액세스 포트 |
메시지 프로세서 | 1101 | JMX 포트 |
4528 | 메시지 프로세서 간의 분산 캐시 및 관리 호출과 라우터 및 관리 서버의 통신에 사용됩니다.
메시지 프로세서는 포트 4528을 관리 포트로 열어야 합니다. 메시지 프로세서가 여러 개인 경우 모두 포트 4528 (위 다이어그램의 메시지 프로세서에 있는 포트 4528의 루프 화살표로 표시됨)을 통해 서로 액세스할 수 있어야 합니다. 데이터 센터가 여러 개인 경우 모든 데이터 센터의 모든 메시지 프로세서에서 포트에 액세스할 수 있어야 합니다. |
|
8,082 |
메시지 프로세서의 기본 관리 포트이며 관리 서버에서 액세스할 수 있도록 구성요소에서 열려 있어야 합니다. 라우터와 메시지 프로세서 간에 TLS/SSL을 구성하는 경우 라우터에서 메시지 프로세서의 상태를 확인하는 데 사용됩니다. 라우터와 메시지 프로세서 간에 TLS/SSL을 구성하는 경우에만 라우터에서 액세스할 수 있도록 메시지 프로세서의 포트 8082를 열면 됩니다. 라우터와 메시지 프로세서 간에 TLS/SSL을 구성하지 않은 경우에도 구성요소를 관리하기 위해 기본 구성인 포트 8082가 메시지 프로세서에 열려 있어야 하지만 라우터는 액세스할 필요가 없습니다. |
|
8443 | 라우터와 메시지 프로세서 간에 TLS가 사용 설정되면 라우터가 액세스할 수 있도록 메시지 프로세서에서 포트 8443을 열어야 합니다. | |
8998 | 라우터 통신을 위한 메시지 프로세서 포트 | |
Postgres | 22 | 마스터-스탠바이 복제를 사용하도록 두 개의 Postgres 노드를 구성하는 경우 SSH 액세스를 위해 각 노드에서 포트 22를 열어야 합니다. |
1103 | JMX 포트 | |
4530 | 분산 캐시 및 관리 호출 | |
5432 | Qpid/관리 서버에서 Postgres로의 통신에 사용됩니다. | |
8084 | Postgres 서버의 기본 관리 포트입니다. 관리 서버에서 액세스할 수 있도록 구성요소에서 열려 있어야 합니다. | |
Qpid | 1102 | JMX 포트 |
4529 | 분산 캐시 및 관리 호출 | |
5672 |
|
|
8083 | Qpid 서버의 기본 관리 포트이며 관리 서버에서 액세스할 수 있도록 구성요소에서 열려 있어야 합니다. | |
라우터 | 4527 | 분산 캐시 및 관리 호출용
라우터는 포트 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 | 59,002 | SmartDocs 페이지 요청이 전송되는 에지 라우터의 포트입니다. |
ZooKeeper | 2,181 | 관리 서버, 라우터, 메시지 프로세서와 같은 다른 구성요소에서 사용 |
2888, 3888 | ZooKeeper 클러스터 (ZooKeeper 앙상블이라고 함) 통신을 위해 ZooKeeper에서 내부적으로 사용합니다. |
다음 표에는 소스 및 대상 구성요소와 함께 숫자로 나열된 동일한 포트가 표시됩니다.
포트 번호 | 목적 | 소스 구성요소 | 대상 구성요소 |
---|---|---|---|
virtual_host_port | HTTP 및 가상 호스트 API 호출 트래픽에 사용하는 기타 모든 포트 포트 80 및 443이 가장 일반적으로 사용됩니다. 메시지 라우터는 TLS/SSL 연결을 종료할 수 있습니다. | 외부 클라이언트 (또는 부하 분산기) | 메시지 라우터의 리스너 |
1099~1103 | JMX 관리 | JMX 클라이언트 | 관리 서버 (1099) 메시지 프로세서 (1101) Qpid 서버 (1102) Postgres 서버 (1103) |
2181 | Zookeeper 클라이언트 통신 | 관리 서버 라우터 메시지 프로세서 Qpid 서버 Postgres 서버 |
Zookeeper |
2888 및 3888 | Zookeeper 인터노드 관리 | Zookeeper | Zookeeper |
4526 | RPC 관리 포트 | 관리 서버 | 관리 서버 |
4527 | 분산 캐시 및 관리 호출, 라우터 간 통신을 위한 RPC 관리 포트 | 관리 서버 라우터 |
라우터 |
4528 | 메시지 프로세서 간의 분산 캐시 호출 및 라우터의 통신 | 관리 서버 라우터 메시지 프로세서 |
메시지 프로세서 |
4529 | 분산 캐시 및 관리 호출을 위한 RPC 관리 포트 | 관리 서버 | Qpid 서버 |
4530 | 분산 캐시 및 관리 호출을 위한 RPC 관리 포트 | 관리 서버 | Postgres 서버 |
5432 | Postgres 클라이언트 | Qpid 서버 | Postgres |
5636 | 수익 창출 | 외부 JMS 구성요소 | 관리 서버 |
5672 |
|
Qpid 서버 | Qpid 서버 |
7000 | Cassandra 노드 간 통신 | Cassandra | 기타 Cassandra 노드 |
7199 | JMX 관리 관리 서버가 Cassandra 노드에 액세스할 수 있도록 열려 있어야 합니다. | JMX 클라이언트 | Cassandra |
8080 | 관리 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 |
9160 | Cassandra Thrift 클라이언트 | 라우터 메시지 프로세서 관리 서버 |
Cassandra |
10389 | LDAP 포트 | 관리 서버 | OpenLDAP |
15999 | 상태 점검 포트 부하 분산기는 이 포트를 사용하여 라우터를 사용할 수 있는지 확인합니다. | 부하 분산기 | 라우터 |
59001 | apigee-validate 유틸리티에서 Edge 설치를 테스트하는 데 사용하는 포트 |
apigee-validate | 라우터 |
59002 | SmartDocs 페이지 요청이 전송되는 라우터 포트 | SmartDocs | 라우터 |
메시지 프로세서는 Cassandra에 전용 연결 풀을 열어 두며, 이 연결 풀은 제한 시간이 없도록 구성됩니다. 메시지 프로세서와 Cassandra 서버 사이에 방화벽이 있으면 방화벽으로 인해 연결 시간 초과가 발생할 수 있습니다. 그러나 메시지 프로세서는 Cassandra에 대한 연결을 다시 설정하도록 설계되지 않았습니다.
이러한 상황을 방지하려면 Apigee에서는 Cassandra 서버, 메시지 프로세서, 라우터가 동일한 서브넷에 있어야 방화벽이 이러한 구성요소의 배포에 관여하지 않도록 하는 것이 좋습니다.
방화벽이 라우터와 메시지 프로세서 사이에 있고 유휴 TCP 제한 시간이 설정되어 있는 경우 다음을 수행하는 것이 좋습니다.
- Linux OS의 sysctl 설정에서
net.ipv4.tcp_keepalive_time = 1800
를 설정합니다. 여기서 1800은 방화벽 유휴 tcp 시간 제한보다 낮아야 합니다. 이 설정은 방화벽에서 연결을 해제하지 않도록 연결을 설정된 상태로 유지해야 합니다. - 모든 메시지 프로세서에서
/opt/apigee/customer/application/message-processor.properties
를 수정하여 다음 속성을 추가합니다. 파일이 없으면 새로 만듭니다.conf_system_cassandra.maxconnecttimeinmillis=-1
- 메시지 프로세서를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
- 모든 라우터에서
/opt/apigee/customer/application/router.properties
를 수정하여 다음 속성을 추가합니다. 파일이 없으면 만듭니다.conf_system_cassandra.maxconnecttimeinmillis=-1
- 라우터를 다시 시작합니다.
/opt/apigee/apigee-service/bin/apigee-service edge-router restart