AWS는 다양한 클라우드 서비스를 제공하며, 각각의 서비스는 용도에 따라 카테고리로 분류된다. 아래는 주요 서비스 분류와 자주 등장하는 용어들에 대한 정리다.
1. 컴퓨팅 (Compute)
- EC2: 가상 서버 인스턴스를 생성하고 실행할 수 있는 핵심 컴퓨팅 서비스
- Lambda: 서버리스 방식으로 코드 실행 (이벤트 기반)
- ECS / EKS: 컨테이너 기반 애플리케이션 배포 및 관리
- Auto Scaling: 트래픽이나 부하에 따라 인스턴스를 자동으로 증감
관련 용어: 인스턴스, 컨테이너, 서버리스, 스케일 인/아웃
- 인스턴스: EC2와 같은 가상 서버, 실제 물리 서버 위에 만들어진 가상의 컴퓨팅 자원
- 컨테이너: 애플리케이션과 그 실행환경을 패키징한 단위, 빠른 배포와 이식성 제공(예: Docker)
- 서버리스: 서버를 직접 관리하지 않고 코드만 실행되는 방식(대표: AWS Lambda)
- 스케일 인/아웃: 인프라 자원을 줄이거나 늘리는 동작, 스케일 아웃은 수평 확장, 스케일 인은 축소
장단점 및 추천 조합:
- 소규모 스타트업: Lambda + API Gateway (비용 효율적이며 서버 관리 필요 없음)
- 중규모 웹 서비스: EC2 + Auto Scaling + ELB (유연한 인프라 운영)
- 대규모 트래픽 대응: EKS + Auto Scaling + ALB (컨테이너 오케스트레이션 및 고성능 분산)
- 단점: Lambda는 긴 실행 시간에 불리, EC2는 직접 관리 필요, EKS는 복잡도 높음
2. 스토리지 (Storage)
- S3: 객체 스토리지, 정적 파일 저장에 적합
- EBS: EC2에 연결되는 블록 스토리지
- EFS: 여러 인스턴스에서 공유 가능한 파일 스토리지
- Glacier: 장기 백업용 저비용 아카이브 스토리지
관련 용어: 객체, 블록, 내구성, 버킷, 스냅샷
- 객체(Object): 이미지, 문서 같은 파일 단위 저장(S3에서 사용)
- 블록(Block): 디스크처럼 작게 나눈 데이터 단위(EBS에서 사용)
- 버킷(Bucket): S3에서 객체를 담는 단위, 폴더와 비슷함
- 스냅샷(Snapshot): 현재 디스크 상태를 복제한 백업 이미지
- 내구성: 데이터가 손실되지 않고 오랜 시간 유지될 수 있는 정도(예: S3는 99.999999999% 내구성)
장단점 및 추천 조합:
- 일반 웹 파일 저장: S3 단독 사용
- DB 백엔드 스토리지: EC2 + EBS
- 여러 인스턴스간 공유 필요 시: EFS
- 장기 백업: Glacier
- 단점: EBS는 인스턴스 종속적, Glacier는 복구 시간 길 수 있음
3. 데이터베이스 (Database)
- RDS: 관계형 데이터베이스 관리 서비스 (MySQL, PostgreSQL 등 지원)
- DynamoDB: NoSQL 데이터베이스, 빠른 응답 속도 제공
- Aurora: AWS가 만든 고성능 RDS 호환 DB
- ElastiCache: 메모리 기반 캐시(DB 성능 향상)
- Redshift: 데이터 웨어하우스(대규모 분석용)
관련 용어: SQL, NoSQL, 읽기 전용 복제본, 수직/수평 확장, 멀티AZ
- SQL/NoSQL: SQL은 구조화된 관계형 쿼리 언어. NoSQL은 비관계형, 유연한 스키마 구조
- 읽기 전용 복제본: 메인 DB의 읽기 성능 향상을 위해 데이터를 복제한 읽기 전용 DB 인스턴스
- 수직/수평 확장: 수직은 성능 좋은 머신으로 교체, 수평은 인스턴스를 여러 개로 분산
- 멀티AZ: 데이터베이스를 여러 가용 영역에 자동 복제하여 장애 복구 대비
장단점 및 추천 조합:
- 트랜잭션 중심 앱: RDS (관계형 구조)
- 초고속 응답/단순 구조: DynamoDB
- 대규모 분석: Redshift + S3
- 단점: RDS는 확장성 한계, DynamoDB는 복잡한 쿼리 어려움
4. 네트워킹 및 콘텐츠 전송
- VPC: 사용자 정의 네트워크 환경 구성
- Route 53: 도메인 네임 시스템(DNS) 서비스
- ELB: 로드 밸런서, 트래픽을 여러 리소스로 분산
- API Gateway: API 요청을 백엔드 서비스로 연결
- CloudFront: CDN(Content Delivery Network) 서비스
관련 용어: 서브넷, 라우팅 테이블, 게이트웨이, IP, DNS, 지연 시간
- 서브넷(Subnet): VPC 내에서 IP 주소 범위를 나누는 작은 네트워크 단위
- 라우팅 테이블: 네트워크 트래픽이 어디로 갈지 결정하는 규칙 모음
- 게이트웨이(Gateway): 내부 네트워크와 외부 인터넷을 연결하는 출입구 역할
- DNS: 도메인 이름을 IP 주소로 변환하는 시스템
- 지연 시간: 데이터가 목적지에 도달하는 데 걸리는 시간, 낮을수록 빠름
장단점 및 추천 조합:
- 글로벌 서비스: CloudFront + Route 53 + ELB
- 서버리스 API: API Gateway + Lambda
- 네트워크 보안/제어: VPC + NAT Gateway + 보안 그룹
- 단점: CloudFront 캐시 지연, API Gateway 속도 제한 등
5. 모니터링 및 관리 도구
- CloudWatch: 지표 및 로그 수집, 경보 설정
- CloudTrail: AWS 리소스 활동 기록 추적
- AWS Config: 리소스 설정 변경 추적 및 감사
- Trusted Advisor: 보안, 비용, 성능 최적화 제안
관련 용어: 메트릭, 로그, 알람, 감사 로그, 상태 확인
- 메트릭: 모니터링 대상의 수치화된 데이터(CPU 사용률 등)
- 알람: 특정 조건을 만족하면 경고를 발생시키는 기능
- 로그: 시스템 또는 애플케이션에서 기록하는 이벤트 정보
- 감사 로그: 누가 어떤 작업을 했는지 추적하는 로그(CloudTrail 등)
- 상태 확인: 리소스가 정상 작동 중인지 확인하는 기능
장단점 및 추천 조합:
- 기본 운영 모니터링: CloudWatch 필수
- 보안 추적: CloudTrail + Config
- 비용 관리 및 권장사항 확인: Trusted Advisor
- 단점: CloudWatch 로그 요금이 예측보다 높아질 수 있음
6. 보안, 인증, 접근 제어
- IAM: 사용자 및 권한 제어
- Cognito: 사용자 인증 및 싱글사인온(SSO) 기능
- KMS: 데이터 암호화를 위한 키 관리 서비스
- WAF / Shield: 웹 방화벽 및 DDoS 보호
관련 용어: 사용자, 역할(Role), 정책(Policy), MFA, 인증, 인가
- 사용자: AWS 리소스에 접근할 수 있는 개별 계정
- 역할: 리소스 간 권한을 위임하거나 자동화된 작업에 할당되는 권한 묶음
- 정책: IAM 사용자나 역할에 붙이는 권한 규칙
- MFA: Multi-Factor Authentication. 로그인 시 추가 인증 단계를 요구
- 인증/인가: 인증은 "누구인지 확인", 인가는 "무엇을 할 수 있는지 결정"
장단점 및 추천 조합:
- 내부 권한 관리: IAM + 정책 기반 접근 제어
- 사용자 인증: Cognito + Lambda
- 데이터 보안: KMS + S3
- 단점: IAM 정책 설계 복잡, WAF 조건 설정이 까다로울 수 있음
회사/프로젝트 규모별 추천 조합 및 고려 사항
스타트업 또는 소규모 개인 프로젝트
- 추천 조합: Lambda + API Gateway + DynamoDB + S3
- 설명: 초기에는 서버 관리나 인프라 유지보수보다 개발 속도와 비용 효율이 중요하다. Lambda는 서버 없이 코드만 실행되므로 운영 부담이 적고, API Gateway를 통해 외부 요청을 처리할 수 있다. DynamoDB는 유연한 스키마와 자동 확장으로 개발 초기에 적합하며, S3는 정적 파일 호스팅과 백업용으로 충분하다.
- 주의할 점: Lambda의 제한(실행 시간, 동시성), API Gateway 요금 구조에 대한 이해 필요
중소기업 또는 빠르게 성장 중인 서비스
- 추천 조합: EC2 + Auto Scaling + RDS + S3 + CloudWatch
- 설명: 유연한 인프라 구성과 제어가 필요한 시점이다. EC2를 통해 애플리케이션 서버를 구축하고 Auto Scaling으로 트래픽 변동에 대응한다. RDS는 신뢰성 있는 관계형 데이터베이스를 제공하며, CloudWatch는 모니터링 및 자동화 대응을 도와준다. S3는 계속해서 정적 자산 저장소로 유용하다.
- 주의할 점: EC2 운영은 보안 및 패치 관리를 사용자가 직접 해야 하며, 비용이 예상보다 증가할 수 있음
대규모 서비스 또는 트래픽이 많은 플랫폼
- 추천 조합: EKS + ALB + RDS(Aurora) + ElastiCache + CloudFront + WAF + CloudWatch
- 설명: 컨테이너 기반 마이크로서비스 아키텍처에 최적화된 조합이다. EKS를 통해 Kubernetes 환경을 구성하고, ALB로 트래픽을 분산한다. Aurora는 고성능 RDS로 대용량 처리에 적합하며, ElastiCache는 DB 부하를 줄이는 데 유용하다. CloudFront로 콘텐츠 전송을 가속화하고, WAF로 보안을 강화한다.
- 주의할 점: 설정이 복잡하며, DevOps 및 보안 전문 인력의 도움이 필요할 수 있음. 초기 비용도 높을 수 있음
이처럼 AWS는 서비스 범위가 매우 넓고 각 서비스는 특정 목적에 최적화되어 있다. 위 카테고리를 기준으로 학습하면 전체 구조를 더 쉽게 이해할 수 있으며, 규모와 목적에 따라 최적의 조합을 고민할 수 있다.
'AWS' 카테고리의 다른 글
[AWS] AWS 기본 개념(1) - 컴퓨팅 서비스와 스토리지 서비스 (0) | 2025.03.24 |
---|