EC2란
: Elastic Compute Cloud = IaaS (Infrastructure as a Service)
- AWS에서 젤 인기있는 거중 하나
EC2에서 할수있는거
- EC2에서 가상 머신 rent 가능 (빌려온 EC2는 EC2 Instance라고 함)
- 데이터를 가상 드라이브 (EBS)에 저장
- ELB로 로드를 분산(distribute)
- Auto-Scaling Group (ASG) 써서 서비스 scaling(확장) 가능
=> EC2 사용법을 아는 것은 클라우드의 동작을 이해하는데 필수!!!!!
EC2 운영체제 옵션
- 리눅스, 윈도우, 맥OS
- 이 가상머신에 사용할 컴퓨터 성능, 코어 양 (CPU)
- Random Access Memory(RAM) 양
- storage(용량)
ex) 1 네트워크로 연결된 storage (EBS & EFS)
2 HW (EC2 인스턴스 store)
- 네트워크 카드: 얼마나 빠른 카드 쓸지, 공공 IP 주소
- firewall(방화벽) rules: 보안 그룹 설정
- Bootstrap 스크립트 (처음 설치 시 구성됨): EC2 유저 데이터 설정
EC2 유저 데이터
: EC2 유저데이터 스크립트로 인스턴스를 부트스트래핑 가능
(부트스트래핑: 머신 돌아가기 시작했을 때 명령 작동하는 것)
- 이 스크립트는 인스턴스가 처음 시작할 때 한 번만 작동. 다시 실행 안됨
- EC2 유저데이터는 boot tasks(부팅 작업)을 자동화할 때 쓰임
부팅작업 예시)
- 업데이트 설치
- SW 설치
- 인터넷에서 아무 파일 설치
=> 유저데이터 스크립트에 작업 추가할수록 부팅 시 인스턴스가 할일이 늘어남!
- EC2 유저데이터 스크립트는 루트유저 계정에서만 실행됨 -> 명령어 쓸 때 sudo 써야함
EC2 인스턴스 명명 규칙!!
ex) "m5.2xlarge" 인스턴스
m: instance class를 나타냄 (m은 범용의 인스턴스라는 뜻)
5: generation (AWS가 HW를 계속 개선해서 m5, m6,...이렇게 올라가는거임)
2xlarge: instance class 내에서 크기
대표적인 EC2 인스턴스 종류
1. General Purpose (T나 M, A로 시작)
- 웹서버나 코드 repo같이 다양한 workload에 적합
- 컴퓨팅, 메모리, 네트워킹 간 균형도 굿
- 프리 티어인 t2.micro도 general purpose EC2 instance임
2. Compute Optimized (C로 시작)
- high performance 프로세서가 필요한 compute-intensive한 작업에 적합
high performance 프로세서의 용도:
- batch processing (일괄처리, 방대한 데이터 처리할때 주로 쓰임. 결과를 받아볼 때까지는 그게 의도대로 제대로 작동했는지 알 수 X) workload
- media transcoding (하나의 미디어 포맷에서 다른 미디어 포맷으로 변환, 영상 화질이나 오디오품질 변환 등)
- high performance 웹서버
- high performance 컴퓨팅 (HPC)
- 과학적 모델링 & 머신러닝
- Dedicated gaming servers (게임전용 서버)
3. Memory Optimized (RAM이라 R, 혹은 X 등으로 시작)
- 메모리 (RAM)에서 대규모 데이터셋 처리해야하는 workloads에서 성능 굿
사용사례:
- high performance의 relational/non-relational DB
- 분산 웹스케일 캐시 stores (캐시 stores 여러개 두는거 ex: AWS의 ElastiCache)
- In-memory DBs optimized for BI (business intelligence)
- 대규모 unstructured data (비정형 데이터)를 실시간처리하는 애플리케이션들
4. Storage Optimized (I, G, H1으로 시작)
- 로컬 스토리지의 대규모 데이터셋 접근할때 적합
사용 사례:
- High frequency online transaction processing (OLTP, 온라인뱅킹이나 쇼핑 등 동시에 발생하는 다수의 트랜잭션 처리) 시스템
- Relational & NoSQL DB
- in-memory DB의 캐시 (ex: Redis)
- Data warehousing (구매/판매량, 재고, 급여목록등을 기간시스템이라하는데, 이 기간시스템을 비즈니스 인사이트를 얻을수있는 데이터로 변환해 의사결정을 돕는 것) 애플리케이션
- 분산 파일시스템 (하둡처럼 여러 서버에 걸쳐 파일을 저장하고, 네트워크로 접근하는 파일시스템)
'AWS' 카테고리의 다른 글
[AWS] 스팟, IP, 배치그룹, ENI (1) | 2024.01.25 |
---|---|
[AWS] EC2 Security Group, 클래식 포트, SSH, EC2 시작 (1) | 2024.01.25 |
[AWS] AWS IAM - 2 (0) | 2023.12.18 |
[AWS] AWS IAM - 1 (1) | 2023.12.18 |
[AWS] AWS 클라우드 개요 (0) | 2023.12.18 |