goormedu의 '나도 AWS에 서버 구축해보자' 라는 강의를 수강한 후 정리한 내용
클라우드 서비스(Cloud Service)
: 물리적 자원 혹은 논리적 자원을 대여하는 것.
| 물리적 대여 | 논리적 대여 |
| 장비 필요 x 수리 필요 x 서버 자원 확장 및 축소 용이 |
software 대여 - DB, Machine Learning, MQ 등과 같이 직접 구현할 수 있지만, 안정성 및 구축비용 절감을 위해 AWS에서 제공하는 서비스 이용. ex) RDS라는 관리형 데이터베이스 제공 |
즉, 애플리케이션을 구축하는데 필요한 모든 것들을 비용을 지불하고 대여하는 것.
이로 인해 더 쉽고 싸고 안전하게 서비스를 구축하고 유지 가능하게 해줌.
AWS 계정 생성 및 신용카드 등록
1. AWS 홈페이지 접속
2. AWS 계정 생성 (해외 결제 가능한 카드만 사용 가능)
EC2 (Elastic Compute Cloud)
AWS의 대표적 서비스로 물리적 자원 대여.
원하는 만큼 CPU 메모리 or 디스크 등 자원의 크기를 선택하고 서버 생성 가능.

EC2에 인스턴스 자원 생성하기
- AWS 홈페이지 접속
- ‘콘솔에 로그인’ 클릭
- 서비스 찾기 – EC2
- 인스턴스 – 인스턴스 시작
※ 키 페어 파일을 안전한 곳에 저장해야 함.
간단한 Node.js 애플리케이션 생성
- 인스턴스에 접근할 IP 복사
- 터미널 환경에서 키 페어 경로 탐색
- 키 페어 파일을 이용해 인스턴스 접속
- 인스턴스에 Node.js 설치 (NVM 이용)
- EC2 인스턴스 생성
- 인스턴스 안에 ssh로 접속
- Node.js, NVM 설치
- vi로 Index.js 작성
EC2 인스턴스 내부에 Node.js 생성
get 요청 시, 작성 코드 출력
EC2 인스턴스 내부에서 curl localhost 요청
웹브라우저 상에서 요청했을때는 아무 응답 없다?
→ 22포트만 열려있기 때문에, 3000포트 개방하여 웹사이트가 자원 받아올 수 있게 구축.
EC2 자원 삭제
- 키 페어 제거(컴퓨터 파일 + EC2 자원 파일)
- AWS 콘솔에서 인스턴스 제거
- 보안 그룹 제거
대시보드에서 모두 제거됐는지 확인.
(default 값으로 보안 그룹은 1개 존재)