로드 밸런서를 생성하면 수신 요청을 지정된 인스턴스로 분산시킬 수 있습니다. 로드 밸런서를 사용하면 인스턴스 간에 워크로드를 예측 가능하게 공유하여 시스템 리소스를 보다 효과적으로 사용할 수 있습니다.

VMware Integrated OpenStack 6.0NSX Data Center for vSphere 또는 NSX-T Data Center 네트워킹이 포함된 배포를 위해 LBaaS(Load Balancer as a Service) v2.0을 지원합니다. OpenStack Octavia 구성 요소는 이 버전에서 지원되지 않습니다.

또한, LBaaS 구성 프로세스는 상태 모니터를 생성하여 LBaaS풀과 연결합니다. 상태 모니터는 인스턴스가 지정된 프로토콜 및 포트에서 계속 실행되고 있는지 여부를 확인하는 Neutron 서비스입니다.

참고: LBaaS 풀에 대한 admin_state 매개 변수는 NSX Data Center for vSphere 배포에서 지원되지 않으며 풀의 관리 상태를 다운으로 설정하는 것은 영향을 미치지 않습니다. 네트워크 트래픽이 풀 멤버에 도달하지 않도록 방지하려면 각 멤버의 관리 상태를 다운으로 설정합니다.

LBaaS 수신기는 HTTP, TCP 또는 종료된 HTTPS를 사용할 수 있습니다. 종료된 HTTPS 수신기는 들어오는 연결에 대해 TLS를 종료하고 이러한 수신기의 TLS 인증서와 키는 Barbican에 저장됩니다. 종료된 HTTPS 수신기를 생성하려면 클라우드 관리자에게 문의하여 프로젝트의 암호에 대한 액세스 권한을 barbican 사용자에게 부여하도록 ACL을 구성해야 하는지 여부를 확인하십시오.

사전 요구 사항

  • 네트워크에 공용 서브넷 및 라우터를 생성합니다. NSX Data Center for vSphere 배포의 경우 라우터 유형이 exclusive여야 합니다.
    참고: 테넌트 서브넷에 로드 밸런서를 생성할 수 있지만 부동 IP 주소를 할당해야 합니다.
  • 하나 이상의 클라이언트와 둘 이상의 서버 인스턴스를 구성합니다.

프로시저

  1. 종료된 HTTPS 수신기를 생성하고 ACL을 구성해야 하는 경우에는 인증서, 키 및 TLS 컨테이너에 대한 액세스 권한을 barbican 사용자에게 부여합니다.
    1. Integrated OpenStack Managerroot 사용자로 로그인하고 도구 상자를 엽니다.
      ssh root@mgmt-server-ip
      toolbox
    2. ACL을 구성합니다.
      openstack acl user add -u barbican-uuid object-name

      프로젝트의 인증서, 키 및 컨테이너마다 이 명령을 한 번씩 실행합니다.

      openstack user list 명령을 실행하면 barbican 사용자의 UUID를 찾을 수 있습니다. openstack secret list 명령을 실행하면 인증서, 키 및 컨테이너 이름을 찾을 수 있습니다.

  2. VMware Integrated OpenStack 대시보드에 로그인합니다.
  3. 제목 표시줄의 드롭다운 메뉴에서 프로젝트를 선택합니다.
  4. 프로젝트 > 네트워크 > Neutron 로드 밸런서를 선택하고 로드 밸런서 생성을 클릭합니다.
  5. 로드 밸런서 세부 정보 페이지에서 원하는 구성을 입력하고 다음을 클릭합니다.
    옵션 설명

    이름

    로드 밸런서의 이름을 입력합니다.

    설명

    (선택 사항) 로드 밸런서에 대한 설명을 입력합니다.

    IP 주소

    (선택 사항) 로드 밸런서의 IP 주소를 입력합니다.

    서브넷

    로드 밸런서의 서브넷을 선택합니다. 이 서브넷의 멤버만 LBaaS 풀에 추가할 수 있습니다.

  6. 수신기 세부 정보 페이지에서 원하는 구성을 입력하고 다음을 클릭합니다.
    옵션 설명

    이름

    수신기의 이름을 입력합니다.

    설명

    수신기에 대한 설명을 입력합니다.

    프로토콜

    수신기에서 사용할 프로토콜을 선택합니다. 다음과 같은 프로토콜이 지원됩니다.

    • HTTP
    • TCP
    • 종료된 HTTPS
    • HTTPS

    종료된 HTTPS를 프로토콜로 선택하는 경우에는 TLS 컨테이너의 ID도 제공해야 합니다.

    포트

    수신기에서 사용할 포트를 입력합니다.

  7. TERMINATED_HTTPS 프로토콜을 선택한 경우에는 수신기에 대해 인증서를 하나 이상 지정하고 다음을 클릭합니다.
  8. LBaaS 풀에 대한 이름, 설명 및 로드 밸런싱 방법을 지정하고 다음을 클릭합니다.
    다음은 지원되는 로드 밸런싱 방법에 대한 설명입니다.
    방법 설명
    LEAST_CONNECTIONS

    연결 수가 가장 적은 서버로 새 클라이언트 요청이 전송됩니다.

    ROUND_ROBIN

    각 서버에 할당된 가중치에 따라 순서대로 서버가 사용됩니다.

    SOURCE_IP

    동일한 소스 IP 주소에서 시작된 모든 연결이 동일한 풀 멤버에 의해 처리됩니다.

  9. 로드 밸런서 풀에 추가할 서버 및 클라이언트 인스턴스를 선택하고 다음을 클릭합니다.
  10. 상태 모니터에 대한 매개 변수를 지정하고 다음을 클릭합니다.
    매개 변수 설명
    모니터 유형

    HTTP, PING 또는 TCP를 지정합니다.

    간격

    멤버에게 프로브를 보내는 시간(초) 간격을 입력합니다.

    재시도

    멤버 상태를 INACTIVE로 변경하기 전에 허용되는 연결 실패 수를 입력합니다.

    시간 초과

    시간 초과되기 전에 연결이 설정될 때까지 모니터가 대기할 시간(초)을 입력합니다.

    시간 초과 값은 간격 값보다 작아야 합니다.

    HTTP를 선택하는 경우에는 HTTP 메서드, 예상된 상태 코드 및 URL도 구성해야 합니다.
  11. 로드 밸런서 생성을 클릭합니다.
  12. 테넌트 서브넷에 로드 밸런서 생성한 경우에는 부동 IP 주소를 로드 밸런서와 연결합니다.
    1. 로드 밸런서 오른쪽에 있는 아래쪽 화살표를 클릭하고 부동 IP 연결을 선택합니다.
    2. 부동 IP 주소 또는 풀을 선택하고 연결을 클릭합니다.
  13. (선택 사항) 테스트 요청을 보내 LBaaS 구성을 검증합니다.
    1. Integrated OpenStack Managerroot 사용자로 로그인합니다.
      ssh root@mgmt-server-ip
    2. 테스트 index.html 파일을 생성합니다.
    3. 동일한 디렉토리에서 웹 서버를 시작합니다.
      sudo python -m SimpleHTTPServer 80
    4. 클라이언트 인스턴스에 로그인합니다.
    5. wget 명령을 실행하여 풀에서 서버 간에 요청이 올바르게 로드 밸런싱되고 있는지 확인합니다.
       wget -O - http://mgmt-server-ip

다음에 수행할 작업

로드 밸런서를 열고 수신기 생성을 클릭하여 수신기를 추가할 수 있습니다.