AWS 기본 개념
글로벌 인프라
리전 (Region): 독립적인 지리적 영역
- 아시아 태평양 (서울): ap-northeast-2
- 미국 동부 (버지니아): us-east-1
- 유럽 (아일랜드): eu-west-1
가용 영역 (AZ): 리전 내 독립적인 데이터센터
- 최소 2개 이상 AZ로 구성
- 물리적 분리로 장애 격리
- 고속 네트워크로 연결
엣지 로케이션: CDN을 위한 캐시 서버
- 전 세계 400+ 지점
- CloudFront, Route 53 서비스
공유 책임 모델
AWS 책임: 인프라 보안 (클라우드의 보안)
- 물리적 인프라, 하드웨어, 네트워크
- 관리형 서비스의 소프트웨어 패치
고객 책임: 클라우드 내 보안
- 게스트 OS, 애플리케이션 패치
- 데이터 암호화, 네트워크 보안
- IAM 사용자 및 권한 관리
핵심 서비스 가이드
컴퓨팅 서비스
EC2 (Elastic Compute Cloud)
인스턴스 타입 선택
- 범용 (General Purpose): t3, m5, m6i
- 균형잡힌 CPU, 메모리, 네트워크
- 웹 서버, 중소규모 DB에 적합
- 컴퓨팅 최적화 (Compute Optimized): c5, c6i
- 고성능 CPU 제공
- 웹 서버, 과학 계산, 게임 서버
- 메모리 최적화 (Memory Optimized): r5, r6i
- 대용량 메모리 제공
- 인메모리 DB, 실시간 분석
- 스토리지 최적화 (Storage Optimized): i3, d3
- 고성능 로컬 스토리지
- NoSQL DB, 분산 파일 시스템
구매 옵션
- On-Demand: 시간당 과금, 유연성
- Reserved: 1-3년 약정, 최대 72% 할인
- Spot: 경매 방식, 최대 90% 할인
- Dedicated: 전용 하드웨어
Lambda (서버리스 컴퓨팅)
특징
- 서버 관리 불필요
- 자동 스케일링
- 실행 시간만큼만 과금 (100ms 단위)
- 최대 15분 실행 시간
사용 사례
- API 백엔드 (API Gateway 연동)
- 이벤트 처리 (S3, DynamoDB 트리거)
- 데이터 변환 및 ETL
- 스케줄링 작업 (CloudWatch Events)
ECS/EKS (컨테이너 서비스)
ECS (Elastic Container Service)
- AWS 관리형 컨테이너 오케스트레이션
- EC2 또는 Fargate에서 실행
- 간단한 설정과 AWS 통합
EKS (Elastic Kubernetes Service)
- 관리형 Kubernetes 서비스
- 업스트림 Kubernetes와 호환
- 복잡한 컨테이너 워크로드에 적합
스토리지 서비스
S3 (Simple Storage Service)
스토리지 클래스
- Standard: 자주 액세스하는 데이터
- Standard-IA: 한 달에 1-2회 액세스
- One Zone-IA: 단일 AZ, 20% 저렴
- Glacier: 장기 아카이브 (분-시간 복구)
- Deep Archive: 초장기 보관 (12시간 복구)
주요 기능
- 버전 관리 (Versioning)
- 라이프사이클 정책
- 교차 리전 복제 (CRR)
- 이벤트 알림
보안
- 버킷 정책 및 ACL
- IAM 정책 통합
- 서버 측 암호화 (SSE)
- 클라이언트 측 암호화
EBS (Elastic Block Store)
볼륨 타입
- gp3: 범용 SSD (기본 권장)
- io2: 프로비저닝된 IOPS SSD
- st1: 처리량 최적화 HDD
- sc1: 콜드 HDD (가장 저렴)
특징
- EC2 인스턴스에 블록 레벨 스토리지
- 스냅샷을 통한 백업
- 암호화 지원
- 탄력적 크기 조정
EFS (Elastic File System)
특징
- 완전 관리형 NFS
- 여러 EC2에서 동시 마운트
- 자동 스케일링
- POSIX 호환 파일 시스템
데이터베이스 서비스
RDS (Relational Database Service)
지원 엔진
- MySQL, PostgreSQL, MariaDB
- Oracle, SQL Server
- Aurora (AWS 자체 엔진)
주요 기능
- 자동 백업 및 PITR
- Multi-AZ 배포 (고가용성)
- 읽기 전용 복제본
- 자동 패치 및 업데이트
DynamoDB (NoSQL)
특징
- 완전 관리형 NoSQL
- 한 자리 밀리초 지연 시간
- 자동 스케일링
- 글로벌 테이블 (다중 리전)
과금 모델
- 온디맨드: 사용량 기반 과금
- 프로비저닝: 용량 단위 예약 (더 저렴)
Aurora
특징
- MySQL/PostgreSQL 호환
- 클라우드 네이티브 설계
- 최대 128TB 자동 확장
- 15개 읽기 복제본
네트워킹 서비스
VPC (Virtual Private Cloud)
기본 구성 요소
- 서브넷: 퍼블릭/프라이빗 분리
- 라우팅 테이블: 트래픽 경로 제어
- 인터넷 게이트웨이: 인터넷 연결
- NAT 게이트웨이: 아웃바운드 인터넷 접근
보안
- 보안 그룹: 인스턴스 레벨 방화벽
- 네트워크 ACL: 서브넷 레벨 방화벽
- VPC Flow Logs: 네트워크 트래픽 로깅
CloudFront (CDN)
특징
- 전 세계 엣지 로케이션
- 동적/정적 콘텐츠 가속화
- AWS 서비스와 통합
- WAF 보안 기능
캐싱 전략
- TTL 설정으로 캐시 기간 조절
- 동적 콘텐츠 압축
- 오리진 실드로 캐시 효율성 증대
Route 53 (DNS)
기능
- 도메인 등록 및 관리
- 헬스 체크와 장애 조치
- 지연 시간 기반 라우팅
- 지리적 위치 기반 라우팅
보안 서비스
IAM (Identity and Access Management)
주요 구성 요소
- 사용자: 개별 사람 또는 애플리케이션
- 그룹: 사용자 집합 관리
- 역할: 임시 권한 부여
- 정책: JSON 형태의 권한 정의
모범 사례
- 루트 계정 사용 최소화
- MFA (다중 인증) 활성화
- 최소 권한 원칙 적용
- 정기적인 권한 검토
KMS (Key Management Service)
특징
- 암호화 키 중앙 관리
- AWS 서비스와 완벽 통합
- 하드웨어 보안 모듈 (HSM) 기반
- 키 순환 자동화
사용 사례
- EBS, S3, RDS 암호화
- 애플리케이션 레벨 암호화
- 코드 및 설정 파일 암호화
AWS Config
기능
- 리소스 설정 추적
- 컴플라이언스 모니터링
- 변경 사항 알림
- 설정 기록 보관
모니터링 및 관리
CloudWatch
메트릭 모니터링
- EC2, RDS 등 서비스 메트릭
- 사용자 정의 메트릭
- 대시보드 생성
- 알람 설정
로그 관리
- 중앙집중식 로그 수집
- 로그 그룹 및 스트림
- 실시간 로그 분석
- 로그 보존 정책
AWS Systems Manager
기능
- EC2 인스턴스 관리
- 패치 관리 자동화
- 세션 매니저 (SSH 없는 접속)
- 파라미터 스토어 (설정 관리)
아키텍처 패턴
3계층 웹 애플리케이션
프레젠테이션 계층
- CloudFront (CDN)
- S3 (정적 웹 호스팅)
- Application Load Balancer
애플리케이션 계층
- EC2 Auto Scaling Group
- Lambda 함수
- API Gateway
데이터 계층
- RDS (관계형 데이터)
- DynamoDB (NoSQL)
- ElastiCache (캐시)
마이크로서비스 아키텍처
컨테이너 기반
- EKS 또는 ECS로 컨테이너 관리
- Application Load Balancer로 트래픽 분산
- API Gateway로 API 통합 관리
서버리스 기반
- Lambda 함수로 각 서비스 구현
- API Gateway로 엔드포인트 관리
- DynamoDB로 서비스별 데이터 분리
데이터 분석 아키텍처
데이터 수집
- Kinesis Data Streams (실시간)
- Kinesis Data Firehose (배치)
- AWS Glue (ETL)
데이터 저장
- S3 Data Lake
- Redshift (데이터 웨어하우스)
- Athena (서버리스 쿼리)
데이터 시각화
- QuickSight (BI 도구)
- Grafana (모니터링 대시보드)
비용 최적화
Reserved Instance 전략
구매 계획
- 안정적인 워크로드 식별
- 1년 vs 3년 약정 비교
- 전체/부분 선결제 옵션 검토
스팟 인스턴스 활용
적합한 워크로드
- 배치 처리 작업
- CI/CD 파이프라인
- 개발/테스트 환경
- 내결함성 애플리케이션
자동화를 통한 효율성
Auto Scaling
- 수요 기반 인스턴스 조정
- 예측 스케일링 활용
- 스케줄 기반 스케일링
Lambda 활용
- 서버 관리 비용 제거
- 사용량 기반 과금
- 자동 스케일링
보안 모범 사례
네트워크 보안
VPC 설계
- 퍼블릭/프라이빗 서브넷 분리
- 다중 AZ 배포
- NAT 게이트웨이로 아웃바운드 제어
보안 그룹 관리
- 최소 권한 원칙
- 소스 IP 명시적 지정
- 포트 범위 최소화
데이터 보안
암호화
- 저장 시 암호화 (S3, EBS, RDS)
- 전송 시 암호화 (TLS/SSL)
- KMS를 통한 키 관리
백업 및 복구
- 자동 백업 활성화
- 교차 리전 백업
- 정기적인 복구 테스트
개발 및 배포
CI/CD 파이프라인
CodeCommit: Git 리포지토리 CodeBuild: 빌드 서비스 CodeDeploy: 배포 자동화 CodePipeline: 전체 파이프라인 관리
Infrastructure as Code
CloudFormation
- YAML/JSON 템플릿
- 스택 기반 리소스 관리
- 변경 세트로 안전한 업데이트
CDK (Cloud Development Kit)
- 프로그래밍 언어로 인프라 정의
- TypeScript, Python, Java 지원
- CloudFormation으로 배포
실무 활용 가이드
프로젝트 시작 단계
- 계정 설정: Organizations로 멀티 계정 관리
- 기본 보안: CloudTrail, Config 활성화
- 비용 관리: 예산 및 알림 설정
- 네트워크 설계: VPC 및 서브넷 계획
서비스 선택 기준
컴퓨팅
- 예측 가능한 워크로드: EC2 Reserved
- 가변적 워크로드: Lambda
- 컨테이너: ECS/EKS
데이터베이스
- 관계형 데이터: RDS/Aurora
- NoSQL: DynamoDB
- 캐시: ElastiCache
스토리지
- 객체 스토리지: S3
- 블록 스토리지: EBS
- 파일 시스템: EFS
운영 관리
모니터링
- CloudWatch로 메트릭 수집
- X-Ray로 애플리케이션 추적
- Personal Health Dashboard로 서비스 상태 확인
보안 관리
- GuardDuty로 위협 탐지
- Security Hub로 보안 상태 관리
- Inspector로 취약점 스캔
AWS Well-Architected Framework
5개 기둥
운영 우수성: 운영 및 모니터링 시스템 보안: 정보와 시스템 보호 안정성: 장애로부터 복구하는 능력 성능 효율성: 컴퓨팅 리소스 효율적 사용 비용 최적화: 최적 비용으로 비즈니스 가치 제공
설계 원칙
- 확장성을 염두에 둔 설계
- 단일 장애 지점 제거
- 자동화 우선
- 느슨한 결합 구현
- 보안을 모든 계층에 적용
학습 리소스
공식 교육
AWS Training: 무료 온라인 교육 AWS Certification: 역할별 인증 과정 AWS Well-Architected Labs: 실습 랩
실습 환경
AWS Free Tier: 12개월 무료 사용 AWS Educate: 학생/교육자 프로그램 AWS Hands-on Labs: 실습 중심 학습
커뮤니티
AWS User Groups: 지역별 사용자 모임 re:Invent: 연례 글로벌 컨퍼런스 AWS Blog: 최신 서비스 및 모범 사례
AWS는 방대한 서비스 포트폴리오를 제공하므로, 비즈니스 요구사항에 맞는 서비스를 선택하고 단계적으로 도입하는 것이 성공의 열쇠입니다.
'IT정보' 카테고리의 다른 글
IT 거버넌스 구축법 알아보기 (2) | 2025.08.19 |
---|---|
개인정보보호법 준수 방법 알아보기 (5) | 2025.08.19 |
클라우드 비용 최적화 가이드 (5) | 2025.08.19 |
웹 접근성 준수 방법 확인하기 (3) | 2025.08.18 |
데이터베이스 백업 전략 알아보기 (1) | 2025.08.18 |