AWS EC2 사용 이유와 사용 경험에 대한 것은 개발자 면접에서 자주 나오는 질문 중의 하나!
아래에 AWS EC2 를 이용한 배포 과정을 정리해두었다.
1. 정의
2. 구성
보통 서버는 컴퓨팅(CPU/RAM), 하드디스크, 랜카드(한 네트워크 안에서 컴퓨터간 신호를 주고받는 데 쓰이는 하드웨어) 로 나누어진다.
EC2 에서는 각각 인스턴스, EBS, ENI 라고 생각하면 된다.
1) Instance
(1) 역할
(2) 유형
-
컴퓨터 하드웨어 구성에 따라 여러 사용 목적을 정할 수 있다.
(목적 : 고사양 게임용, 서버용, 대량의 데이터 저장소, 영상용, 로봇 등...)
-
aws는 각 인스턴스의 사용 목적(서버용, 머신러닝용, 게임용)에 따라 타입별로 인스턴스에 이름을 부여해 구분하고 있다.
- t 와 m 은 범용타입이기 때문에, aws 초보자들이 가장 많이 사용하는 프리티어에서 쓰는 타입
(3) 사이즈
- 인스턴스 cpu 갯수, 메모리 크기, 성능 등으로 사이즈가 결정됨을 말한다.
- 인스턴스 사이즈가 클수록 더 많은 메모리, 더많은 cpu, 더많은 네트워크 대역폭을 가질 수 있다.
(4) 타입 읽는 법
2) EBS
(1) 역할
(2) 유형
- 일반적으로 범용타입인 GP3을 선택
- 요금을 아끼겠다면 마그네틱을 사용
3) AMI
(1) 역할
-
인스턴스를 실행하기 위한 정보를 모은 단위
- EC2(가상 컴퓨터)를 실행하기 위해 세팅 정보를 저장한 단위
(CPU 프로세서 타입, 저장공간 용량은 몇인지, 32비트인지 64비트인지, OS는 윈도우인지 리눅스인지, 소프트웨어는 어떤게 설치되었는지 등...)
-
예시
- 리눅스가 깔린 EC2사용 하고 싶은 경우
인스턴스를 생성하고 OS를 일일히 설치해서 구성해야 하는게 아니라
- 리눅스 환경 세팅이 된 리눅스 템플릿 AMI를 EC2에 적용시키면 된다.
3. 장점
1) 사용한 만큼만 지불
- 초기 구입비, 세팅비가 전혀 없고, 그냥 사용한 만큼 비용을 지불하면 된다.
- EC2는 컴퓨터를 주문하면 바로 1분 안에 생성되고, 삭제 역시 즉시 제거된다.
- 내가 만일 10GB의 용량만 필요하다면,
120GB 삼성 SSD를 구입해서 장착하는게 아니라 딱 10GB용량 만큼만 지불하고 뽑아 사용 할 수 있다.
2) 신속한 규모 변경
- 변동 사항(요구 사항이나 갑작스러운 트래픽 증가 등...)에 따라, 신속하게 규모를 확장/축소할 수 있다.
- 따라서, 서버 트래픽 예측 필요성이 줄어든다.
3) 다양한 용도
- 머신러닝, 웹서버, 게임서버, 이미지 처리 등 다양한 용도에 최적화된 서버를 쉽게 구성 가능
4) 유기적 연동
- 여러 다른 AWS 서비스와의 유기적인 연동이 가능
참고: [AWS] 📚 EC2 개념 원리 & 사용 세팅 💯 총정리 (Instance / EBS / AMI)