8.5. 송신 트래픽 제어
클러스터 관리자는 호스트 수준에서 특정 노드에 여러 정적 IP 주소를 할당할 수 있습니다. 애플리케이션 개발자에게 애플리케이션 서비스에 전용 IP 주소가 필요한 경우 방화벽 액세스를 요청하는 데 사용하는 프로세스 중에 하나를 요청할 수 있습니다. 그런 다음 배포 구성에서 nodeSelector
를 사용하여 개발자의 프로젝트에서 송신 라우터를 배포하여 포드가 사전 할당된 고정 IP 주소가 있는 호스트에 배치되도록 할 수 있습니다.
송신 Pod의 배포는 소스 IP 중 하나, 보호된 서비스의 대상 IP 및 대상에 도달할 게이트웨이 IP를 선언합니다. 포드가 배포되면 송신 라우터 포드에 액세스 하는 서비스를 만든 다음 해당 소스 IP를 회사 방화벽에 추가할 수 있습니다. 그런 다음 개발자는 프로젝트에서 생성된 출력 라우터 서비스에 대한 액세스 정보(예: service.project.cluster.domainname.com
)를 보유합니다.
개발자가 방화벽 외부 서비스에 액세스해야 하는 경우 실제 보호 서비스 URL 대신 애플리케이션(예: JDBC 연결 정보)의 출력 라우터 포드 서비스(예:service.project.cluster.domainname.com
)를 호출할 수 있습니다.
또한 프로젝트에 고정 IP 주소를 할당하여 지정된 프로젝트에서 나가는 모든 외부 연결이 인식할 수 있는지 확인할 수 있습니다. 특정 대상에 트래픽을 보내는 데 사용되는 기본 출력 라우터와는 다릅니다.
자세한 내용은 외부 프로젝트 트래픽에 대한 고정 IP 활성화 섹션을 참조하십시오.
OpenShift Container Platform 클러스터 관리자는 다음과 같은 방식으로 송신 트래픽을 제어할 수 있습니다.
- 방화벽
- 송신 방화벽을 사용하면 허용 가능한 아웃바운드 트래픽 정책을 적용하여 특정 엔드포인트 또는 IP 범위(서브넷)가 통신할 동적 끝점(OpenShift Container Platform 내 포드)에 대해 허용 가능한 유일한 대상입니다.
- 라우터
- 출력 라우터를 사용하면 특정 대상에 트래픽을 보내도록 식별 가능한 서비스를 만들 수 있으므로 외부 대상에서 트래픽을 알려진 소스에서 들어오는 것처럼 취급할 수 있습니다. 이는 네임스페이스의 특정 포드만 데이터베이스에 대한 트래픽을 프록시하는 서비스( 송신 라우터)와 통신할 수 있도록 외부 데이터베이스를 보안할 수 있기 때문에 보안에 유용합니다.
- iptables
- 위의 OpenShift Container Platform 내부 솔루션 외에도 발신 트래픽에 적용할 iptables 규칙을 만들 수도 있습니다. 이러한 규칙은 송신 방화벽보다 더 많은 가능성을 허용하지만 특정 프로젝트로 제한할 수는 없습니다.