본문 바로가기

메가존 클라우드 2기 교육/실무 심화

ESXi - MariaDB, HAProxy 설치


DNS - MariaDB

DNS 서버에 MariaDB 설치

# mariadb 설치
yum install -y mariadb-server

# mariadb 재기동
systemctl enable --now mariadb

# mysql 설치
mysql_secure_installation
<enter>
<y>
<y>
<y>
<y>
<y>

 


DNS 서버 - DB 접속 및 SQL문

# db 접속
mysql -u root -p

# 사용자, 데이터베이스 생성 및 권한 부여
CREATE USER 'kosa'@'%' IDENTIFIED BY 'kosa0401';	// %: 모든 호스트 - 웹에서도 가능(kosa'@'localhost: 로컬호스트만 가능), (IDENTIFIED BY 다음에 오는 것은 패스워드)
CREATE DATABASE IF NOT EXISTS wordpress;		// wordpress라는 데이터베이스가 존재하지 않으면 데이터베이스 생성
GRANT ALL PRIVILEGES ON wordpress.* TO 'kosa'@'%';	// 모든 호스트들에게 wordpress에 대한 모든 권한을 부여
quit

WEB01 - mysql 클라이언트 설치 및 접속

우선 DNS서버에서 방화벽 설정을 해주자.

# DNS서버 방화벽 설정
firewall-cmd --permanent --add-service=mysql
firewall-cmd --reload

 

# mysql 클라이언트 설치
yum install -y mysql

# DNS 서버의 DB 접속
mysql -h ns.kyoung123.shop -u kosa -p

 

접속 성공

WEB02(Ubuntu) - mysql 클라이언트 설치 및 접속

# 항상 패키지 설치 전에 업데이트
sudo apt update

# mysql-client 설치
sudo apt install -y mysql-client

# DNS 서버의 DB 접속
mysql -h ns.kyoung123.shop -u kosa -p

 


NGW - HAProxy

참고로 HAProxy는 80포트를 사용하므로, HAProxy가 설치된 서버에 웹서버가 설치됐으면 80포트가 충돌나므로 주의해야한다.

HAProxy 설치

# HAProxy 설치
yum install -y haproxy

HAProxy 설정

# HAProxy 설정
vi /etc/haproxy/haproxy.cfg
//
global
    daemon					
defaults
    mode               http

frontend  http-in				
    bind *:80	
    acl firefox hdr_sub(User-Agent) Firefox
    acl chrome hdr_sub(User-Agent) Chrome
    default_backend    backend_servers
    use_backend bk_firefox if firefox
    use_backend bk_chrome if chrome

backend backend_servers
    balance            roundrobin
#    cookie  SVID insert indirect nocache maxlife 10s
    server             web01 web01.[도메인].shop:80 cookie w1 check
    server             web02 web02.[도메인].shop:80 cookie w2 check
    server             web03 web03.[도메인].shop:80 cookie w3 check

backend bk_firefox
    server             web01 web01.[도메인].shop:80
backend bk_chrome
    server             web02 web02.[도메인].shop:80
//

# haproxy 재기동
systemctl enable --now haproxy

# haproxy 확인
systemctl status haproxy

# http서비스를 external에서 열어주자(NGW의 외부인 호스트에서 접속허용)
firewall-cmd --permanent --add-service=http --zone=external


# 방화벽 재기동
firewall-cmd --reload
호스트인 윈도우10에서 크롬, 파이어폭스, 사파리에 알맞게 로드밸런스 된다.