일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- eip 비용
- 프리티어
- aws
- ec2 ssh 접속
- 비동기처리
- MySQL 접속
- 직무경험
- private 서브넷 접속
- bastion host
- ec2에 apache설치
- NAT 게이트웨이
- 코멘토 직무부트캠프
- 로드 밸런서
- 생성자 함수
- 프로토타입 상속
- pricing calculator
- 직무부트캠프 후기
- 코멘토 후기
- 직무부트캠프
- alb 구축
- 프라미스
- 제너레이터
- ec2 생성
- 프로토타입 미니 프로젝트
- 코멘토
- aws 비용 계산
- 자바스크립트 클래스
- rds
- 워드프레스 매니지드
- Budgets
- Today
- Total
기본을 충실하게
[aws 3-tier] EC2 인스턴스 로드 밸런서 구축 본문
[ 이전글 ]
2022.12.22 - [프로젝트/aws로 3-tier 웹 구축하기] - [aws 3-tier] EC2인스턴스에 apache 서버 구축하기
[aws 3-tier] EC2인스턴스에 apache 서버 구축하기
[ 이전글 ] 2022.12.20 - [프로젝트/aws로 3-tier 웹 구축하기] - [aws 3-tier] AMI를 통한 인스턴스 생성 [aws 3-tier] AMI를 통한 인스턴스 생성 [ 이전글] 2022.12.20 - [프로젝트/aws로 3-tier 웹 구축하기] - [aws 3-tier]
soo-woon.tistory.com
로드 밸런서
이번에 구축할 로드 밸런서는 ELB(Elastic load balancer)중 ALB(Application load balancer)입니다.. alb는 두 가용영역에서 ec2 인스턴스에 수신되는 트래픽을 자동으로 분산시켜 인스턴스를 안정화 시킵니다.
또한 ec2 인스턴스의 상태를 자동으로 추적하면서 양호한 상태의 인스턴스로만 트래픽을 라우팅 합니다.
로드 밸런서 구축
1. 로드밸런서 타입 설정
2. 기본 구성
로드밸런서 이름, 스키마, ip주소 타입을 설정합니다. internet-facing은 인터넷을 통해 클라이언트의 트래픽을 라우팅 하고 퍼블릭 서브넷이 필요합니다. 스키마는 한번 설정하면 다시 변경 할 수 없습니다.
3. 네트워크 망 구성
로드밸런서가 인터넷 연결을 위해 vpc는 인터넷 게이트웨이에 연결된 상태여야 합니다.
alb는 서로 다른 두 가용영역에 존재하는 퍼블릭 서브넷을 연결하기 때문에 기존에 생성한 web서버용 ec2 인스턴스 2개를 각각 선택했습니다.
4. 보안 규칙
로드밸런서의 보안 규칙 설정은 http 포트를 열어준 인바운드 규칙이 필요하므로 기존에 생성했던 보안 그룹을 사용했습니다. 로드 밸런서 전용 보안 규칙을 생성해서 적용해도 됩니다.
5. 리스너, 라우팅 설정
- 리스너는 구성된 protocol과 port를 통해 클라이언트 연결 요청을 확인합니다. alb는 http request를 처리하므로 http 80번 포트로 설정.
6. 대상 그룹 생성
- 로드 밸런서 대상 그룹의 이름, 프로토콜, 포트, vpc를 설정.
- 등록할 ec2 인스턴스 대상을 선택.
- 로드 밸런서가 트래픽을 생성하는 그룹으로 라우팅 되도록 인스턴스를 등록
- 다시 돌아와서 생성한 대상 그룹을 선택하고 로드 밸런서를 생성
생성된 dns 주소로 접속하면 각 인스턴스에서 실행 중인 apache 서버를 볼 수 있습니다. 현재는 정적 파일 구성을 하지 않았기 때문에 새로고침을 해도 정상적으로 로드 밸런싱이 되는지 확인하기는 어렵습니다.
로드 밸런서 테스트
정상적으로 로드 밸런서가 동작하는지 확인하기 위해 각 인스턴스에 index.html 파일을 생성하고 간단한 html 구문을 작성 해보겠습니다.
1. /var/www/html 디렉토리로 이동
cd /var/www/html
2. index.html 생성후 vim 에디터를 통해 파일 오픈
sudo touch index.html
sudo vim index.html
3. 두 인스턴스간에 차이를 위해 한 인스턴스는 server 1 다른 인스턴스는 server 2가 출력되도록 html을 작성
<html>
<head><head>
<body>
<strong>server 1</strong>
</body>
</html>
html을 작성하고 저장 후 새로고침을 누르면 두 인스턴스에 구축된 apache 서버가 번갈아가면서 실행되는 것을 확인할 수 있습니다. 정상적으로 로드 밸런서가 동작하는 것을 확인했습니다.
'프로젝트 > aws로 3-tier 웹 구축하기' 카테고리의 다른 글
[aws 3-tier] RDS 생성 (0) | 2022.12.22 |
---|---|
[aws 3-tier] Bastion host 생성 및 private ec2 연결 (0) | 2022.12.22 |
[aws 3-tier] EC2인스턴스에 apache 서버 구축하기 (0) | 2022.12.22 |
[aws 3-tier] EIP 비용 발생 (1) | 2022.12.21 |
[aws 3-tier] AMI를 통한 인스턴스 생성 (0) | 2022.12.20 |