티스토리 뷰

반응형

소프트웨어 서비스 운영에 있어 안정화는 아주 중요한 요소 중 하나이다.

많은 사람들의 눈높이가 높아진 만큼 안정적으로 고객들에게 서비스를 제공해 줄 수 있는 방법을 알아보자.



AWS에 가상 서버인 EC2와 가상 저장소인 EBS를 사용하여 구축한 웹서버는 로드 밸런서[ELB]를 사용하여 다중으로 구성할 수 있다.



1. AMI [Amazon 머신 이미지] :

- AWS에서 준비한 서버 이미지로 AMI를 이용하여 간편하게 EC2를 생성할 수 있지만 사용자가 운영하고 있는 EC2를 기반으로 AMI를 생성할 수 있다.

- 사용자가 직접 생성한 AMI를 활용한다면 동일한 EC2 가상 서버를 손쉽게 여러대의 서버로 만들 수 있다.

- 규모가 큰 시스템을 구축하거나 같은 환경을 반복해서 사용하는 경우에 작업을 간소화 할 수 있음.


2. ELB [Elastic Load Balancer]


- 위와 같이 사용자가 생성한 AMI를 활용해 필요한 만큼의 서버를 만들었다면 ELB와 연계하여 다중화 구성을 설정할 수 있다.


- ELB는 웹 트래픽의 입구로 사용되며 트래픽이 복수의 웹 서버에 분산되도록 한다.


<구체적 설정 방법>

1> 인터넷 접속 엔드포인트를 ELB로 지정한다.
2> ELB는 IP 주소가 아닌 CNAME(대체 도메인 이름) 을 지정하여 접속한다. ELB는 고정 IP를 사용하지 않기 때문에 계속 IP주소가 변하기 때문이다.
3> DNS 서버인 아마존 라우트 53을 이용하여 ELB의 CNAME과 사용할 도메인 이름을 연결신다.
4> 이러한 설정에 의해 최종 사용자들은 도메인 이름을 통해 ELB에 접속할 수 있게 된다.
5> 다음은 ELB와 EC2 인스턴스를 연결 시킨다. ELB 작성 페이지에서 이미 만들어진 웹 서버를 선택한다. 이것으로 ELB에 의한 부하 분산 설정이 완료된다.


<ELB 설정시 유의 사항>

1> ELB용과 웹 서버용으로 각각 다른 보안 그룹을 마련한다. ELB는 인터넷 어디에서도 HTTP(80)와 HTTPS(443)로 접속 가능하도록 허용한다. 한편 웹서버는 ELB로부터 HTTP 요청만 받아들이도록 트래픽 소스를 ELB에 속한 서브넷으로 한정한다. 서브넷으로 설정하는 이유는 ELB의 IP주소가 바뀌는 것을 대비하는 것이다. 인터넷에서 직접 웹서버로 접속하는 것은 제공해서는 안된다. 개별 웹 서버로 직접 접속시 ELB의 제어가 비정상적으로 작동할 수 있다.
2> 세션 유지 기능의 유무 이다. 최근 웹사이트들은 복잡한 기능을 제공하기 위해 세션 유지기능을 이용한다. 이때 세션 정보를 웹 서버간에 공유하는 구조를 마련하지 않으면 동일한 클라이언트 접속을 항상 같은 웹 서버에 유지시켜야만 한다. ELB는 자신이 작성하는 쿠키 정보를 바탕으로 동일한 서버로 접속을 유지시키는 세션 유지 기능을 제공한다. 매니지먼트 콘솔에서 설정할 수 있으므로 필요에 따라 사용하기 바란다.
3> HTTPS 처리 이다. HTTPS 통신은 클라이언트와 서버간의 통신을 암호화 한다. ELB는 SSL 터미네이션이라고 하는 SSL 인증서 확인 및 암호화 / 복호화 처리 기능을 제공한다. ELB 리스너 설정을 HTTPS로 설정하고 인스턴스의 프로토콜을 HTTP로 설정하면 자동적으로 적용한다. 웹 서버별로 SSL 증명서를 관리할 필요가 없어지고 SSL 복호화 처리에 걸리는 부하가 줄어들어 EC2 인스턴스의 비용 절감에 도움이 된다.
4> 웹서버가 정상적으로 가동하는지 감시하는 기능이다. 기본 설정에는 Interval이 30초, Time out이 5초, 비정상 상한치(Unhealthy threshold)가 2회 이다. 웹서버에 이상 징후가 발생하면 40~70초 만에 감지하여 서버를 분리하는 작업을 한다. 필요에 따라 서비스에 맞게 위 ㅈ어보를 수정하여 사용하면 된다.
5> 응답 시간에 따른 타임아웃 설정이다. 웹서버에 분산시킨 후 일정 시간 응답이 없으면 ELB는 웹 서버와의 접속을 절단하고 HTTP 504를 반환한다. 타임 아웃 시간은 접속 설정의 타임아웃으로 설정하며, 초기 설정값은 60초이다.


[출처 : 실전 AWS워크북]

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함