새발블로그
[AWS SAA] 컴퓨팅 본문

EC2
핵심 개념
- EC2는 AWS에서 가상 서버를 생성하고 실행하는 서비스
- 애플리케이션 서버, 웹 서버, 배치 서버, 분석 서버 등 다양한 컴퓨팅 워크로드에 사용
- EC2 인스턴스에 더 빠른 I/O 성능이 필요한 경우 EBS 볼륨 타입, 인스턴스 스토어, EFS, FSx 등 요구사항에 따라 선택
- 블록 장치가 필요한 워크로드는 EFS가 아니라 EBS 계열을 우선 고려
- EBS는 EC2에 연결해서 사용하는 블록 스토리지
- EFS는 여러 EC2 인스턴스에서 공유 가능한 파일 스토리지
- EC2 인스턴스 스토어는 지연 시간이 낮고 I/O 성능이 높은 임시 블록 스토리지
- 인스턴스 스토어는 인스턴스 중지, 종료, 장애 발생 시 데이터가 사라질 수 있으므로 영구 저장소로 사용하면 안 됨
- 물리 서버를 다른 고객과 공유하면 안 되는 요구사항이 있으면 Dedicated Instance 또는 Dedicated Host 고려
- 라이선스 BYOL, 소켓/코어 단위 제어, 특정 물리 호스트에 대한 가시성과 제어가 필요하면 Dedicated Host가 더 적합
- 전용 인스턴스 테넌시는 다른 AWS 계정의 인스턴스와 물리 서버를 공유하지 않도록 하는 옵션
- 다른 리전에서 EC2를 복구하거나 복제해야 하면 AMI를 대상 리전으로 복사한 뒤, 복사된 AMI에서 EC2 인스턴스 시작
- EC2 기본 모니터링은 5분 단위
- EC2 상세 모니터링을 활성화하면 1분 단위로 지표 수집
EC2 최대 절전 모드
- EC2 최대 절전 모드는 인스턴스의 RAM 상태를 EBS에 저장한 뒤 인스턴스를 중지하는 기능
- 다시 시작할 때 메모리 상태를 복원할 수 있음
- 애플리케이션 초기화 시간이 긴 경우 유용
- RAM 내용이 저장되므로 루트 EBS 볼륨이 암호화되어 있어야 함
EC2 용량 예약
- Capacity Reservation은 특정 AZ에 EC2 용량을 미리 예약하는 기능
- DR 리전에서 필요한 EC2 용량 확보가 중요한 경우 사용할 수 있음
- 인스턴스를 즉시 실행할 수 있는 용량 보장이 필요한 경우 적합
- 비용 할인 목적보다는 용량 확보 목적에 가까움
Data Lifecycle Manager와 Recycle Bin
- Data Lifecycle Manager는 EBS 스냅샷 생성과 삭제를 자동화하는 서비스
- 정기 백업 주기 관리에 사용
- Recycle Bin은 실수로 삭제한 EBS 스냅샷이나 AMI를 일정 기간 보존하는 기능
- 삭제된 리소스를 복원할 수 있도록 보호
- Data Lifecycle Manager가 백업 자동화라면, Recycle Bin은 실수 삭제 방지에 가까움
EFA
- EFA는 Elastic Fabric Adapter의 약자
- HPC나 머신러닝 워크로드에서 인스턴스 간 고성능 네트워킹이 필요할 때 사용
- Linux에서 사용
- MPI 기반 워크로드에 적합
- 일반 웹 애플리케이션보다는 고성능 컴퓨팅, 분산 학습, 과학 계산 등에 적합
AWS Batch
- AWS Batch는 대규모 배치성 컴퓨팅 작업을 실행하는 서비스
- 작업 큐와 컴퓨팅 환경을 기반으로 배치 작업 실행
- EventBridge와 연동하여 Batch 작업을 예약 실행할 수 있음
- EMR이 빅데이터 분석 클러스터에 가깝다면, AWS Batch는 배치 작업 실행 관리에 가까움
EC2 Instance Scheduler
- EC2 Instance Scheduler는 업무 시간에만 사용하는 EC2나 RDS를 자동으로 시작하고 중지하여 비용을 절감할 수 있는 솔루션
- 개발/테스트 환경처럼 24시간 실행할 필요가 없는 리소스에 적합
배치 그룹
| 유형 | 용도 |
| 클러스터 배치 그룹 | HPC처럼 인스턴스 간 낮은 지연 시간과 높은 네트워크 처리량이 필요한 워크로드에 사용 |
| 파티션 배치 그룹 | 인스턴스를 여러 파티션으로 나누어 장애 영향을 파티션 단위로 분산 |
| 분산 배치 그룹 | 각 인스턴스를 서로 다른 물리적 하드웨어에 분산 배치 |
- 클러스터 배치 그룹은 성능 중심
- 파티션 배치 그룹은 대규모 분산 시스템의 장애 영향 분산 중심
- 분산 배치 그룹은 인스턴스 간 물리적 격리 중심
EBS vs 인스턴스 스토어 vs EFS
| 항목 | EBS | 인스턴스 스토어 | EFS |
| 스토리지 유형 | 블록 스토리지 | 임시 블록 스토리지 | 파일 스토리지 |
| 주요 용도 | 단일 EC2의 OS 디스크, 데이터 디스크 | 캐시, 임시 파일, 중간 처리 데이터 | 여러 EC2에서 공유하는 파일 시스템 |
| 내구성 | 높음 | 인스턴스 중지/종료 시 데이터 유실 가능 | 높음 |
| 공유 | 기본적으로 단일 EC2 연결. 단, io1/io2는 Multi-Attach 가능 | 공유 불가 | 여러 EC2에서 동시 마운트 가능 |
| AZ 관계 | EC2와 같은 AZ에 있어야 연결 가능 | 인스턴스에 직접 연결 | 여러 AZ에서 사용 가능 |
| 대표 사용 사례 | 데이터베이스, 애플리케이션 데이터 저장 | 고성능 임시 처리 | Linux 인스턴스 여러 대의 공유 파일 저장소 |
- 여러 EC2 인스턴스가 같은 데이터를 공유해야 하면 EBS보다 EFS 또는 FSx가 적합
- Linux 인스턴스 여러 대에서 같은 파일을 동시에 사용해야 하면 EFS 고려
- EFS IA는 오래 사용하지 않는 파일을 저렴한 스토리지 클래스로 자동 전환하여 비용 절감 가능
- Windows 기반 공유 파일 시스템이 필요하면 FSx for Windows File Server 고려
- 고성능 병렬 파일 시스템이 필요하면 FSx for Lustre 고려
EBS 볼륨 타입
| 유형 | 특징 | 주요 사용 사례 |
| gp2 | 범용 SSD. 볼륨 크기에 따라 IOPS 성능 증가. 기준 성능은 1GiB당 3 IOPS | 일반 워크로드 |
| gp3 | 범용 SSD. 용량과 성능을 독립적으로 설정 가능. 기본 3,000 IOPS 제공 | 일반 워크로드, gp2 대체 |
| io1 | 프로비저닝된 IOPS SSD. 최대 64,000 IOPS 지원 | 고성능 데이터베이스 |
| io2 / io2 Block Express | 고성능·고내구성 SSD. Nitro 기반 인스턴스에서 io2 Block Express 사용 시 최대 256,000 IOPS 지원 | 미션 크리티컬 데이터베이스 |
| st1 | 처리량 최적화 HDD | 대용량 로그 처리, 빅데이터, 데이터 웨어하우스 |
| sc1 | 콜드 HDD | 자주 접근하지 않는 데이터의 저비용 저장 |
- EBS 볼륨은 일반적으로 같은 가용 영역의 EC2 인스턴스에 연결해야 함
- EC2 인스턴스와 EBS 볼륨이 서로 다른 AZ에 있으면 연결 불가
- EBS는 스냅샷을 통해 백업 가능
- EBS 스냅샷은 S3에 저장되지만, 사용자가 직접 S3 버킷에서 객체처럼 관리하는 구조는 아님
- 비암호화 EBS 볼륨을 암호화하려면 기존 볼륨에서 스냅샷 생성 → 스냅샷 암호화 복사 → 새 암호화 볼륨으로 복원
- 암호화된 EBS 스냅샷이나 RDS 스냅샷을 다른 계정과 공유하려면 스냅샷 공유뿐 아니라 KMS 키 권한도 대상 계정에 허용해야 함
- 기존 RDS 인스턴스를 직접 암호화할 수는 없음
- RDS 암호화는 스냅샷 생성 → 암호화된 스냅샷으로 복사 → 복사본에서 새 RDS 인스턴스 복원 방식으로 처리
인스턴스 구매 옵션
| 유형 | 특징 | 적합한 워크로드 |
| On-Demand | 약정 없이 필요한 만큼 사용. 비용은 상대적으로 높음 | 중단되면 안 되는 일반 워크로드 |
| Reserved Instance | 1년 또는 3년 약정으로 비용 절감 | 장기간 안정적으로 사용하는 워크로드 |
| Spot Instance | AWS의 남는 EC2 용량을 저렴하게 사용. 2분 예고 후 중단 가능 | 배치, 분석, CI/CD 등 중단 허용 워크로드 |
| Dedicated Instance | 다른 고객과 물리 서버를 공유하지 않는 인스턴스 테넌시 옵션 | 하드웨어 격리 요구사항 |
| Dedicated Host | 물리 서버 단위로 전용 호스트 할당 | BYOL, 소켓/코어 단위 라이선스 관리, 강한 물리 호스트 제어 |
| Savings Plans | 일정 사용량을 약정하고 비용 절감 | 장기적으로 안정적인 사용량이 있는 워크로드 |
- 스팟 인스턴스는 중단을 감내할 수 있는 워크로드에 적합
- 배치 작업, 분석 작업, CI/CD 작업 등에 적합
- 장기적으로 안정적인 워크로드에는 Reserved Instance 또는 Savings Plans 고려
- EC2 Savings Plans는 EC2 사용량 할인을 중심으로 제공되는 비용 절감 옵션
- Dedicated Instance와 Dedicated Host는 모두 물리적 격리 요구사항에 사용할 수 있음
- 단, 물리 호스트에 대한 세부 제어와 BYOL이 중요하면 Dedicated Host가 더 적합
모니터링 및 복구
- EC2 인스턴스 상태 검사 실패 시 CloudWatch 경보와 복구 작업을 연결하여 자동 복구 구성 가능
- 여러 CloudWatch 경보 조건을 조합해야 하는 경우 Composite Alarm 사용 가능
- CloudWatch Dashboard를 사용하면 EC2, ELB, Auto Scaling 등 주요 지표를 한 화면에서 모니터링 가능
Auto Scaling
- Auto Scaling은 트래픽이나 작업량 변화에 따라 EC2 인스턴스 수를 자동으로 늘리거나 줄이는 기능
- 여러 EC2 인스턴스가 늘었다 줄었다 하는 구조에서는 로컬 디스크나 인스턴스 내부 메모리에만 상태를 저장하면 안 됨
- 세션 정보나 공유 데이터는 ElastiCache, DynamoDB, RDS, EFS 같은 외부 저장소에 저장해야 함
- 예측 가능한 트래픽 패턴이 있다면 Predictive Scaling 또는 Scheduled Scaling 사용
- Predictive Scaling은 과거 트래픽 패턴을 기반으로 향후 트래픽을 예측하여 용량 조정
- Scheduled Scaling은 특정 시간에 인스턴스 수를 늘리거나 줄이도록 예약하는 방식
- CloudWatch 지표를 기준으로 확장하려면 Target Tracking Scaling 또는 Step Scaling 사용
- 인스턴스 시작 또는 종료 시점에 추가 작업이 필요하면 Auto Scaling 수명 주기 후크 사용
- 예를 들어 인스턴스 종료 전에 로그를 저장하거나 연결을 정리하는 작업 수행 가능
- SQS 대기열 길이를 기준으로 Auto Scaling을 구성하면 작업량 변화에 맞춰 워커 노드 확장 가능
- 배스천 호스트를 고가용성으로 구성하려면 여러 AZ에 인스턴스를 배치하고 Auto Scaling Group 사용
Auto Scaling 주요 개념
| 항목 | 내용 |
| 희망 용량 | Auto Scaling Group이 유지하려는 인스턴스 수 |
| 최소 용량 | Auto Scaling Group이 유지해야 하는 최소 인스턴스 수 |
| 최대 용량 | Auto Scaling Group이 확장할 수 있는 최대 인스턴스 수 |
| 희망 용량 미설정 시 | 일반적으로 최소 그룹 사이즈 기준으로 인스턴스 수 유지 |
| 헬스 체크 | EC2 상태 확인을 기본으로 사용하고, 필요 시 ELB 헬스 체크도 함께 사용 |
| 예측 가능한 트래픽 | Predictive Scaling 또는 Scheduled Scaling 사용 |
| 지표 기반 확장 | Target Tracking Scaling 또는 Step Scaling 사용 |
| 수명 주기 후크 | 인스턴스 시작/종료 시점에 추가 작업 수행 |
Elastic Load Balancing
- Elastic Load Balancing은 여러 대상에게 트래픽을 분산하는 서비스
- EC2, 컨테이너, IP, Lambda 등 대상 유형과 트래픽 특성에 따라 ALB, NLB, GWLB 선택
- ALB는 애플리케이션 계층 트래픽에 적합
- NLB는 네트워크 계층의 고성능 TCP/UDP 트래픽에 적합
- GWLB는 보안 어플라이언스를 트래픽 경로에 넣을 때 적합
ALB
- Application Load Balancer는 HTTP/HTTPS 기반 애플리케이션 트래픽 처리에 적합
- 애플리케이션 계층인 L7에서 동작
- URL 경로, 호스트, HTTP 헤더 등을 기준으로 요청 라우팅 가능
- UDP 트래픽 처리 용도에는 적합하지 않음
- ACM 인증서를 ALB의 HTTPS 리스너에 연결하면 EC2 인스턴스에 직접 인증서를 설치하지 않고도 TLS 처리 가능
- ALB는 AWS WAF와 연동하여 웹 요청 필터링 가능
- 외부 인증 기관에서 발급받은 인증서를 사용하는 경우에도 ACM으로 인증서를 가져와 ALB, CloudFront 등에 연결 가능
NLB
- Network Load Balancer는 TCP, UDP 트래픽 처리에 적합
- L4 계층에서 동작
- 고성능 네트워크 트래픽 처리 가능
- 정적 IP 또는 Elastic IP를 사용할 수 있으므로 고정 진입점이 필요한 경우 적합
- 초당 수백만 요청 수준의 대용량 트래픽 처리에 적합
- TLS 리스너를 구성하여 전송 구간 보안 처리 가능
- NLB는 정적 IP를 제공할 수 있으므로, 고정 IP가 필요한 구조에서 ALB 앞단에 배치하는 구성 가능
GWLB
- Gateway Load Balancer는 타사 가상 방화벽이나 보안 어플라이언스를 트래픽 경로에 투입할 때 사용
- 네트워크 트래픽을 보안 장비로 전달하고 다시 돌려받는 구조에 적합
ALB vs NLB vs GWLB
| 항목 | ALB | NLB | GWLB |
| 계층 | L7 | L4 | L3 |
| 주요 프로토콜 | HTTP, HTTPS | TCP, UDP, TLS | IP |
| 정적 IP | 직접 제공하지 않음 | 가능 | 목적이 다름 |
| WAF 연동 | 가능 | 직접 연동 불가 | 직접 연동 불가 |
| 주요 용도 | 웹 애플리케이션 라우팅 | 고성능 TCP/UDP 트래픽 처리 | 보안 어플라이언스 연결 |
| 대표 사례 | URL 경로 기반 라우팅 | 고정 IP, 대용량 네트워크 트래픽 | 방화벽, 침입 탐지/방지 장비 연동 |
- WAF는 ALB, API Gateway, CloudFront에 연결 가능
- NLB에는 WAF를 직접 연결할 수 없음
ECS / EKS / Fargate
| 서비스 | 특징 |
| ECS | AWS에서 제공하는 컨테이너 오케스트레이션 서비스. 마이크로서비스 아키텍처에 적합 |
| EKS | Kubernetes 기반 컨테이너 오케스트레이션 서비스. 기존 Kubernetes 배포 방식 유지가 필요한 경우 적합 |
| EKS Distro | 온프레미스 및 클라우드에서 Kubernetes 실행 가능 |
| ECS Anywhere | 온프레미스 환경에서도 ECS 클러스터를 구성할 수 있는 기능 |
| Fargate | 서버리스 컨테이너 실행 환경. EC2 인스턴스를 직접 관리하지 않아도 됨 |
- 기존 Kubernetes 배포 방식을 유지해야 한다면 EKS가 적합
- 컨테이너 실행 환경 관리를 줄이고 싶다면 ECS와 Fargate 조합 고려
- Fargate를 사용하면 EC2 인스턴스를 직접 프로비저닝하거나 관리하지 않고 컨테이너 실행 가능
- Amplify는 컨테이너 실행 서비스가 아님
- Amplify는 웹/모바일 애플리케이션 개발과 배포를 지원하는 서비스에 가까움
Lambda
- Lambda는 서버를 직접 관리하지 않고 코드를 실행할 수 있는 서버리스 컴퓨팅 서비스
- 이벤트 기반으로 실행
- 요청 수와 실행 시간에 따라 과금
- API Gateway, S3 Event, DynamoDB Streams, EventBridge 등 다양한 AWS 서비스와 연동 가능
| 항목 | 내용 |
| 최대 실행 시간 | 15분 |
| 최대 메모리 | 10,240MB |
| 요금 | 요청 수와 실행 시간 기준 과금 |
| 실행 방식 | 이벤트 기반 실행 |
| 환경변수 보안 | 기본적으로 암호화 저장되며, 필요 시 KMS 키와 암호화 헬퍼를 활용해 보호 강화 가능 |
- Lambda 처리 실패나 장애로 인한 데이터 유실이 걱정된다면 SQS 대기열을 앞단에 두어 재처리 가능한 구조 구성
- Lambda 처리량 한계가 있는 경우 동시성 할당량 조정과 SQS 기반 작업 분산 고려
- S3 업로드 이벤트를 안정적으로 처리하려면 S3 Event에서 바로 Lambda를 호출하는 구조보다 S3 Event → SQS → Lambda 구조 사용 가능
- SQS를 앞단에 두면 이벤트를 대기열에 저장하고, 실패 시 재처리하기 쉬움
Lambda 주요 트리거 패턴
| 패턴 | 용도 |
| API Gateway + Lambda | 서버리스 API 구성 |
| S3 Event + Lambda | 이미지 처리, 파일 변환, 업로드 후속 처리 |
| DynamoDB Streams + Lambda | 데이터 변경 후 후속 처리 |
| Kinesis Data Streams + Lambda | 스트리밍 데이터 서버리스 처리 |
| EventBridge + Lambda | 이벤트 기반 스케줄링 또는 시스템 이벤트 처리 |
| SQS + Lambda | 비동기 작업 처리, 재처리 가능한 구조 구성 |
컴퓨팅 서비스 선택 기준 요약
| 요구사항 | 적합한 서비스 |
| 일반적인 가상 서버 실행 | EC2 |
| 서버 관리 없이 이벤트 기반 코드 실행 | Lambda |
| 컨테이너 실행 및 오케스트레이션 | ECS 또는 EKS |
| 서버 관리 없는 컨테이너 실행 | Fargate |
| Kubernetes 기반 운영 유지 | EKS |
| 대규모 배치 작업 실행 | AWS Batch |
| HPC/ML 고성능 네트워킹 | EC2 + EFA |
| 트래픽 변화에 따른 인스턴스 자동 증감 | Auto Scaling |
| HTTP/HTTPS 웹 트래픽 분산 | ALB |
| TCP/UDP 고성능 네트워크 트래픽 분산 | NLB |
| 보안 어플라이언스 트래픽 경유 | GWLB |
'자격증 > SAA' 카테고리의 다른 글
| [AWS SAA] 보안 / IAM (0) | 2026.06.22 |
|---|---|
| [AWS SAA] 네트워크 (0) | 2026.06.21 |
| [AWS SAA] 데이터베이스 (0) | 2026.06.21 |
| [AWS SAA] 스토리지 (0) | 2026.06.21 |
| AWS SAA-C03 합격 (0) | 2026.06.21 |