특징 | NLB (Network Load Balancer) | ALB (Application Load Balancer) |
---|---|---|
OSI 계층 | 4계층 (전송 계층: TCP/UDP) | 7계층 (애플리케이션 계층: HTTP/HTTPS) |
처리 방식 | IP와 포트를 기반으로 트래픽 전달 | URL, 호스트 이름, HTTP 헤더, 쿼리 문자열을 기반으로 트래픽 전달 |
성능 및 지연 시간 | 초저지연 (<1밀리초)로 대량 트래픽 처리에 적합 | HTTP/HTTPS 프로토콜에 최적화, 성능보다는 애플리케이션 기능에 중점 |
TLS/SSL 종료 | 지원 가능 (TLS 리스너를 통해) | 지원 가능 (HTTPS 리스너를 통해) |
로드 밸런싱 알고리즘 | 고정된 알고리즘 (최소 연결, 라운드 로빈) | 고급 라우팅 규칙 및 조건 기반 로드 밸런싱 지원 |
사용자 인증 | 미지원 | Cognito 또는 OIDC를 사용한 사용자 인증 지원 |
웹소켓 및 HTTP/2 | 미지원 | 지원 |
IP 주소 기반 라우팅 | 지원 (특정 IP로 직접 라우팅 가능) | 미지원 |
대상 유형 | IP, 인스턴스 | IP, 인스턴스, Lambda 함수 |
가격 | 저렴 (데이터 처리량 기준) | 상대적으로 비쌈 |
특징 | S3 | EC2 | Redshift | Route 53 |
---|---|---|---|---|
목적 | 객체 스토리지 서비스 | 가상 서버 호스팅 | 데이터 웨어하우스 및 분석 서비스 | DNS 서비스 및 도메인 라우팅 |
기능 | - 대용량 파일 저장- 데이터 백업 및 복원- 웹 호스팅 | - 다양한 인스턴스 제공- 서버 구축 및 호스팅- 앱 실행 | - 대규모 데이터 분석- 병렬 쿼리 처리- BI 분석 최적화 | - 도메인 이름 등록- 트래픽 라우팅 및 장애 조치 |
엑세스 방식 | - HTTP(S)- S3 API- CLI | - SSH, RDP- EC2 API, CLI, 콘솔 | - SQL 클라이언트 (JDBC, ODBC)- AWS SDK | - HTTP/HTTPS- Route 53 API, CLI |
스케일링 | - 자동 확장 가능 (무제한 스토리지) | - 수동 확장 (인스턴스 유형 변경)- Auto Scaling 지원 | - 수동 확장 (노드 추가)- 쿼리 최적화 기능 제공 | - 자동 확장 (트래픽에 맞는 라우팅) |
비용 | - 사용량 기반 요금제 (스토리지, 요청 및 전송 비용) | - 시간 단위 요금제 (인스턴스 유형, 시간 당 과금) | - 노드 유형에 따른 요금제 (스토리지 및 쿼리 비용 포함) | - 도메인 등록비 (연간), DNS 요청 수에 따른 비용 |
보안 | - 버킷 정책 및 ACL 지원- 암호화 (SSE) 지원 | - 보안 그룹, VPC, IAM을 통한 네트워크 보안 관리 | - VPC 및 보안 그룹을 통한 네트워크 보안 | - DNSSEC, AWS WAF, Route 53 응답 정책 |
사용 사례 | - 이미지, 비디오 파일 저장- 데이터 백업 및 아카이브- 웹 호스팅 | - 웹 애플리케이션 서버 호스팅- 데이터 처리 서버- 머신러닝 실행 | - 대규모 데이터 분석- 실시간 BI 대시보드- 데이터 웨어하우징 | - 웹사이트 트래픽 라우팅- 애플리케이션의 도메인 관리 |
연계 서비스 | - Lambda- CloudFront- Glacier | - RDS- Elastic Load Balancer (ELB)- Lambda | - S3- EMR- Kinesis | - CloudWatch- CloudFront- ALB |
특징/역할 | Kinesis Data Firehose | Kinesis Data Streams |
---|---|---|
주요 목적 | 실시간 데이터 수집 및 대상 시스템으로 자동 전달 | 실시간 데이터 수집 및 데이터 스트림 처리 |
데이터 전달 | 데이터 자동 전달 (S3, Redshift, Elasticsearch 등) | 애플리케이션에서 데이터를 직접 처리 및 소비 |
데이터 처리 | 간단한 데이터 변환 및 포맷팅 (AWS Lambda 통합) | 복잡한 데이터 처리 (애플리케이션 수준에서 구현 필요) |
지연 시간 | 초 단위의 지연 (실시간에 가까운 전송) | 밀리초 단위의 지연 (진정한 실시간 처리 가능) |
데이터 유지 기간 | 데이터 유지 불가 (데이터는 대상 시스템으로 즉시 전송) | 기본 24시간 (최대 7일로 확장 가능) |
데이터 전송 방식 | Push 기반 (대상으로 자동 전송) | Pull 기반 (애플리케이션이 데이터를 소비) |
사용 사례 | - 로그 및 이벤트 데이터를 S3/Redshift로 스트리밍- 데이터 분석 | - 실시간 대시보드 업데이트- IoT 센서 데이터 처리- 금융 거래 분석 |
적합한 데이터 크기 | 1MB~128MB (대용량 배치 전송에 적합) | 1KB~1MB (소규모 데이터 처리에 적합) |
스케일링 | 자동 스케일링 | 수동 샤드 관리로 스케일링 (샤드 추가/제거 필요) |
비용 구조 | 처리된 데이터 양과 대상으로 전송된 데이터에 따라 비용 청구 | 샤드 수 및 처리량에 따라 비용 청구 |
보안 | 데이터 전송 중 및 저장 중 암호화 지원 | 데이터 스트림의 샤드에 대한 IAM 정책 및 암호화 지원 |
통합 서비스 | S3, Redshift, Elasticsearch, Splunk 등 | Amazon Lambda, EMR, Kinesis Analytics 등 |