RabbitMQ 메시지 버스는 vsfwd(RMQ 클라이언트) 및 NSX Manager에 호스팅된 RMQ 서버 프로세스 간 통신에 사용됩니다. 이 메시지 버스는 NSX Manager가 커널의 분산 방화벽에서 프로그래밍되어야 하는 정책 규칙을 비롯한 다양한 정보를 ESXi 호스트에 보내는 데 사용합니다.

NSX 분산 방화벽은 가상 워크로드와 네트워크에 대한 가시성 및 제어 기능을 제공하는 하이퍼바이저 커널이 포함된 방화벽입니다. 데이터센터 및 클러스터, 가상 시스템 이름 및 태그, IP/VLAN/VXLAN 주소와 같은 네트워크 구성 요소, Active Directory의 사용자 그룹 ID와 같은 VMware vCenter 개체를 기반으로 액세스 제어 정책을 생성할 수 있습니다. 이제 가상 시스템이 물리적 호스트에서 vMotion을 통해 이동될 때 일관된 액세스 제어 정책이 강제로 적용되므로 방화벽 규칙을 다시 작성할 필요가 없습니다. 분산 방화벽은 하이퍼바이저에 포함되어 있기 때문에 회선에 가까운 속도의 처리량을 제공함으로써 물리적 서버에서 더 높은 수준의 워크로드 통합을 가능하게 합니다. 이 방화벽이 지닌 분산 특성은 데이터센터에 호스트가 추가될 때마다 방화벽 용량을 자동 확장하는 확장 아키텍처를 제공합니다.

ESXi 호스트의 NSX Manager 웹 애플리케이션 및 NSX 구성 요소는 NSX Manager 웹 애플리케이션과 동일한 가상 시스템에서 실행되는 RabbitMQ 브로커 프로세스를 통해 서로 통신합니다. 사용되는 통신 프로토콜은 AMQP(Advanced Message Queueing Protocol)이고 해당 채널은 SSL을 사용하여 보호됩니다. ESXi 호스트에서 VSFWD(vShield 방화벽 데몬) 프로세스는 브로커에 대한 SSL 연결을 설정 및 유지 보수하고 다른 구성 요소 대신 메시지를 송수신하며 IPC를 통해 통신합니다.

그림 1. ESXi 호스트 사용자 및 커널 공간 다이어그램