LoadBalancer(HA Proxy), ncloud에 적용
LoadBalancer의 이해를 돕기 위해 파워포인트로 그린 그림입니다.
ens33쪽이 외부 ens35쪽에 내부입니다.
외부에서 들어올땐 공인 IP, 내부쪽에선 사설 IP를 쓰게 됩니다.
LoadBalancer에는 nginx와 HA Proxy가 있는데 저희는 HA Proxy를 쓸겁니다.
옛날과 다르게 요즘은 Reverse Proxy를 쓰게 되어 Web Server1 -> Web Server2 -> Web Server1 순서대로 뿌리게 됩니다.
오늘은 ncloud를 활용해서 아래 시나리오대로 구성하겠습니다.
역방향 조회 영역은 필요없습니다.
Server-2에 외부 IP가 필요한 이유는 Hosting업체에서 사실은 해당 도메인을 관리하는 기관에서 통상적으로 2개 이상의 NameServer IP를 요구하기 때문입니다.
내부 IP만 사용하시면 웹서버 설치가 안되니 일단 공인 IP 사용해서 웹서버 설치 후 해당 IP만 반납 하시면 됩니다.
저같은 경우에 ncloud에서 서버를 3개 생성해놨습니다.
공인 IP는 두개를 받은상태여서 server-3은 포트포워딩 50000을 열고 서버접속용 공인IP를 xshell에 등록해서 접속했습니다.
먼저 3서버
yum install -y httpd
vi /var/www/html/index.html
systemctl start httpd 해주고 curl localhost로 확인해줍니다.
이렇게 나오면 httpd가 잘 작동되는 것을 확인.
서버1로 가서 주 dns설정을 해줍니다.
yum install -y bind bind-utils bind-libs
vi /etc/named.conf
linsten-on port 53 을 any, allow-query를 any로 수정합니다.
vi /etc/named.rfc1912.zones
정방향조회만 추가해줍니다.
allow-update는 보조dns를 사설IP로 정해줍니다.
cp /var/named/{named.localhost,a} - a파일을 카피해와서 수정합니다.
vi /var/named/a
위사진처럼 설정해줍니다.
외부에서 검색해서 들어오는 비어있는 곳과 www쪽은 외부에서 들어오는 거기때문에
LoadBalancer로 쓸 주DNS IP를 넣어줍니다.
ns1쪽은 주DNS 및 LoadBalancer에서 WEBSERVER-1 로 쓸 보조dns 사설IP를 넣어줍니다.
정방향조회파일을 만들었으니 systemctl start named.
이제 2서버에 보조 dns를 만들어줘야합니다.
가기전에 chmod o+r /var/named/a read권한을 부여해서 cp될 수 있게 해줍니다.
2서버에서 yum install -y bind bind-utils bind-libs
vi /etc/named.conf 똑같이 any 넣어서 설정해줍니다.
vi /etc/named.rfc1912.zones
정방향조회 설정해줍니다.
systemctl start named.
ls -al /var/named에서 a파일 제대로 가져왔는 지 확인해줍니다.
서버 1로 돌아가서
yum install -y haproxy 설치.
vi /etc/haproxy/haproxy.cfg 에서 편집합니다.
외부를 바라보는 프론트메인을 80번 포트로 설정해줍니다.
내부에서 백엔드 앱설정에서
웹서비스할 두 서버의 사설IP를 넣어주고 저장합니다.
systemctl start haproxy
위사진처럼 웹서버1과 웹서버2를 번갈아가면서 뿌리기때문에 접속할 때 2와 3이 순서대로 접속이 되게 됩니다.