구현 아키텍처
Internal ALB (내부 로드 밸런서 생성)
EC2 > 로드 밸런서 > 로드 밸런서 생성
- WAS(Web Application Server)에 LoadBalancer 생성
- Tomcat(WAS)은 요청 URL을 서블릿 코드로 매핑하여 HTTP 요청 수신 및 응답
Application Load
- 이름 : Ga-In-WAS-ALB
- 내부
네트워크 매핑
- VPC : Ga-VPC
- Subnet : WAS Private Subnet 선택(Ga-WAS-Pri-A, Ga-WAS-Pri-C)
보안 그룹
- default 제거
새 보안 그룹을 생성
- 이름, 설명 : Ga-In-ALB-SG
- VPC : Ga-VPC
- 인바운드 TCP(8080) 0.0.0.0/0 허용
- Name 태그 지정
다시 로드밸런서 생성 탭으로 돌아와서, 보안 그룹 새로고침 후 지정해 주기
리스너 및 라우팅
- 리스너는 HTTP:8080 으로 들어오는 것을 대상 그룹으로 보냄 (로드 밸런서 리스너 → 대상 그룹)
- 프로토콜 : HTTP
- 포트 : 8080
대상 그룹 생성
- 대상 유형 선택 : 인스턴스
- 대상 그룹 이름 : Ga-WAS-TG
- 프로토콜 : HTTP
- 포트 : 8080
- VPC : Ga-VPC
상태 검사 경로 지정
/dbtest.jsp , /test.jsp 둘 중 아무거나 하면 됨
대상 등록에 WAS 인스턴스 추가 > 대상그룹 생성
- WAS 인스턴스 선택 후 아래에 보류 중인 것으로 포함 선택
다시 로드 밸런서 탭으로 돌아와서 새로 고침 후 대상 그룹 지정
로드 밸런서 생성 확인
WEB에 httpd.conf에 WAS-ALB DNS로 수정
[root@web-a ~]# vi /etc/httpd/conf/httpd.conf
LoadModule proxy_connect_module modules/mod_proxy_connect.so
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
<VirtualHost *:80>
ProxyRequests On
ProxyPreserveHost On
<Proxy *>
Order Deny,allow
Allow from all
SetEnv force-proxy-request-1.0.1
SetEnv proxy-nokeepalive 1
SetEnv proxy-initial-not-pooled 1
</Proxy>
ProxyPassMatch "^/.*\.(jsp|do)$" "http://internal-Ga-In-WAS-ALB-128566977.ap-northeast-2.elb.amazonaws.com:8080"
Timeout 120
</VirtualHost>
[root@web-a ~]# systemctl restart httpd
WAS 보안 그룹 수정
Internal ALB에서 생성한 보안 그룹을 인바운드 규칙 8080포트 허용해 주기
WAS-TG에 상태검사 Healthy 확인
연결확인 curl 테스트
[root@web-a ~]# curl localhost/test.jsp
<html>
<head><title>hello world</title></head>
<body>
tomcat test
now_time : Mon Jan 22 06:52:44 UTC 2024
</body>
</html>
[root@web-a ~]# curl localhost/dbtest.jsp
<h1>DB</h1>
was-db Connection Success!
'Project > 3-Tier Architecture' 카테고리의 다른 글
[3-Tier] AutoScaling 그룹 생성 및 LoadBalancer 라운드 로빈 테스트 (0) | 2024.03.04 |
---|---|
[3-Tier] AMI(Amazon Machine Image)생성과 시작 템플릿 만들기 (0) | 2024.03.04 |
[3-Tier] External ALB 인터넷 경계 로드 밸런서 생성 (WEB ALB) (0) | 2024.03.01 |
[3-Tier] WEB↔ WAS ↔ DB 연동 확인 (MySQL Connector Java) (2) | 2024.02.23 |
[3-Tier] DB 서브넷 그룹, RDS 생성(MySQL) (0) | 2024.02.22 |