4.7.4. HAProxy 설치 및 구성

두 개 이상의 HAProxy 노드에서 다음 절차를 수행합니다.

  1. haproxy 를 설치합니다.

    [root@haproxy]# dnf install haproxy
  2. SELinux 및 HTTP에 대해 haproxy 를 구성합니다.

    [root@haproxy]# vim /etc/firewalld/services/haproxy-http.xml

    다음 행을 추가합니다.

    <?xml version="1.0" encoding="utf-8"?>
    <service>
    <short>HAProxy-HTTP</short>
    <description>HAProxy load-balancer</description>
    <port protocol="tcp" port="80"/>
    </service>

    root 로 올바른 SELinux 컨텍스트 및 파일 권한을 haproxy-http.xml 파일에 할당합니다.

    [root@haproxy]# cd /etc/firewalld/services
    [root@haproxy]# restorecon haproxy-http.xml
    [root@haproxy]# chmod 640 haproxy-http.xml
  3. HTTPS를 사용하려는 경우 SELinux 및 HTTPS에 대해 haproxy 를 구성합니다.

    [root@haproxy]# vim /etc/firewalld/services/haproxy-https.xml

    다음 행을 추가합니다.

    <?xml version="1.0" encoding="utf-8"?>
    <service>
    <short>HAProxy-HTTPS</short>
    <description>HAProxy load-balancer</description>
    <port protocol="tcp" port="443"/>
    </service>

    root 로 올바른 SELinux 컨텍스트 및 파일 권한을 haproxy-https.xml 파일에 할당합니다.

    # cd /etc/firewalld/services
    # restorecon haproxy-https.xml
    # chmod 640 haproxy-https.xml
  4. HTTPS를 사용하려는 경우 SSL에 대한 키를 생성합니다. 인증서가 없는 경우 자체 서명된 인증서를 사용할 수 있습니다. 키를 생성하려면 Red Hat Enterprise Linux 7 시스템 관리자 가이드의 새 키 및 인증서 생성을 참조하십시오.

    마지막으로 인증서와 키를 PEM 파일에 넣습니다.

    [root@haproxy]# cat example.com.crt example.com.key > example.com.pem
    [root@haproxy]# cp example.com.pem /etc/ssl/private/
  5. haproxy 구성.

    [root@haproxy]# vim /etc/haproxy/haproxy.cfg

    globaldefaults 는 변경되지 않은 상태로 유지될 수 있습니다. defaults 섹션을 마치면 frontendbackend 섹션을 구성해야 합니다. 예를 들면 다음과 같습니다.

    frontend http_web
      bind *:80
      mode http
      default_backend rgw
    
    frontend rgw­-https
      bind *:443 ssl crt /etc/ssl/private/example.com.pem
      default_backend rgw
    
    backend rgw
        balance roundrobin
        mode http
        server  rgw1 10.0.0.71:80 check
        server  rgw2 10.0.0.80:80 check

    HAProxy 구성에 대한 자세한 내용은 Red Hat 업데이트 인프라 시스템 관리자 가이드의 HAProxy 로드 밸런서 추가 장을 참조하십시오.

  6. haproxy활성화/시작

    [root@haproxy]# systemctl enable haproxy
    [root@haproxy]# systemctl start haproxy