EC2
EC2는 탄력성이 있는 컴퓨터 클라우드라고 한다. 안전하고 크기가 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 서비스다.
AWS -EC2
- 안전하고 크기 조정이 가능한 컴퓨팅 파워를 클라우드에서 제공하는 웹 서비스다.
- 개발자가 더 쉽게 웹 규모의 클라우드 컴퓨텅을 작업할 수 있도록 설계 되었다.
- 간단한 웹 서비스 인터페이스를 통해 간편하게 필요한 용량을 얻고 구성 가능하다.
- 컴퓨팅 리소스에 대한 포괄적인 제어권 제공
- 아마존의 검증된 컴퓨팅 인프라에서 실행 가능하다.
- 새로운 인스턴스 획득, 부팅하는 데 필요한 시간을 단 몇분으로 단축 = 시장 대응에 용이하다.
- 컴퓨팅 요구사항의 변화에 따라 신속하게 용량을 확장 & 축소 가능하다.
- 실제 사용한 만큼 지불해서 컴퓨팅 비용이 절약된다.
- 개발자가 장애에 대한 복원력이 뛰어나다.
- 일반적으로 오류상황에 영향을 받지 않는 애플리케이션을 구축하도록 도구를 제공한다.
# EC2가 사용되는 곳
- 서버 구축할 때
- 게임서버, 웹 서버, 어플리케이션 서버
- 애플리케이션을 사용하거아 호스팅할 때
- 데이터베이스
- 머신러닝
- 비트코인 채굴
- 연구용 프로그램
- 기타 다양한 목적
- 그래픽 랜더링
- 게임 등
# EC2의 특성
- 초 단위 온디맨드 가격 모델
- 온디맨드 모델은 가격이 초 단위로 결정
- 서비스 요금을 미리 약정하거나 선입금이 필요 없다.
- 빠른 구축 속도와 확장성
- 몇 분이면 전 세계에 인스턴스 수백여대를 구축 가능
- 다양한 구성방법 지원
- 머신러닝, 웹 서버, 게임 서버, 이미지 처리 등 다양한 용도에 최적화된 서버 구성 가능
- 다양한 과금 모델 사용 가능
- 여러 AWS 서비스와 연동
- 오토스케일링, ELB, CloudWatch(모니터링)
# EC2 구성요소
- 인스턴스
- 클라우드에서 사용하는 가상 서버로 CPU, 메모리, 그래픽카드 등 연산을 위한 하드웨어
- EBS
- 클라우드에서 사용하는 가상 하드디스크
- AMI
- EC2 인스턴스를 실행하기 위한 정보를 담고 있는 이미지
- 보안그럼
- 가상의 방화벽
# EC2의 가격 정책
- On-Demand
- 실행하는 인스턴스에 따라 시간 또는 초당 컴퓨팅 파워로 측정된 가격을 지분하는 형식이다.
- 주요 특징
- 약정 필요 없음
- 장기적인 수요 예측이 힘들거나 유연하게 EC2를 사용할 때(주로 스타트업)
- 처음 개발하거나 시험하기 위해서 사용
- Spot Instance
- 경매 형식으로 시장에서 남는 인스턴스를 저렴하게 구매해서 쓰는 방식이다. 주로 빅데이터 분석, 보조 등 주 보다는 세컨드의 개념으로 많이 사용된다.
- 주요특징
- 최대 90% 정도 저렴
- 언제 다시 내주어야 할 지 모름
- 만약 경매 가격을 시간당 0.03으로 올려놨다면 인스턴스에 대한 수요가 낮을 때 가격이 낮아지므로 사용 가능하다.
- 반대로 수요가 높아지면 경매가가 올라가기 때문에 그 시간동안 사용이 불가능하다.
- 시작 종료가 자유롭거나 추가적인 컴퓨팅 파워가 필요한 경우 사용가능하다.
- 예약 인스턴스(Reserved Instance)
- 미리 일정기간(1~ 3년) 약정을 통해서 쓰는 방식
- 주요특징
- on-demand 방식에 비해 최대 75% 저렴
- 수요 예측이 확실 할 때
- 총 비용 절감하기 위해 어느정도 기간이 약정이 가능한 상황
- 전용 호스트(Dedicated)
- 실제 물리적 서버를 임대하는 방식이다. (비싸다 주로 중견 대기업에서 사용하는 경우가 많다.)
- 주요특징
- 라이선스 이슈(win server) 서버 하나당 라이센스가 1인 경우
- 규정에 따라 필요한 경우
주로 On-Demand나 Spot Instance를 많이 사용한다.
EC2 인스턴스 유형
EC2는 많은 종류의 최적화 된 타입을 제공한다. 각각 어플리케이션의 목적에 따라 최적화 된 인스턴스를 사용하면 된다. 일반적인 경우에 주로 t, m 타입을 사용한다. 이 뒤에 붙는 숫자의 경우 Generation 즉 세대를 의미한다. 아키텍처 및 사용 기술에 따라 접두사가 추가 되기도 한다. 원하는 옵션을 사용하면 된다. (사용이 좋을수록 가격이 비싸다.)
# 인스턴스 표기법
ex) t3.large
- 인스턴스 패밀리 : M, T, C, X, R, IO, I, D, G, P, F
- 인스턴스 세대 : 인스턴스 패밀리에 따라 1 ~ 5세대
- 인스턴스 크기 : 인스턴스 패밀리 및 세대에 따라 다양한 크기 제공
# 인스턴스 종류
- 범용
T | M | |
설명 | 저렴한 범용(인스턴스 크기별 기본 수준의 CPU 성능 제공) | 범용(컴퓨팅 메모리 및 네트워크 리소스를 균형있게 제공) |
예시 | 웹 서버, DB | 중소형 DB, 어플리케이션 |
- 컴퓨팅 최적화
c | f | |
설명 | 컴퓨팅 최적화 | 하드웨어 가속 |
예시 | CPU 성능이 중요한 어플리케이션/DB | 유전 연구, 금육, 빅데이터 분석 |
- 메모리 최적화
r | x | p | |
설명 | 메모리 최적화 | 메모리 최적화 | 그래픽 최적화 |
예시 | 메모리 성능이 중요한 어플리케이션 /DB | Spark | 머신러닝, 비트코인 |
- 저장 최적화
h | i | d | |
설명 | 디스크 쓰루풋 최적화 | 디스크 속도 최적화 | 디스크 최적화 |
예시 | 하둡 / 맵리듀스 | Nosql / 데이터 웨어하우스 | 데이터 웨어하우스/ 하둡 |
'Cloud(AWS)' 카테고리의 다른 글
[AWS] AWS Client 만들기 (0) | 2024.12.30 |
---|---|
[AWS] VPC 생성 (0) | 2024.12.23 |
[AWS] Elastic 로드 밸런싱을 이용한 서버 트래픽 분산 (0) | 2024.12.16 |
[AWS] Auto Scaling 그룹 생성 (0) | 2024.12.16 |
[AWS] 웹 서버 & 웹 애플리케이션 서버 설치 (0) | 2024.12.16 |