EC2 (Elastic Compute Cloud)
- IaaS (Infrastructure as a Service)
- 가상머신 임대 (EC2 인스턴스)
- OS 설정
- CPU 성능 설정
- RAM 설정
- 스토리지 설정
- 네트워크 연결 스토리지 : EBS, EFS
- 하드웨어 연결 스토리지 : EC2 Instance Store
- 네트워크 유형 설정
- 네트워크 카드 속도, Public IP
- 방화벽 규칙 설정
- 보안그룹
- 부트스트랩 스크립트를 이용해 실행 시 동작 설정
- EC2 User Data
- 가상 드라이브에 데이터 저장 (EBS)
- 부하 분산 (ELB)
- 자동 서비스 확장 = Auto Scaling (ASG)
EC2 인스턴스 유형
- m5.2xlarge
- m : 인스턴스 클래스 (범용목적, 네트워크, 스토리지 etc)
- 5 : 세대
- 2xlarge : 인스턴스 클래스의 크기
- General Purpose (범용 목적)
- 웹서버, 코드 리포지토리 등 다양한 작업에 적합
- 컴퓨팅, 메모리, 네트워크 균형
- 인스턴스 클래스 : T, M, A
- Compute Optimized (컴퓨팅 최적화)
- 컴퓨팅 특화 작업에 적합
- 데이터 일괄처리 (배치)
- 미디어 트랜스코딩
- 고성능 웹서버
- 고성능 컴퓨팅 (HPC 작업)
- 머신러닝 & 전용 게임 서버
- 인스턴스 클래스 : C
- Memory Optimized (메모리 최적화)
- 메모리에서 대규모 데이터셋 처리 작업에 적합
- 인메모리 DB의 고성능 RDB / NoSQL 작업
- 분산 웹 스케일 캐시 저장소 (ex. ElastiCache)
- BI(business Intelligence)에 최적화된 인메모리 DB
- BI : 데이터 수집, 분석, 가시화
- 대규모 비정형 데이터의 실시간 처리 실행 애플리케이션
- 인스턴스 클래스 : R, X, Z
- Storage Optimized (저장공간 최적화)
- 로컬 스토리지에서 대규모 데이터셋 처리 작업에 적합
- 고주파 온라인 트랜잭션 처리 (OLTP, 온라인 트랜잭션 처리) 시스템
- 온라인 뱅킹, 쇼핑, 주문 입력 또는 텍스트 메시지 전송 등 동시에 발생하는 다수의 트랜잭션을 실행하는 데이터 처리 유형
- RDB, NoSQL DB
- 인메묄 데이터베이스 캐싱 (ex. Redis)
- 데이터 웨어하우징 애플리케이션
- 분산 파일 시스템
- 인스턴스 클래스 : I, D, H
EC2 보안그룹
- AWS 내 네트워크 보안에 대한 기본적인 기능
- 포트 액세스, 인증된 IP 범위 (IPv4, IPv6), 인/아웃바운드 트래픽 제어,
- EC2 인스턴스의 인바운드, 아웃바운드 트래픽 제어
- 인바운드 : 외부 -> EC2 트래픽
- 아웃바운드 : EC2 -> 외부 트래픽
- EC2 인스턴스의 방화벽 역할
- 인/아웃 바운드 허용 규칙만 사용
- IP 또는 다른 보안 그룹을 참조해 설정
- 보안그룹은 여러 인스턴스에 연결 가능
- 하나의 인스턴스는 여러 보안그룹을 가질 수 있음
- Region, 특정 VPC 조합에 고정됨 (새 리전, VPC에 대해서는 새 보안그룹 만들어야됨)
- 보안그룹은 EC2 외부에 존재
- 트래픽이 차단되면 EC2에서는 확인 불가능
- SSH 전용으로 별도 보안그룹을 관리하는 것이 좋음
- 애플리케이션이 timeout으로 액세스 불가능하다면 보안그룹 이슈일 확률 높음
- connection refused는 보안그룹을 통과했지만 애플리케이션 오류 or 다른 오류로 인해 연결 실패
- 기본적으로 모든 인바운드 차단 / 모든 아웃바운드 허용
- 포트번호
- 22 : SSH (Secure Shell), 리눅스에서 EC2 인스턴스 로그인
- 21 : FTP (File Transfer Protocol), 파일 공유를 위한 파일 업로드
- 22 : SFTP (Secure File Transfer Protocol), SSH 적용 파일 업로드
- 80 : HTTP, 보안 적용되지 않은 웹사이트
- 443 : HTTPS, 보안 적용 웹사이트
- 3389 : RDP (Remote Desktop Protocol), 윈도우 EC2 인스턴스 로그인
Reference
'Programming' 카테고리의 다른 글
[AWS, Certified Developer Associate] Load Balancer (0) | 2024.04.29 |
---|---|
[AWS, Certified Developer Associate] EC2 - AMI, Instance Store, EBS, EFS (1) | 2024.04.28 |
[AWS, Certified Developer Associate] IAM (0) | 2024.04.28 |
[시스템 설계: 한번에 인터뷰 합격하기] 샤딩(Sharding) & RDB vs NoSQL (1) | 2024.03.23 |
[시스템 설계: 한번에 인터뷰 합격하기] 데이터베이스의 장애 극복 전략 (0) | 2024.03.18 |