이번에는 EC2 우분투 서버에 자바 웹 서비스를 위한 톰캣 서버를 구축해 보자
먼저 톰캣 다운로드 페이지에 접속해 다운로드 받을 주소를 복사하고 터미널을 이용해 EC2 서버의 home 디렉터리 하위에 톱캣을 설치할 디렉터리를 만들고 톰캣을 다운로드 받자




자바가 설치되고 자동으로 잡바 설정 update-alternatives 명령이 적용된 후 다음과 같은 당황스런 메세지가 화면에 출력된ㄴ다. 신규로 설치한 최신 Kernel을 사용하기 위해서 재부팅이 필요하다는 Kernel Hint가 발생한다.


EC2 인스턴스의 퍼블릭 IPv4 주소를 확인하고 브라우저에서 아래 주소로 접속해 보면 아파치 웹 서버를 처음 실행할 때와 마찬가지로 사이트에 연결할 수 없다는 메시지가 뜬다. 이는 아파치 웹 서버를 사용할 때와 마찬가지로 현재 인스턴스에 설치된 톰캣 서버가 사용하는 8080번 포트가 방화벽으로 막혀 있기 때문에 생기는 문제이다. 처음 EC2 인스턴스를 생성하면 SSH 접속에 필요한 22번 포트를 제외하고 모든 포트가 방화벽으로 막혀 있기 때문에 “네트워크 및 보안 – 보안 그룹” 메뉴에서 서비스에 필요한 포트로 접속할 수 있도록 인바운드 규칙을 설정해야 한다.
http://퍼블릭 IPv4 주소:8080
“네트워크 및 보안 – 보안 그룹”을 선택한 후 인바운드 규칙을 추가할 보안 그룹을 선택하고 “인바운드 규칙 편집” 버튼을 클릭하면 인바운드 규칙을 추가하는 화면으로 이동한다.
톰캣 서버가 사용하는 8080번 포트에 대한 인바운드 규칙을 추가

EC2 서버의 8080번 포트에 대한 인바운드 규칙을 추가하고 브라우저에서 아래 주소로
접속했을 때 다음 그림과 같은 화면이 나타나면 톰캣이 정상적으로 실행된 것이다.

앞의 화면에서 서버 상태를 보기위해서 “Server Status” 메뉴를 클릭하면 다음과 같이
접근 거부 페이지가 나타나는데 이 화면에서 매니저 앱은 톰캣과 동일한 시스템에서 실
행되는 브라우저에서만 접근 할 수 있으며 이 제한 사항을 수정하려면 context.xml 파
일을 수정해야 한다는 내용과 conf/tomcat-users.xml 파일에 웹앱을 사용할 수 있는
자격증명이 포함되어 있다는 내용을 볼 수 있고 샘플 설정에 대한 안내도 볼 수 있다


아래 주소로 접속해 “Server Status” 메뉴를 클릭하면 로그인 창이 나타나고 관리자 아
이디와 비밀번호를 입력해 로그인을 성공하면 다음과 같은 화면이 나타난다.


“Tomcat 웹 애플리케이션 매니저” 화면에서 조금 아래로 스크롤하여 아래 그림과 같이
배포할 LottoList.war 파일을 선택하고 “배치” 버튼을 클릭해 앱을 배포한다.

SpringSTS에서 스프링프로젝트를 Export 할 때 아래 그림과 같이 WAR file 메뉴를 이용해 Export 하고 앞의 자바 웹 앱 배포하기를 찾고해 EC2서버에 설치된 톰캣 서버에 배포하면 된다. 수업 시간에 제공하는 blog-app은 스프링프레임워크로 작성된 프로젝트로 MySQL DB와 연동하는 앱으므로 이 교안 바로 뒤에 나오는 RDS에 DB를 만들고 테이블을 생성한 후에 스프링 앱을 배포한다.

아마존 RDS는 Amazon Relational Database Service의 약자로 몇 번의 클릭으로 AWS
에서 관계형 데이터베이스를 설치하고 운영 및 확장할 수 있는 서비스 이다.
이 서비스는 Amazon Aurora(MySQL 호환), Amazon Aurora(PostgreSQL 호환),
MySQL, MariaDB, PostgreSQL, Oracle, SQL Server 등 7가지의 주요
RDBMS(Relational Database Management System) 중에서 선택하여 사용할 수 있는
서비스 이다.











데이터베이스 생성이 완료 되었으면 새롭게 생성한 MySQL 데이터베이스에 접속하기 위해서 아래 그림과 같이 "DB 식별자" 의 링크를 클릭해 세부정보를 확인할 수 있는 화면으로 이동한다.

앞에서 DB를 생성할 때 퍼블릭 액세스를 적용해 생성했기 때문에 외부에서도 이 DB에 접속할 수 있게 된다. 외부에서 RDS의 DB에 접속하려면 DB 주소인 엔드포인트가 필요하므로 아래 화면에서 앤트포인트를 복사놓는다.
MySQL Workbench를 실행한 후 “Home” 화면에서 아래와 같이 접속 추가 버튼을 클
릭해 방금 전에 생성한 RDS의 엔드포인트를 Hostname에 입력하여 새로운 접속을 추
가하고 RDS에 접속해 데이터베이스를 생성한다.

EC2에서 RDS의 MySQL에 접속하기 위해서는 EC2가 속해 있는 보안 그룹을 RDS의 보안 그룹에서 인바운드 규칙에 추가해야 한다.

"보안 그룹" 화면이 나타나면 "인바운드 규칙 편집" 버튼을 클릭해 인바운드 규칙을 추가하는 화면으로 이동한다.
인바운드 규칙 편집 화면에서 다음 그림을 참고해 EC2인스턴스가 속해 있는 보안 그룹을 인바운드 규칙에 추가한다.
