- EC2 인스턴스 생성
- AMI(amazon Machine Image) 선택
- 인스턴스 유형 선택
- 인스턴스 세부 정보 구성
- 스토리지 추가
- 태그 추가
- 보안 그룹 구성
- 인스턴스 시작 검토
- 인스턴스 생성완료
지난주쯤에 스프링부트로 개발한 그레이들 프로젝트를 AWS(EC2 인스턴스)에 배포해보면서 AWS 배포를 정리하는 포스트를 정리하고 싶었다. 그래서 이번엔 박재성님의 유튜브 영상 강의를 보면서 하고 있는 스프링부트 메이븐 프로젝트를 EC2 인스턴스에 배포하면서 그 과정을 기록하기로 하였다.
앞으로 사용하게될 용어 정리부터 하자면, **EC2 인스턴스**는 일반적으로 우리가 사용하는 컴퓨터와 같다. 램과 용량을 선택할 수 있으며, EC2 인스턴스가 인터넷에 연결되서 우리가 배포하는 프로젝트를 인터넷에서 계속 통신하도록 도와주는 역할을 한다. AWS는 이런걸 제공하는 아마존의 서비스이자, 아마존의 계열사이다.
AWS를 서비스하는 아마존은 미국 시애틀에 본사를 두고 있는 회사이다. 한국에서 시애틀까지 연결하는것보다는 아무래도 한국 내에 위치한 데이터센터에 접근하는 것이 더 안정적이고 빠를 것이다. 따라서 AWS는 지역마다 **리전(Region)**을 설치해서 해당 지역에서 더 빠르게 접근할 수 있도록 지원하고 있다.
서울도 지난 2016년부터 서울 리전이 가동되어 한국의 다양한 스타트업들이 AWS를 이용하고 있다고 한다.
참고문서 : AWS - 리전, 가용 영역 및 로컬 영역
**프리티어(Free tier)**는 AWS에 가입시 1년 동안 무료로 사용가능한 범위를 말한다. 이 범위를 초과하면 비용이 초과되는데, 이 범위 내에서는 무료로 이용이 가능하다. 이 포스트는 프리티어 내에서 진행된다.
본 글은 AWS에 회원가입에 대해서는 정리하지 않았다.
EC2 인스턴스 생성
AWS 콘솔에 로그인하여 서비스에서 [EC2]를 클릭한다.
그리고 상단 메뉴에서 리전을 서울 리전으로 선택한다. 아마 위치를 인식하여 자동으로 잡힐 수도 있지만, 그렇지 않다면 서울로 잡아주어야 한다. 속도차이가 발생하기 때문에 자신이 있는 곳에서 물리적으로 가장 가까운 곳의 리전을 선택해서 사용해야 한다.
[EC2]에서는 [인스턴스] 메뉴를 클릭한다.
이제 본격적으로 인스턴스를 생성하게 된다.
AMI(amazon Machine Image) 선택
AMI는 아마존 머신 이미지라고 하는데, EC2를 구성하는 템플릿을 선택하는 창이다. 일반적으로는 개발에 용이하게 소프트웨어가 구성된 Amazon Linux AMI 2018.03.0을 선택해서 사용한다.
인스턴스 유형 선택
프리티어 사용이 가능하다고 마킹되어 있는 t2.micro 인스턴스를 생성한다.
인스턴스 세부 정보 구성
여기부터는 계속 넘어가도 좋다.
스토리지 추가
스토리지는 기본으로 8기가가 설정되어 있지만, 프리티어는 최대 30기가까지 사용이 가능하다.
태그 추가
기본적으로는 태그가 아무것도 생성되어 있지 않은데, Name 태그를 부과해서 인스턴스의 이름을 지정하도록 하자.
보안 그룹 구성
지금까지의 과정중 AMI을 선택하는 것만큼 중요한 과정이다. 보안그룹은 해당 인스턴스를 어떻게 사용할 것인지를 결정하는 과정이다. 지금 빠뜨리고 못한 설정은 나중에 보안그룹 수정을 통해서 추가하거나 제거할 수 있다.
updated.
보안 그룹을 위에서처럼 하면 퍼블릭 DNS로 연결이 되지 않는다.
커스텀IP를 추가해서 8080 포트를 입력해주어야한다.
기본으로 SSH만 보안 그룹으로 구성되어 있을텐데, HTTP와 HTTPS를 [규칙추가]를 통해 추가하도록 하자. SSH는 터미널에서 사용이 가능하도록 하는 설정이다. 어디서나 SSH가 개방되어 있으면 보안상 위험할 수 있으므로 [사용자지정]을 클릭하여 [내 IP]로 지정하도록 하자. 그럼 자동으로 본인의 IP를 가져올 것이다. 그럼 해당 IP에만 접근이 가능하다. 현재 인스턴스를 생성하고 있는 IP가 아닌 다른 IP에서 인스턴스에 접근하려면 보안 그룹을 수정해서 지금과 같은 방법으로 규칙을 추가해서 접근할 수 있다.
인스턴스 시작 검토
지금까지의 과정중 가장 중요한 과정이다! 키 페어가 있다면, 기존의 키페어를 사용해도 좋고 아니면 새로 생성해도 상관없다. 나는 새 키페어를 생성해서 프로젝트 폴더에 다운로드 해두었다.
여기서 주의해야할 점은 여기서 다운로드받게 될 키페어(.pem)는 절대 어디서도 공개되어서는 안되는 키이다. 재발급이 불가능하고, 유출되면 안되므로 git이 추적되지 못하도록 gitignore를 사용하여 트래킹되지 못하게 해야한다.
인스턴스 생성완료
이 화면을 보고 있다면 성공적으로 인스턴스를 생성한 것이다.
다음 글에선 터미널로 EC2 인스턴스에 접속해서 배포에 필요한 EC2 설정하는 법을 알아보겠다.