# haproxy

20개의 포스트
post-thumbnail

[Linux] HAproxy 사용법

포스팅 이유 HAproxy 사용법에 대해 간단하게 알아보고자 함. 1. HAproxy란? HAProxy는 Scale-out을 위한 Load Balancing을 해주는 SW Load Balancer입니다. >#### scale-out 이란? 횡으로 확장하여 부하를 분산하는 경우를 말합니다. 쉽게 말해 같은 서버(혹은 Pod)를 늘리고 부하를 분산하는 케이스입니다. 반대는 scale-up이라 하여 자체 스팩(사양)을 높이는 경우가 있습니다. 기존 HW Load Balancer의 경우 L2 스위치 (MAC 주소 기반 Load Balancing) L3 스위치 (IP 주소 기반 Load Balancing) L4 스위치 (Transport Layer(IP ,Port)단의 Load Balancing) - TCP, UDP L7 스위치 (Application Layer(사용자 Request)단의 Load Balancing)

2023년 8월 1일
·
0개의 댓글
·

Ansible - haproxy & wordpress install, configuration

Ansible을 이용하여 haproxy 및 wordpress 서버 구축 현재 CentOS Server는 4개를 가지고있는데 10.0.0.1 - 4 까지 static IP를 사용하여 서버를 구축하고 있다 10.0.0.2 IP를 가진 서버는 wordpress를 구축 하였고 10.0.0.3 서버에서는 wordpress & haproxy를 구축 할 예정이다 haproxy 란 LoadBalancer 역할을 하는 즉, 부하분산을 하는 기능을 가지고 있다. 웹서버를 접속하는 클라이언트 들은 똑같은 웹사이트라도 다른 IP에 접속을 한다 예를 들어 설명하자면 2대의 웹서버가 있는데 (웹사이트 코드는 동일) 1대의 서버에만 접속이 되면 나머지 1대는 구축을 했지만 아무일도 하지 않고 놀고있는 현상과, 1대에 서버에 부하가 너무 많이 가버리면 다운되는 현상을 막기위해서 부하분산, 즉 로드밸런서의 기능을 이용하는 것이다 그래서 Centos7에서

2023년 6월 13일
·
0개의 댓글
·
post-thumbnail

[리눅스] HAProxy 로그 설정 방법

haproxy는 log를 직접 기록하지 않고 rsyslog에 보내어서 기록한다. 따라서 rsyslog.conf 파일에 udp 514 port 를 listening 상태로 open하고 haproxy.cfg에는 어떠한 포맷으로 기록할지, 어떤 서버(백엔드, 프론트엔드 등)의 신호를 기록할지를 설정해야 한다. 사용 OS 및 haproxy 버전은 다음과 같다.

2023년 5월 24일
·
0개의 댓글
·
post-thumbnail

HAProxy L4 mode & Logging

HAProxy란? HA(High Availibility) + Proxy의 이름을 가지고 있다. HA는 고가용성이라는 뜻으로 이중화 기술이 필요할 때 사용이 된다. 프록시(Proxy)란 '대리', '대신'이라는 뜻을 가지며, 프로토콜에 있어서는 대리 응답 등에서 사용하는 개념이다. 소프트웨어 로드밸런서 L4 L7기능 및 로드밸런서 기능을 지원한다. L4 mode l7 mode는 http l4 mode는 tcp가된다. Logging ![](https://velog.velcdn.com/images/shone/post/cd8349c7

2023년 4월 25일
·
0개의 댓글
·
post-thumbnail

Haproxy Logging, L4 mode

Haproxy가 L7, L4 모두 로드밸런싱 할수있다. 저번에는 설정을 L7 http로 리슨해서 받아넘겨주는 식이었는데 이번에는 L4 tcp로 리슨해서 넘겨주는 방식으로 하려고한다. Logging haproxy.conf haproxy.conf 파일인데 로깅하는 법에 대해서 설명해주고 있다. /var/log/haproxy.log로 로그를 받아보고 싶으면 1) 네트워크 로그이벤트를 로깅하려면 /etc/sysconfig/syslog 파일을 수정해서 SYSLOGD_OPTION에 '-r' 옵션을 추가해서 작성하면 되고 2) local2를 통해서 원하는 위치로 로깅하려면 /var/log/haproxy.log /etc/sysconfig/syslog

2023년 4월 13일
·
0개의 댓글
·

[Ops Engineer] HAproxy 설치 및 설정

