11. 웹 애플리케이션 서버 (WAS) 설치
앞서 생성했던 Bastion Host를 통해 Private Subnet에 ssh로 접속해 WAS 를 설치해주도록 하자.
WAS를 설치한 뒤에는 IN-ELB를 통해 로드밸런스 테스트까지 해준다.
다음 작업은 WAS1과 WAS2 모두 동일하게 진행해주도록 하자.
11-1. Private WAS 서버 접속
Private의 접속하기 위해서는 ".pem" 키 파일을 이용한 ssh로 접속해 주도록 하자
11-2. WAS 서버인 Tomcat을 설치해주기 전에는 Java가 필요하다.
Java가 설치 되어있는지 확인해주자.
11-3. 자바가 설치되어 있지 않아서 설치해주도록 한다.
yum 명령어를 통해 설치해주도록 하자.
sudo yum install -y java-1.8.0-openjdk.x86_64
11-4. Java가 설치가 되었다면 다음으로 WAS 서버에 Tomcat을 설치해주자
Tomcat 홈페이지에서 사용하려는 Tomcat의 버전의 링크를 가져와 wget을 통해 설치해주자
tomcat.apache.org/download-10.cgi
11-5. Tomcat이 설치되어 있는것을 확인해주고
sudo tar xzf apache-tomcat-10.0.2.tar.gz 명령어를 통해 압축을 풀어주도록 하자.
11-6. 압축 해제된 Tomcat의 폴더로 이동한 후, sudo ./bin/startup.sh 명령어를 통해 톰캣을 실행 시켜주자.
11-7. 설치했던 tomcat의 디렉터리 안에 logs 디렉터리로 이동해주고,
tail -f localhost_access_log.2021-02-21.txt 가장 최근의 로그파일이 생성되어있다.
로그를 확인해보자
11-8. WAS 서버 확인을 위해 JSP 파일로 테스트 페이지를 작성해주자.
/Tomcat/webapps/ROOT 디렉터리로 이동해준뒤 <파일명>.jsp 으로 테스트 페이지를 작성해준다.
(WAS2 서버에서는 테스트 페이지 작성할 때, 로드밸런스 확인할 수 있게 WAS1과는 다른 내용으로 작성해주자. )
11-9. ./shutdown.sh 명령어로 Tomcat을 종료했다가, 다시 시작해주자
11-10. WAS 서버가 타겟으로 등록된 IN-ELB의 상태가 healthy인지 확인해주자.
11-11. WAS 서버가 설치되었고 로드밸런서도 작동중이지만,
현재는 Web과 WAS가 연결되어 있지 않은 상태이기 때문에, EX-ELB를 타고 들어왔던 트래픽이 Web에서 WAS로 전달 불가능하다.
Web 서버와 WAS 서버를 연결해주는 작업이 별도로 필요하다. Apache 설치 시 같이 설치되는 mod_proxy 모듈을 이용해서 두 서버를 연결해주도록 하자.
cd /etc/httpd/conf/httpd.conf 파일을 열어서
Include conf.modules.d/*.conf 구문 밑에 다음과 같이 추가해주자.
11-12. 그 후, 파일 맨 끝에 다음과 같은 구문을 작성해주자.
Web에서 받은 트래픽을 IN-ELB:8080으로 넘겨주는 작업
11-13. 파일 내용이 적용 될 수 있도록 Apache를 재실행 해주자
11-14. Web과 WAS가 제대로 연결되었다면, EX-ELB의 DNS Name/<파일명>.jsp 를 통해 접속하면
다음과 같이 로드밸런서가 작동되는 WAS 서버 테스트 페이지를 확인할 수 있다.
새로고침 할 때마다 WAS1, WAS2 가 계속 바뀌는 것과 현재 시간 데이터를 받아올 수 있다.
'AWS > 3 Tier Architecture' 카테고리의 다른 글
[AWS] AWS로 구축하는 3티어 아키텍처 - (DB 연동) (5) | 2021.02.21 |
---|---|
[AWS] AWS로 구축하는 3티어 아키텍처 - (Web 서버) (0) | 2021.02.21 |
[AWS] AWS로 구축하는 3티어 아키텍처 - (RDS 생성) (1) | 2021.02.21 |
[AWS] AWS로 구축하는 3티어 아키텍처 - (ELB 생성) (1) | 2021.02.20 |
[AWS] AWS로 구축하는 3티어 아키텍처 - (EC2 인스턴스 생성) (0) | 2021.02.20 |