[6. Spring boot] AWS 서버 환경을 만들어보자 - AWS EC2

박현우·2021년 4월 9일
0

Spring

목록 보기
7/11

저의 경우 항상 학교에서 했던 프로젝트는 서버를 집에 두어 직접 서버를 켜야했기 때문에 AWS서버를 이용하지 못했습니다.
이번 기회에 AWS와 같은 클라우드 서비스를 이용하여 서버 배포를 해보겠습니다.

저처럼 집에 서버를 두거나 호스팅 서비스(Cafe 24, 코리아호스팅)을 이용하면 특정 시간에 트래픽이 몰린다면 해결하기 난감합니다. 때문에 이런 트래픽 관리에 유동적으로 사양을 늘릴 수 있는 클라우드가 유리하다고 합니다.

또, AWS의 EC2와 같은 클라우드 서비스는 서버 장비를 대여하는 것 뿐 아니라 로그 관리, 모니터링, 하드웨어 교체, 네트워크 관리 등을 기본적으로 지원합니다.

이런 클라우드는 3가지 형태가 있습니다.

  1. Iaas (Infrastructrue as a Service)
  • 기존 물리 장비를 미들웨어와 함께 묶어둔 추상화 서비스입니다.
  • 가상머신, 스토리지, 네트워크, OS 등의 IT인프라를 대여해줍니다.
  • AWS EC2 등
  1. PaaS (Platfrom as a Service)
  • IaaS에서 한 번 더 추상화한 서비스입니다. 그렇기 때문에 많은 기능이 자동화되어 있습니다.
  • AWS Beanstalk 등
  1. SaaS (Software as a Service)
  • 소프트웨어 서비스를 이야기합니다.
  • 구글 드라이브 등

현재 많은 기업이 AWS로 서버를 이전 중이고 점유율또한 상당합니다. 채용 공고에서도 AWS를 이용한.. 등의 지원자격이나 우대사항을 확인할 수 있는 것으로 보아 클라우드 서비스는 AWS를 사용하는게 맞는 것 같습니다.


EC2 인스턴스 생성하기

AWS에 접속 후 가볍게 회원가입하여 EC2 인스턴스를 생성하겠습니다.
EC2는 AWS에서 제공하는 성능, 용량 등을 유동적으로 사용할 수 있는 서버입니다.

인스턴스 시작을 누릅니다.
그러면 AMI를 설치해야 하는데, AMI는 쉽게 말해 AWS의 OS 등을 설치하는 거라고 생각하면 됩니다.



위 그림과 같이 프리티어 사용가능을 선택합니다.
t2는 요금 타입, micro는 사양입니다. 크레딧이란 일종의 CPU를 사용할 수 있는 포인트 개념으로, 인스턴스 크기에 따라 정해진 비율로 CPU 크레딧을 계속 받게 되면서, 축적이 가능합니다.

이 크레딧이 모두 사용되면 더이상 EC2를 이용할 수 없습니다..그래서 트래픽이 높은 서비스들은 다른 시리즈를 이용한다고 합니다.


다음 단계인 인스턴스 세부 정보 구성은 디폴트로 넘어가고, 스토리지로 넘어가겠습니다.
서버의 용량을 선택하는 단계로, 기본값은 8GB지만 30GB까지 프리 티어로 사용 가능합니다.


태그는 웹 콘솔에서 표기될 태그인 Name 태그를 등록합니다. EC2의 이름을 붙여준다고 생각하면 됩니다.


보안 그룹은 방화벽입니다.
유형 항목 중 SSH이면서 포트항목에서 22인 경우는 AWS EC2터미널로 접속할 때를 이야기 합니다.
이때 pem키(비밀키)가 없으면 접속이 안되서 전체 오픈을 하는 경우가 있는데, 실수로 pem키가 노출되면 서버에서 가상화폐가 채굴된다고 합니다.
그러므로 지정된 IP에서만 ssh 접속이 가능하도록 구성하는 것이 안전합니다.

인스턴스로 접근하기 위해서는 pem키가 있어야 하므로 키 페어를 다운로드 하고 인스턴스를 시작하여 EC2목록으로 이동합니다.


EIP 할당하기

EIP란 AWS의 고정 IP를 Elastic IP 라고 하는데, 인스턴스의 IP를 매번 할당하는 것을 막기 위함입니다.

탄력적 IP를 우리가 만든 인스턴스에 연결하면 끝입니다.

하지만, EIP를 생성하고 EC2서버에 연결하지 않으면 비용이 발생하기 때문에 반드시 EIP를 생성하면 인스턴스에 연결해야 합니다.


EC2 서버에 접속하기

윈도우에서는 별도의 클라이언트(putty)를 설치하여 ssh에 접속해야 합니다.

PuTTY란?

  • 서버는 물리적으로 떨어져 있어도 단말 장비를 통해서 원격으로 접속하여 작업할 필요가 있는데 이때 윈도우같은 개인 pc 운영체제에서도 서버로 접속할 수 있도록 물리적인 단말장비가 아닌 논리적인 가상 단말기를 제공합니다.

출처: https://dololak.tistory.com/24 [코끼리를 냉장고에 넣는 방법]


putty는 pem키로 사용이 안되고, 키를 ppk파일로 변환을 해야합니다. puttygen.exe에서 pem -> ppk파일로 변환해줍니다.



1. Host Name

  • username@public_IP를 기입합니다. 우리가 생성한 Amazon Linux는 ec2-user가 username이라 ec2-user@EIP 주소 를 등록해야 합니다.

2 Port

  • ssh 접속 포트인 22 등록.

3 Connection type

  • SSH를 선택.

putty에서 ppk파일을 등록하고 실행하면 다음과 같이 정상적으로 윈도우에서 ec2로 접속 됩니다.


반드시 해야할 설정

반드시 해야할 설정으로는 3가지가 있습니다.

  • Java8 설치
  • 타임존 변경 - 기본 서버의 시간대가 미국임.
  • 호스트 네임 변경 - 실무에서는 수십대의 서버가 작동하는데 구별하기 위해 서버 이름 지정.

0개의 댓글