1. HAproxy란 로드밸런싱(Load Balancing) 부하분산을 위해 가상 IP를 두어서 여러 대의 서버에 접속을 분배하는 기능을 말한다 왜 쓰는가? 클라이언트의 수가 많아짐에 따라 요청수가 증가하고, 서버에 부하가 더해진다. 이를 해결하기 위해 여러 대의 서버를 두고 부하를 분산 시키는 것이다. Scale-up : 서버의 사양을 높임 Scale-out : 부하를 여러대에 분산함 HAproxy(High Availability proxy, 고가용성 프록시) HAproxy는 2대이상 서버에 요청을 분산시키는 TCP(L4) 및 HTTP(L7) 기반 애플리케이션을 위한 고가용성 로드 밸런서 및 역방향 프록시를 제공하는 무료 오픈 소스 소프트웨어이다. > [좀 더 자세히 알아보기](https://leffept.tistory.com/309#%EC%A-%--%-C%--%C-%A-HAProxy%--%EB%-A%--%--Scale-out%EC%-D%-

2023년 4월 12일
·
0개의 댓글
·
post-thumbnail

2차 - 이중화 구성 for HA

발표가 7일 금요일로 미뤄지고 하다보니 속도가 너무 느려서 다른분들이랑 차이가 나서 수요일 부터 도움을 구하면서 하게 되었습니다. Mariadb replication 출처 링크 mariadb 공식사이트(replication command): https://mariadb.com/kb/en/standard-replication/ https://mariadb.com/kb/en/setting-up-replication/ mariadb replication은 MASTER NODE의 DB를 SLAVE NODE의 DB에 자동 복제 할수 있도록 하는 설정이다. 그래서 여기서는 Master Node의 DB를 demo07 SLAVE NODE의 DB를 demo08로 설정하였다. USER 생성 master에 유저를 만들고 slave권한을 부여한다 DB config 수정 Master node config - demo07 demo07 /etc/my.cnf.d/serve

2023년 4월 6일
·
0개의 댓글
·
post-thumbnail

Traefik - 1. 개념

요약 Traefik이란 무엇인지 공부한 내용 정리 2023-01-15 나는 왜 Traefik을 공부했나? 프로젝트 요구사항 중 path base routing(경로 기반 라우팅)을 구현해야했다. 예를 들어 이런식으로, https://example-domain.co.kr/service-a/status https://example-domain.co.kr/service-b/auth https://example-domain.co.kr/service-c/ 찾아보니 이런 경로 기반 라우팅을 구현하는 방법에는 몇 가지가 있었으나, 나는 다음과 같은 이유로 Traefik을 공부하기로 마음먹었다. Traefik은 Docker를 사용하여 띄울 수 있다. 도커로 빠르게 개발&수정 배포하고 싶었다. 서비스(WAS, Auth, Meta)도 Docker 컨테이너로 배포할 계획이라 궁합이 잘 맞을 것 같았다. 사내 연구소에서 1.x 버전의 Traefik을 활용한 사례

2023년 4월 5일
·
0개의 댓글
·

haproxy 에서 backend 가 복구되지 않을 때

IP 가 바뀐게 아닌지 의심하자!!!! 회사에서 haproxy 를 통해서 private -> public 으로 나가는 api 들을 통제하고 있는데 지금까지 서비스 장애가 난 적이 없었는데..... 이번에 등록한 신규 정책이 원인 모를 이유로 가끔 사망하는 이슈가 있었다. http mode 라서 커넥션을 유지하는 것도 아닐텐데 한번 죽으면 절대 절대 backend 가 다시 up 으로 상태가 바뀌지 않았다. 해결방법은 haproxy 를 재기동 해주는 것 뿐이었다. 절대 안살아남 ㅠㅠ 꼭 새벽에 장애 남.....하.... 문제는 상대방 IP 가 고정 IP 가 아니었다는 것 이었다. > Haproxy IP 가 아니고 domain 으로 작성했다고 하더라도 기동시점에 domain 의 IP 주속 값으로 계속 동작한다 따라서 재기동 없이는 신규 IP 로 호출하지 않고 계속 이전 IP 를 호출하기 때문에 Down 상태를 유지하게 된다. 상대방 업체는 AWS 를 사용중이었고 AWS 에

2023년 4월 5일
·
0개의 댓글
·
post-thumbnail

[서버관리] 알람설정

slack 설정 slack으로 내용을 받을 생각이다. [slack app ](https://api.slack.com/) 앱을 설치해주고 From scratch 로 설정해주고 이름 설정해주고 ![](https://velog.velcdn.com/images/jujuju914/post/1290729b-af4d-420c-ad43-2f685e91f06

2023년 3월 5일
·
0개의 댓글
·
post-thumbnail

centos7 haproxy yum 설치, http roundrobin, letsencrypt ssl, https

최신 haproxy를 사용하기 위해서는 패키지 설치를 추천하지만 시간이 부족하여 haproxy를 yum으로 설치합니다. 이 글에서는 다음을 설정합니다. yum 설치 http roundrobin roadbalance letsencrypt ssl 인증서 발급 https 설정 해당 사항을 설정하기 위해서는 다음 조건이 필요합니다. 2대 이상의 웹서버 domain 공인 IP 혹은 포트포워딩 2대 이상의 웹 서버는 정상적으로 로드밸런싱이 되고 있는지 확인하기 위해서 필요합니다. domain과 공인 IP(포트포워딩)은 ssl 인증서를 발급하기 위해서 서버 80번 포트에 접속할 수 있어야 합니다. domain의 경우 무료 dns혹은 ddns가 있기 때문에 관련 내용을 찾아보시면 됩니다. 공인 IP의 경우 클라우드에서 프리티어로 만들어 보시거나 혹은 집에서 하신다면 공유기 포트포워딩으로 80/tcp하시면 됩니다. https를 하실경우 https도 하시면 됩니다.

2023년 3월 2일
·
0개의 댓글
·
post-thumbnail

[서버관리] haproxy + django + db 연결

우선 작업을 위해 위와 같이 IP주소를 설정해 주었다. Haproxy haproxy 설치후 설정파일을 아래와 같이 작성해주었다. 서버에서 받을 주소는 장고1, 2이고 IP주소를 잘 작성해준다. 중요한건 우리가 httpchk GET 방식으로 서버가 열려있는지 확인을 해야 하므로 웹서버 쪽에 test로 요청이 왔을 때 들어갈 수 있는 url과view 파일을 만들어 줘야 한다! django 장고의 경우 앞에서 내용을 집어넣는 방법과 동일하게 작업해주면 된다. 여기서 우리가 haproxy와 연결된 상태를 확인하기 위해 test url과 view를 수정해줘야 한다. 배포참고! ![](https://velog.velcdn.com/images/jujuju914/post/59059bcf-d416-45f7-ba0b-e0d5b675d38c

2023년 3월 2일
·
0개의 댓글
·

네트워크 - 실습 2

VM 변화 CentOS7XFCE ➡ VM 선택 우클릭 설정 ➡ 이름 WEB01SAMBA로 변경 ➡ 네트워크 ➡ 네트워크 어댑터 2 사용 X ➡ 네트워크 어댑터 1, 내부네트워크 (이름 vSwitch) CentOS7Minimal ➡ WEB02NFS, 역시 네트워크 수정 CentOS7Minimal 1 ➡ DNSDB, 역시 네트워크 변경 VM 추가 - NAT 게이트 웨이 cf. NAT GW 역할은 NIC(LAN Card) 가 두개 이상! 가상 시스템 가져오기 파일 ➡ 가상 시스템 가져오

2023년 2월 28일
·
0개의 댓글
·
post-thumbnail

[MySQL] HAproxy + MHA

OS : CentOS 7.9 64bit MySQL : 8.0.30 - commercial Replica Set : 1(Soure), 2(Replica) Server : 10.64.23.239 (Source, HAproxy), 10.64.23.240(Replica), 10.64.23.242(Replica), 10.64.23.243(VIP) 지난 포스팅에서, MySQL Replication 환경의 MHA 구축을 다루었습니다. 이번에는, MySQL Enterprise에서 사용할 수 있는 MySQL Router 처럼, 오픈소스인 HAproxy를 이용해 부하 분산 테스트를 하도록 하겠습니다. HAproxy? MySQL Router와 같이, 기존의 하드웨어 스위치를 대체하는 소프트웨어 로드

2023년 1월 28일
·
0개의 댓글
·
post-thumbnail

HAProxy에 SSL적용하기 with Linux Server

HAProxy에 SSL인증서를 적용했던 코드 정리입니다. Virtualbox환경에서 openssl을 이용해서 직접 ssl인증서를 적용하는 예시입니다. Linux서버에 이미 HAProxy가 설치되어있다고 가정하고 시작하겠습니다.                 vi /etc/haproxy/haproxy.cfg로 HAProxy 설정 맨 밑에 server 옆에는 web을 띄어놓은 서버 두개를 두어 라운드로빈 방식으로 로드밸런싱 되게 하였습니다.    실제 공인기관에서 발급한 ssl인증서는 아니라서 적용해서 접속해보면 https에 빨간줄이 그어져있을 수 있습니다.         포트를 열고 HAProxy를 재시작하면 적용됩니다.         참고 https://www.sslcert.co.

2023년 1월 17일
·
0개의 댓글
·
post-thumbnail

HAProxy 설치/설정

HAProxy를 APP서버들의 LB로 사용하기 위해 Linux (centOS7) 환경에 설치/설정 진행. 설치는 https://linuxscriptshub.com/install-haproxy-centos-7/를 참고한다. >구조 >설치 버전 : 2.6.2 (latest release) 설치 디렉터리 : /home1/user/apps/ 이하 설치 계정 : user, usersu(sudo 권한을 가짐) 1. HAProxy 설치 의존성 설치 HAProxy 2.6.2 설치 특수권한 지정 user 계정은 root 권한이 없기 때문에 haproxy 실행 시 root로 실행되도록 설정해야 한다. 2. HAProxy 설정 및 실행 haproxy.conf [backend servers]에 App1과 App2에 roundrobin 방식으로 로드밸런싱되도록 설정한다. ssl은 미리 생성해둔 openssl을 적용하였다. 실행

2022년 7월 26일
·
0개의 댓글
·
post-thumbnail

[Linux] sed/vim, grub, mount, package(rpm, yum, dnf)

nfs -> shared storage storage block storage -> cloud에서 주로 쓰는 방식 file storage object storage sed, vim 행 단위 편집기: sed -> 파일을 열지 않고 쉘 상에서 특정 단어를 변경하는 등의 내용을 작성하면 이를 파일에 반영시킬 수 있다. -> abc.txt 파일 내에서 만나게 되는 첫 번째 old를 new로 변경한다. -> 파일 전체에서 old를 new로 변경 -> 변경될 변수를 이용하여 처리하고 싶으면 큰 따옴표 사용 화면 단위 편집기: vi(m) :set nu -> 줄 번호 표시 :set nonu -> 줄 번호 해제 vi에서 sed 사용하기 -e: 정규표현식 /a -> 아랫 줄에 append 인터페이스 이름 변경(ens32 -> eth0) centos7 버전 이후로(이전에는 eth0, eth1, ...) 인터페이스의 이름은

2022년 7월 21일
·
0개의 댓글
·
post-thumbnail

HAproxy

HAProxy는 여러 서버에 요청을 분산시키는 TCP 및 HTTP 기반 애플리케이션을 위한 고가용성 로드 밸런서 및 역방향 프록시를 제공하는 무료 오픈 소스 소프트웨어 입니다. C로 작성되었으며 빠르고 효율적(프로세서 및 메모리 사용 측면에서)으로 유명합니다. HAproxy 설치 HAproxy 환경설정 ✍ NAT IP로 접속 시 WEB01, 02, 03으로 부하를 분산시킨다. User-Agent 파일을 검색하여 사용자가 어떠한 브라우저를 통해 접속하였는 지 알아낸다. web01 server는 firefox 에서만 접속을 허용하고 web02 server는 trident (Internet Explorer) 에서만 접속을 허용한다 HAproxy 자동시작

2022년 5월 4일
·
0개의 댓글
·
post-thumbnail

HAproxy forwardfor 설정하기

저번에 HAproxy를 통해 loadbalancer 를 설정하였었는데, 각 nginx 서버에 접속 로그를 살펴보면 Haproxy의 아이피가 찍히고 클라이언트 아이피를 확인할수 없었습니다. 우선 haproxy.cfg에 아래와같이 옵션을 추가해줍니다. 그런다음 nginx.conf 파일에 다음과 같이 추가해줍니다. ![](https://images.velog.io/images/ksun4131/post/d3f83f8d-f78c-4039-bc18

2022년 3월 17일
·
0개의 댓글
·
post-thumbnail

Docker, HAProxy 이용해 서비스 무중단 배포하기

HAProxy란? High Availbility Proxy의 약자로 Reverse Proxy 역할을 수행하는 소프트웨어입니다. HAProxy는 네트워크 스위치에서 제공하는 L4, L7 기능 및 로드 밸런서 기능을 제공합니다. Forward Proxy? 우리가 흔히 프록시라고 하면 포워드 프록시를 많이 의미하곤 합니다. 클라이언트가 서버로 요청할 때 직접 요청하지 않고 먼저 프록시 서버를 통해 요청하는 방식입니다. 클라이언트와 인터넷, 서버가 있을 때 클라이언트와 인터넷 사이에 프록시 서버가 위치함으로써 서버로 하여금 클라이언트로부터 온 요청이 정확히 누구에게서 온건지 알 수 없습니다. Reverse Proxy? ![](https://images.velog.io/images/suhongk

2021년 7월 9일
·
0개의 댓글
·