HAProxy 뒤에서 스토리지를 실행하는 방법 팔로우
Acronis Storage HAProxy, HAProxy Acronis Storage, 아크로니스 스토리지 HAProxy, HAProxy 아크로니스 스토리지
소개
Acronis Cyber Infrastructure에는 기본 장애 조치 및 로드 밸런싱으로 사용할 수 있는 DNS 라운드 로빈을 통한 서비스 장애 조치 기능이 내장되어 있습니다. 복잡한 환경의 경우 HAProxy를 사용하여 쉽게 이동하거나 마이그레이션 할 수 있고 Acronis Cyber Infrastructure와 독립적인 확장 가능하고 중복된 로드 밸런싱 플랫폼을 구축할 수 있습니다. 이 접근 방식의 또 다른 장점은 HAProxy가 공용 / 개인 네트워크 연결 지점으로 작동하고 Acronis Cyber Infrastructure 노드가 완전히 격리된 개인 네트워크에서 작동할 수 있다는 것입니다.
HAProxy
HAProxy는 TCP 및 HTTP 기반 애플리케이션을 위한 고 가용성, 로드 밸런싱 및 프록시를 제공하는 빠르고 안정적인 무료 솔루션입니다 . 특히 트래픽이 매우 많은 웹 사이트에 적합합니다. 수년에 걸쳐 사실상 표준 오픈 소스 로드 밸런서가 되었으며 현재 대부분의 주류 Linux 배포판과 함께 제공되며 기본적으로 클라우드 플랫폼에 배포되는 경우가 많습니다.
예
1. 간단한 구성 (백업 게이트웨이)
아래 예에서 Acronis Cyber Infrastructure는 5개의 노드에서 실행되고 WebCP는 자체 HA에서 실행되고 Acronis Backup Gateway는 5 개의 모든 노드에서 실행됩니다. 들어오는 각 연결의 라운드 로빈을 간단히 수행하는 기본 버전입니다. DNS-RR을 에뮬레이트합니다.
# global configuration section.
global
maxconn 32768
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
quiet
# default configuration and timeouts.
defaults
log global
retries 10
maxconn 32768
timeout connect 30s
timeout server 1d
timeout client 1d
timeout queue 1d
timeout tarpit 1d
# service for 'Backup Gateway' redirect.
listen abgw
bind *:44445
mode tcp
server srv1 192.168.1.11:44445
server srv2 192.168.1.12:44445
server srv3 192.168.1.13:44445
server srv4 192.168.1.14:44445
server srv5 192.168.1.15:44445
2. 상태 확인이 포함된 일반적인 구성 (WebCP, 백업 게이트웨이 및 S3)
아래 예에서 Acronis Cyber Infrastructure는 5개 노드에서 실행되고 WebCP는 자체 HA에서 실행되고 Acronis Backup Gateway는 5 개 노드 모두에서 실행되고 S3는 3개 노드에서 실행됩니다. 대상의 정기 상태 확인을 수행하고 실패할 경우 연결을 리디렉션하지 않기 때문에 고급 라운드 로빈 구성입니다.
# global configuration section.
global
maxconn 32768
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
quiet
# default configuration and timeouts.
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 4096
# frontend for 'WebCP'.
frontend webcp
bind *:8888
mode tcp
default_backend backend-webcp
# frontend for 'S3'.
frontend s3
bind *:443
mode tcp
default_backend backend-s3
# frontend for 'Backup Gateway'.
frontend abgw
bind *:44445
mode tcp
default_backend backend-abgw
# backend for 'WebCP'.
backend backend-webcp
mode tcp
server management1 192.168.1.10:8888
# backend for 'S3'.
backend backend-s3
mode tcp
balance roundrobin
server object1 192.168.1.11:443
server object2 192.168.1.12:443
server object3 192.168.1.13:443
# backend for 'Backup Gateway'.
backend backend-abgw
mode tcp
timeout server 12h
balance source
server storage1 192.168.1.11:44445 check
server storage2 192.168.1.12:44445 check
server storage3 192.168.1.13:44445 check
server storage4 192.168.1.14:44445 check
server storage5 192.168.1.15:44445 check
3. 상태 확인 및 SSL 종료를 포함한 복잡한 구성 (WebCP, 백업 게이트웨이 및 S3)
아래 예에서 Acronis Cyber Infrastructure는 5개 노드에서 실행되고 WebCP는 자체 HA에서 실행되고 Acronis Backup Gateway는 5개 노드 모두에서 실행되고 S3는 3개 노드에서 실행됩니다. 대상의 정기적인 상태 확인을 수행하고 실패할 경우 연결을 리디렉션하지 않기 때문에 고급 라운드 로빈 구성입니다. 또한 SSL 종료를 수행하고 WebCP와 S3를 단일 외부 URL로 혼합합니다. 마지막으로, HTTPS 트래픽 및 소스 기반 IP 밸런싱을 위해 소스 기반 IP 밸런싱을 위해 클러스터 노드 전체에 간단한 방식으로 로드를 분산하기 위해 leastconn 밸런싱 알고리즘을 사용합니다.
# global configuration section.
global
maxconn 32768
chroot /var/lib/haproxy
user haproxy
group haproxy
daemon
quiet
# default configuration and timeouts.
defaults
mode http
log global
option httplog
option dontlognull
option http-server-close
option forwardfor except 127.0.0.0/8
option redispatch
retries 3
timeout http-request 10s
timeout queue 1m
timeout connect 10s
timeout client 1m
timeout server 1m
timeout http-keep-alive 10s
timeout check 10s
maxconn 4096
# frontend for 'WebCP' and 'S3' mixed on port 443.
frontend webcp-s3
bind *:443 ssl crt /etc/letsencrypt/live/acronis.com/fullchain.pem
mode http
use_backend backend-webcp if { hdr(host) -i webcp.as.acronis.com }
use_backend backend-s3 if { hdr(host) -i .s3.as.acronis.com }
# frontend for 'Backup Gateway'.
frontend abgw
bind *:44445
mode tcp
default_backend backend-abgw
# backend for 'WebCP'.
backend backend-webcp
server management1 192.168.1.10:8888
# backend for 'S3'.
backend backend-s3
mode tcp
balance leastconn
server object1 192.168.1.11:443
server object2 192.168.1.12:443
server object3 192.168.1.13:443
# backend for 'Backup Gateway'.
backend backend-abgw
mode tcp
timeout server 12h
balance source
server storage1 192.168.1.11:44445 check
server storage2 192.168.1.12:44445 check
server storage3 192.168.1.13:44445 check
server storage4 192.168.1.14:44445 check
server storage5 192.168.1.15:44445 check
추가 정보
HAProxy를 사용하면 복잡한 설정을 구축하고 거의 모든 사용 시나리오를 제공할 수 있습니다. http 모드를 사용하는 경우 WebCP 또는 S3에 연결할 수 없는 동안 회사 브랜드 유지 관리 페이지를 자동으로 표시할 수 있습니다. 이 외에도 SSL 종료를 위해 HAProxy를 사용하고 백엔드에서 암호화되지 않은 또는 자체 서명 된 인증서를 사용하여 트래픽을 전달할 수 있습니다. 그러나 이러한 유형의 설정은 권장하지 않습니다.
사용 가능한 모든 구성 옵션에 대한 전체 문서는 여기에 있는 단일 문서에서 찾을 수 있습니다.
참조 - https://kb.acronis.com/content/64787