◼︎ 클라우드 개요
- 클라우드란?
예전에는 서버를 직접 구매하고 설치해야 했지만, 이제는 클릭 몇 번으로 서버, 스토리지, 네트워크를 손쉽게 사용할 수 있습니다.
- 서비스 모델
- SaaS (Software as a Service): 네이버 MyBox 같은 완성형 서비스
- PaaS (Platform as a Service): AWS Elastic Beanstalk
- IaaS (Infrastructure as a Service): EC2, S3와 같은 기본 인프라 서비스
- 클라우드 유형
- 퍼블릭 클라우드: 빠른 확장, 사용한 만큼 비용 지불
- 프라이빗 클라우드: 보안·제어 용이
- 하이브리드 클라우드: 두 가지 장점 결합
- Region & AZ
- AWS는 전 세계를 여러 리전(Region)으로 나누고, 각 리전은 최소 3개의 가용영역(AZ)으로 구성되어 고가용성과 내결함성을 보장.
◼︎ Compute (EC2)
- EC2란?
AWS의 가상 서버. 필요할 때 바로 생성·중지 가능.
- 인스턴스 유형
다양한 워크로드(범용, 메모리 최적화, GPU 등)에 따라 선택 가능.
- 접근 방법
- SSH: 키를 등록하고 포트 오픈 후 접속
- SSM (Session Manager): SSH 키 없이 접속, 보안 강화
- 구매 옵션
- On-Demand: 필요할 때마다 사용 (비용 ↑)
- Reserved Instance: 1~3년 약정으로 비용 절감
- Spot Instance: 최대 90% 저렴, 중단 가능성 있음
- Savings Plans: 장기 약정, 유연한 리소스 사용 가능
◼︎ Auto Scaling
- 개념: 트래픽에 따라 EC2 인스턴스를 자동으로 늘리거나 줄이는 기능.
- 방식
- Scale Up/Down: CPU·메모리 자원 조절 (수직 확장)
- Scale Out/In: 인스턴스 개수 조절 (수평 확장)
- 정책
- Target Tracking: CPU 사용률 40% 유지 등
- Scheduled Scaling: 예측 가능한 시간대 미리 확장
- Dynamic Scaling: 실시간 지표 기반 자동 확장
- Predictive Scaling: 과거 데이터 기반 예측
◼︎ 데이터베이스
- RDS: 관리형 관계형 DB (MySQL, PostgreSQL, Oracle, SQL Server 지원)
- Aurora: AWS 전용 DB, MySQL·PostgreSQL 호환, 자동 확장·고성능 지원
- Multi-AZ 배포: 장애 시 자동으로 다른 AZ로 전환 → 다운타임 최소화
- DynamoDB: 완전 관리형 NoSQL DB, 유연한 스키마, 빠른 응답 속도
- ElastiCache: Redis/Memcached 기반 인메모리 캐시, DB 부하 감소, 성능 향상
◼︎ 네트워크 (VPC)
- VPC: AWS에서 논리적으로 격리된 가상 네트워크
- 서브넷
- Public Subnet: 인터넷 게이트웨이와 연결, 외부 노출 리소스 배치
- Private Subnet: 외부와 직접 연결 안 됨, DB나 내부 서버 배치
- NAT Gateway: Private Subnet → 인터넷 아웃바운드만 허용
- VPC Peering: VPC 간 안전한 연결 (동일/다른 계정 가능)
- Transit Gateway: 수백 개 VPC 중앙 집중 관리
- 보안
- Security Group: 인스턴스 단위 방화벽
- NACL: 서브넷 단위 방화벽
◼︎ 로드 밸런싱
- Elastic Load Balancing (ELB): 트래픽을 여러 인스턴스에 자동 분산
- 종류
- ALB: 애플리케이션 계층(HTTP/HTTPS) → 웹 서비스 적합
- NLB: 네트워크 계층(TCP/UDP) → 고성능/저지연 서비스
- GWLB: 보안 어플라이언스 트래픽 검사용