AWS - EC2 시작하기 (1)

이솔·2021년 10월 17일
1

AWS 서비스

목록 보기
2/3
post-thumbnail

0. 실습 시작 전 준비

1. aws 가입하기

프리티어로 AWS 가입하러 가기
-> 프리티어도 함께 가입해주어야 과금을 방지할 수 있다.
(프리티어는 1년동안 어느정도 사용량의 무료를 제공하는 것이지, 사용량이 초과하게 되면 과금이 발생하니 주의하자!)

-> 또한, 프리티어 사용 중 켜놨던 서비스가 프리티어 기간 후 바로 다음달부터 요금이 발생하니 이 점도 주의하자.

  • 필자는 첫 EC2 구축때 .gitignore를 안해서 RDS계정을 해킹당해 200만원이 넘게 과금된 적이 있다.(AWS는 킹갓제너럴기업이라 한번은 봐주더라..) 이런 경험을 하지 않도록 buget을 만들어 알림이 뜨도록 하거나 계정 관리에 주의하자!

2. PuTTY 설치

ubuntu 환경의 EC2를 사용할 것이기 때문에 PuTTY를 설치하자.

PuTTY란

SSH(Secure Shell),Telnet,TCP 접속을 위한 클라이언트이다.

PuTTY 설치하기


PC에 맞는 버전으로 설치하면 된다.

3. PuTTYgen 설치

PuTTYgen이란?

AWS에서 Linux 환경의 EC2 인스턴스를 만들게 되면 프라이빗 키 형식(.pem)파일을 다운받을 수 있게 된다.
우리가 사용할 putty를 사용하기 위해서는 .pem 키를 .ppk키로 변환하는 과정이 필요한데, PuTTY gen이 이 역할을 해준다.

PuTTYgen 설치하기

PuTTY와 동일한 링크에서 아랫부분의 Alternative binary files를 보면 putty gen 설치 파일이 있다.

4. Postman 설치

Postman이란?

API를 테스트하고, 테스트 결과를 공유하여 API 개발의 생산성을 높여주는 플랫폼이다.
우리는 API를 EC2 인스턴스에 올릴것이기 때문에, 테스트를 위해 필요하다.
postman설치하기

1. 로컬에서 프로젝트 서버 구동하기

기본 환경은 node.js로 작성하였다.

배포할 파일이 있으면 그거 사용하면 되고, 없을 시엔
https://github.com/soleu/AWS_Study 으로 들어가 pull받아 사용하면 된다. (SOPT 29기 서버 두번째 과제였던 사실은 안비밀...)

파일을 다운 받았다면 로컬에서 yarn start명령어를 사용해 잘 작동하는지 확인해보자.

이런식으로 서버가 작동된다면, 앞서 설치했던 postman으로 테스트 해볼 수 있다.
url : localhost:/3000/api/blog/post

2. 서버 빌드하기

앞서 브라우저에서 localhost:8080으로 띄우는 서버는 내 컴퓨터에서만 볼 수 있다.(이 서버... 나만 볼 수 있어요..)
이제부터 배포에 대해 얘기해 볼 것이다.

  • 배포(depolyment)는 애플리케이션을 인터넷에 올려놓아 다른 사람들도 볼 수 있게 해주는 것을 말한다.
  • 빌드(build) 소스 코드 파일을 컴퓨터에서 실행할 수 있는 독립적인 형태로 변환하는 과정을 말한다.

일반적으로 코드작성 - 테스트(컴파일)-빌드 -서버 배포 의 과정을 거친다.

이 부분에서 필자가 몰랐던 사실!

사실 서버에 배포를 할 때, 패키지 파일을 올리고 yarn start와 같은 명령어를 사용해서 컴파일해주도 문제는 없다.

파일을 빌드해서 서버에 배포를 하는 이유는,

  • 여러개의 파일들을 하나로 감싸서 파일의 누락 방지
  • 의존성이 걸린 파일들을 하나로 모아놓음
  • 개발자의 가독성을 위해
  • 협업시, 유지보수 및 로그 관리 편리
  • 컴파일 할때 보다 실행이 가벼워짐

이 있을 수 있다.

자바파일의 경우 -> .war,.jar
타입스크립트의 경우 -> dist
파일로 빌드를 실행하게 되는데, 예시 파일처럼 node.js의 express 같은 경우는 파일을 실행할 때는 빌드없이 배포를 해도 충분하다고 한다..
(어쩐지 레퍼런스가 없더라..)

3. EC2란?

Amazon Elastic Compute Cloud(EC2)

  • 아마존의 대표적인 서비스로 클라우드 Virtual Machine(가상 머신, 가상 컴퓨팅 환경 서비스)이다.
    EC2는 사용자가 가상 컴퓨터를 임대 받아 그 위에 자신만의 컴퓨터 애플리케이션들을 실행할 수 있게한다. 한 가상 컴퓨터의 단위를 "인스턴스"라고 부른다.

EC2의 특징들은 아래와 같다.

  • 크기 조정 가능한 컴퓨팅 파워(가상 인스턴스의 크기가 고정되어있지 않음)
  • 새로운 서버 인스턴스 확보 및 부팅 시간 단축
  • 실제로 사용한 용량만큼만 지불
  • 컴퓨팅 요구사항의 변화에 따라 컴퓨팅 파워 조정 가능
  • 안정성을 위해 여러 AWS 리전과 가용 영역에 걸쳐 배포

다음 장에서는 본격적으로 배포용 파일을 EC2로 올려보는 실습해볼 것 이다. 두둥!

profile
코딩왕 지망생

0개의 댓글

관련 채용 정보