2025-10-26 15:26:50
반응형

☁️ 영역 2 - 확장 가능하고 느슨하게 결합된 아키텍처 설계


🎯 목표

  • 복원력(Resilience) 있는 시스템 설계
  • 확장성(Scalability) 확보
  • 느슨한 결합(Loose Coupling) 구조 유지
  • 장애 발생 시에도 서비스 지속 가능

🔧 1️⃣ 크기 조정(Scaling)의 개념

유형 설명 예시
수직적 확장 (Vertical Scaling) 서버의 성능을 향상 (CPU, RAM 업그레이드) EC2 인스턴스 타입을 t3.micro → t3.large 로 변경
수평적 확장 (Horizontal Scaling) 서버 개수를 늘리거나 줄임 Auto Scaling Group에서 인스턴스 수 조절

💡 탄력성(Elasticity)
→ 수요 변화에 따라 자동으로 리소스를 확장/축소하는 능력
→ AWS Auto Scaling, EC2 Auto Scaling 활용


⚙️ 2️⃣ 컴퓨팅 옵션 비교

유형 설명 특징
🧩 EC2 가상 인스턴스 자유도 높지만 관리 필요
🐳 컨테이너(ECS / EKS) 애플리케이션을 컨테이너로 패키징 관리형 클러스터, 이식성 우수
서버리스(Lambda) 서버 관리 불필요 짧은 실행, 이벤트 기반

💬 상황에 따라 선택:

  • 고정된 트래픽 → EC2 + Auto Scaling
  • 이벤트 중심, 비정기적 트래픽 → Lambda
  • 마이크로서비스 구조 → ECS / EKS

🧠 3️⃣ 데이터베이스 설계

서비스 유형 특징
💾 Amazon RDS 관계형 DB Multi-AZ로 고가용성
Amazon Aurora 클라우드 네이티브 RDB 고성능, 자동 복제
🌐 Amazon DynamoDB NoSQL 짧은 지연 시간, 자동 확장
🧮 Amazon Redshift 데이터 웨어하우스 대규모 분석용

✅ 성능 및 복원력 향상

  • 읽기 전용 복제본 (Read Replica) : 읽기 트래픽 분산
  • Multi-AZ : 고가용성 (Standby 복제)
  • RDS Proxy : 연결 풀링, 복원력 향상

🚀 4️⃣ 캐싱(Cache) 전략

서비스 역할 특징
🌍 Amazon CloudFront 글로벌 캐시 CDN 정적 콘텐츠 전송
💾 Amazon ElastiCache 인메모리 캐시 Redis / Memcached 지원
⚙️ DAX (DynamoDB Accelerator) DynamoDB 캐시 밀리초 응답 시간

💡 캐싱은 DB 읽기 부하를 줄이고 응답속도 향상에 핵심 역할


🔒 5️⃣ 엣지 및 전송 서비스

서비스 기능 사용 목적
🌎 Amazon Route 53 DNS 라우팅 가용성 및 트래픽 제어
AWS Global Accelerator TCP/UDP 전송 가속 글로벌 성능 최적화
📦 AWS Transfer Family 파일 전송 자동화 SFTP/FTPS 지원, 서버 관리 불필요

🧩 6️⃣ 마이크로서비스 및 분산 시스템 설계

🧱 서비스 지향 아키텍처 (SOA)

  • 구성 요소 간 재사용 가능한 서비스 인터페이스 제공

💬  마이크로서비스 아키텍처

  • 더 작고 독립적인 서비스 단위
  • API 기반 통신 (REST / GraphQL / gRPC)

💬 이점

  • 독립적 배포 및 확장 가능
  • 장애 격리성 향상
  • 빠른 개발 주기

🔄 7️⃣ 동기 vs 비동기 통합

유형 설명 예시
동기식(Synchronous) 요청-응답 구조로 실시간 상호작용 필요 ALB → EC2, API Gateway → Lambda
비동기식(Asynchronous) 메시지 큐로 구성요소 간 분리 SQS, SNS, EventBridge

💡 비동기 분리는 장애 시에도 시스템의 나머지 부분이 정상 동작 가능


🧩 8️⃣ 느슨한 결합(Loose Coupling) 구현 서비스

서비스 역할 설명
📬 Amazon SQS 메시지 큐 컴포넌트 간 비동기 통신
🔔 Amazon SNS 알림/이벤트 브로커 Fan-out 구조 가능
🧩 Amazon EventBridge 이벤트 버스 서비스 간 이벤트 기반 통합
🌀 API Gateway 마이크로서비스 API 통신 허브 Lambda, Fargate 등과 연결

🏗️ 9️⃣ 대표 아키텍처 예시 (Mermaid 다이어그램)

 

🧭1️⃣0️⃣ 설계 시 고려할 주요 서비스

  • 🏗 Application Load Balancer (ALB) – 트래픽 분산
  • 🐳 AWS Fargate – 서버리스 컨테이너 실행
  • ⚙️ Amazon ECS / EKS – 컨테이너 오케스트레이션
  • 🔐 AWS Secrets Manager – 자격 증명 및 암호 관리
  • 🔄 AWS Lambda – 이벤트 기반 서버리스 컴퓨팅
  • 📡 Amazon API Gateway – API 엔드포인트 관리

✅ 핵심 요약

핵심 요소 주요 포인트
확장성 (Scalability) Auto Scaling, SQS, Lambda 동시성
느슨한 결합 (Loose Coupling) SQS, SNS, EventBridge, ALB
복원력 (Resilience) Multi-AZ, Read Replica, 캐시, 장애 격리
비용 최적화 Auto Scaling, 서버리스, S3 Intelligent-Tiering

🧩 참고 AWS 서비스 맵

  • 컴퓨팅: EC2, Lambda, Fargate
  • 데이터베이스: RDS, DynamoDB, Aurora
  • 스토리지: S3, EFS, FSx
  • 네트워킹: ALB, Route 53, Global Accelerator
  • 통합/메시징: SQS, SNS, EventBridge
  • 보안/관리: Secrets Manager, CloudWatch, CloudTrail

☁️ 영역 2 - 고가용성(HA) 및 내결함성(FT) 아키텍처 설계


🎯 학습 목표

  • 고가용성(High Availability), 내결함성(Fault Tolerance), **재해 복구(Disaster Recovery)**의 차이 이해
  • AWS 서비스 기반 고가용성 구성 방법 습득
  • RTO/RPODR 전략(Active-Passive / Active-Active) 설계
  • 단일 장애 지점(Single Point of Failure, SPOF) 제거

🧱 1️⃣ 고가용성(High Availability, HA)

시스템이 가능한 한 자주 서비스를 **“제공할 수 있는 상태”**를 유지하도록 설계하는 것

🔍 특징

  • 장애 발생 시 자동 복구 또는 빠른 교체
  • 짧은 가동 중단 시간 허용 가능
  • 완전 무중단은 아니지만, 서비스 지속성에 초점

💡 예시

  • EC2 인스턴스를 1대만 운영 → 장애 시 서비스 중단
  • Auto Scaling + Multi-AZ 배포 구성
    → 한 인스턴스가 중단되면 다른 AZ의 인스턴스로 장애 조치(Failover)

⚙️ 2️⃣ 내결함성(Fault Tolerance, FT)

장애 발생 시에도 서비스가 중단되지 않고 계속 작동하는 설계

🔍 특징

  • 장애 발생 시에도 서비스 무중단 유지
  • 실시간 장애 감지 및 자동 대체
  • 비용은 높지만 가장 높은 복원력(Resilience) 보장

💡 예시

  • 두 서버를 모두 활성(Active-Active) 상태로 운영
  • 한 서버 장애 시 자동 트래픽 전환
  • 사용자는 중단 없이 서비스 이용 가능

🔁 3️⃣ 재해 복구(Disaster Recovery, DR)

예기치 않은 재해(화재, 지진, 시스템 장애) 발생 시 시스템 복원 절차를 설계하는 것

🔍 핵심 요소

항목 설명
🕒 RTO (Recovery Time Objective) 서비스 중단 후 복원까지 허용되는 최대 시간
📅 RPO (Recovery Point Objective) 데이터 손실 허용 가능한 최대 시간 (백업 주기 결정)

💡 DR 전략 유형

전략 설명 비용 복구 속도
🧊 백업 & 복원 (Backup & Restore) S3/Glacier에 백업, 필요 시 복원 💲 낮음 🕒 느림
🔥 파일럿 라이트 (Pilot Light) 최소 구성만 유지, 필요 시 전체 확장 💲 중간 ⚡ 보통
🌡️ 웜 스탠바이 (Warm Standby) 축소된 형태의 운영 환경 유지 💲 중상 ⚡ 빠름
💡 액티브-액티브 (Active-Active) 모든 리전에서 동시에 운영 💲 높음 ⚡⚡ 매우 빠름

🌍 4️⃣ AWS 글로벌 인프라와 고가용성 설계

📦 AWS 구성 요소 계층

계층 설명
🌐 Region (리전) 지리적으로 독립된 AWS 인프라 단위
🧭 Availability Zone (AZ) 리전 내 독립 전력/네트워크를 가진 데이터센터
🧱 Edge Location CloudFront, Route 53 캐시를 위한 전 세계 엣지 노드

💡 Multi-AZ 배포는 AZ 장애 시 자동으로 다른 AZ로 장애 조치
💡 Multi-Region 배포는 리전 전체 장애 시 복구 가능 (Active-Passive / Active-Active)


🔒 5️⃣ 데이터베이스의 HA & DR

서비스 기능 특징
💾 Amazon RDS (Multi-AZ) 자동 장애 조치 가용성 중심
Aurora Global Database 교차 리전 복제 빠른 복구 (1분 미만)
🌐 DynamoDB Global Tables 리전 간 실시간 동기화 내결함성 보장
🧩 RDS Proxy DB 연결 풀링 및 Failover 단축 장애 조치 시간 66% 단축

🗂️ 6️⃣ 스토리지 및 백업 복원

서비스 역할 특징
🧱 Amazon S3 백업 및 아카이브 11 9s(99.999999999%) 내구성
💾 Amazon EFS / FSx 파일 스토리지 AZ 간 중복 저장
🧊 S3 Glacier 장기 보관 저비용 백업
🧩 AWS Elastic Disaster Recovery (DRS) 온프레미스 ↔ 클라우드 복구 자동화 레거시 지원

⚙️ 7️⃣ AWS 네트워킹 구성과 복원력

서비스 역할 설명
🛰️ Route 53 DNS 기반 장애 조치 라우팅 지연 시간 / 장애 조치 / 가중치 라우팅 지원
Global Accelerator TCP/UDP 네트워크 성능 가속 글로벌 사용자 연결 최적화
🔀 Transit Gateway 여러 VPC 간 중앙 라우팅 허브 단일 장애 지점 제거
🔗 Direct Connect / VPN 온프레미스 연결 고속, 안정적 네트워크 통신

🧩 8️⃣ 배포 및 복구 자동화 서비스

서비스 기능
🌱 AWS CloudFormation 인프라 자동 복구 및 프로비저닝
☁️ Elastic Beanstalk 애플리케이션 자동 배포 및 확장
🐳 ECS / EKS (컨테이너) 고가용성 컨테이너 오케스트레이션
🔄 OpsWorks / CodeDeploy 구성 관리 및 자동 롤백

🧠 9️⃣ 모니터링 & 지속 개선

서비스 역할
👁️ Amazon CloudWatch 지표 수집, 알람, 자동화 트리거
🔍 AWS X-Ray 애플리케이션 요청 추적 (분산 추적)
🧠 Amazon Inspector 취약점 스캔 및 보안 진단
🤖 Amazon CodeGuru 코드 품질 분석 및 성능 개선
🧩 Amazon EventBridge 실시간 이벤트 기반 자동 대응

🗣️ 1️⃣0️⃣ AI 기반 고가용성 활용 예시

서비스 역할 사용 예시
🗣️ Amazon Polly 텍스트 → 음성 변환 고객센터, 셀프 서비스 음성 안내
🧠 Amazon Comprehend 자연어 분석 IT 서비스 요청 자동 분류

💡 예시: Comprehend로 요청 카테고리 자동 분류 → Polly가 음성으로 안내 → Connect가 셀프 서비스 제공


🧩1️⃣1️⃣고가용성 아키텍처 예시 (Mermaid)

 

🧾 1️⃣2️⃣ 핵심 요약

항목 설명
고가용성(HA) 장애 발생 시 빠르게 복구하는 시스템
내결함성(FT) 장애 발생 중에도 중단 없이 작동
재해 복구(DR) 대규모 장애 후 신속한 복원 전략
RTO/RPO 복구 목표 시간 및 데이터 손실 허용치
대표 서비스 RDS Multi-AZ, Aurora Global DB, Route 53, Global Accelerator, DRS, CloudFormation

🧭 마무리

고가용성과 내결함성은 AWS Well-Architected Framework의 “신뢰성(Reliability)” 핵심 원칙입니다.
아키텍처 설계 시 다음 3가지를 항상 체크하세요.

1️⃣ 단일 장애 지점 제거 (SPOF)
2️⃣ Multi-AZ / Multi-Region 설계
3️⃣ 자동화된 복구 프로세스 구성


☁️ 영역 2 복습 - 확장 가능하고 복원력 있는 아키텍처 설계


🎯 핵심 목표

  • 확장성(Scalability)탄력성(Elasticity) 이해
  • 고가용성(High Availability)내결함성(Fault Tolerance) 차이 구분
  • AWS 글로벌 인프라 기반 복원력 설계
  • 재해 복구(Disaster Recovery, DR) 전략 이해
  • 워크로드 모니터링 & 자가 복구 환경 구축

🚀 1️⃣ AWS 클라우드의 핵심 이점

항목 설명
🧠 용량 추측 불필요 필요한 만큼 자동 확장 / 축소
💰 비용 효율성 사용한 만큼만 지불 (Pay-as-you-go)
⚙️ 자동화된 확장성 Auto Scaling / Elastic Load Balancing
🌎 글로벌 인프라 다중 AZ & 다중 리전 기반 복원력

🧩 2️⃣ 고가용성(HA) vs 내결함성(FT)

구분 고가용성 (High Availability) 내결함성 (Fault Tolerance)
🧱 정의 장애 발생 시 빠르게 복구하여 서비스 지속 장애 발생 중에도 시스템이 중단 없이 동작
중단 시간 약간의 중단 허용 무중단 (Zero downtime)
💰 비용 중간 높음
⚙️ 예시 Multi-AZ RDS, Auto Scaling, ALB Active-Active Aurora Global DB

🧭 3️⃣ AWS 글로벌 인프라 활용

계층 설명
🌐 Region 지리적으로 분리된 AWS 데이터센터 그룹
🏢 Availability Zone (AZ) 독립된 전원·네트워크를 가진 가용 단위
📍 Edge Location CloudFront, Route 53 등 엣지 네트워크

💡 Multi-AZ + Multi-Region 설계는
서버, 스토리지, DB 장애에도 중단 없는 서비스를 제공하도록 돕습니다.


⚙️ 4️⃣ 자가 복구(Self-Healing) 환경을 위한 핵심 서비스

서비스 역할
⚖️ Elastic Load Balancing (ELB) 여러 인스턴스 간 트래픽 분산 및 장애 감지
📈 Amazon EC2 Auto Scaling 인스턴스 자동 추가/제거, 비정상 인스턴스 교체
🛰️ Route 53 (Failover Routing) 리전 단위 장애 발생 시 다른 리전으로 트래픽 전환
🌍 AWS Global Accelerator TCP/UDP 트래픽 지연 최소화 및 글로벌 복원력 향상

🔁 5️⃣ 재해 복구(Disaster Recovery) 전략 비교

전략 설명 비용 💰 복구 속도 ⚡
🧊 백업 & 복원 S3, Glacier에 백업 후 필요 시 복원 낮음 느림
🔥 파일럿 라이트 핵심 구성만 유지 후 필요 시 확장 중간 보통
🌡️ 웜 스탠바이 축소된 프로덕션 환경 유지 중상 빠름
💡 액티브-액티브 모든 리전 동시 운영 높음 매우 빠름

💡 RTO(복구시간목표) & RPO(복구시점목표)를 기준으로 선택해야 함.


🧠 6️⃣ AWS 서비스별 복원력 내장 기능

서비스 내장 복원력 기능 사용 예시
💻 EC2 Auto Scaling 인스턴스 자동 교체 / 증감 트래픽 급증 시 수평 확장
⚖️ Elastic Load Balancer 트래픽 자동 분산 웹 서버 장애 시 자동 우회
🧾 RDS Multi-AZ 자동 장애 조치(Failover) DB 가용성 확보
Aurora Global DB 교차 리전 복제 리전 장애 대비
📬 SQS / SNS / EventBridge 비동기 메시징 서비스 간 결합도 최소화
🐳 ECS / Fargate 자동 리스타트, 헬스체크 컨테이너 복원력
🧠 Lambda 서버리스 확장성 짧은 처리 이벤트 기반 애플리케이션

🧱 7️⃣ 상태(State) 관리 전략

유형 설명 예시
⚙️ Stateless (비상태) 인스턴스 교체 시 데이터 의존 없음 웹 서버, Lambda 함수
💾 Stateful (상태 유지) 인스턴스에 데이터 저장 RDS, EFS, 세션 유지

💡 Stateless 아키텍처는 확장성과 복원력 측면에서 유리
💡 Stateful 컨테이너는 EFS, FSx 등 외부 스토리지 연결로 해결 가능


🧰 8️⃣ 세션 관리와 로드 밸런싱

  • Application Load Balancer (ALB) 기본 라우팅 → 요청을 무작위로 배분
  • 스티키 세션(Sticky Session) → 사용자를 특정 인스턴스에 고정
    • 세션 유지가 필요한 로그인 기반 애플리케이션에 유용
    • 단, 인스턴스 장애 시 세션 손실 위험 있음

9️⃣ 캐싱 & 읽기 부하 분산 전략

서비스 역할 특징
🧠 Amazon ElastiCache (Redis/Memcached) 데이터 캐싱 DB 쿼리 부하 감소
DynamoDB Accelerator (DAX) NoSQL 캐시 밀리초 응답 시간
🧩 RDS Read Replica 읽기 부하 분산 읽기 성능 향상 (복제 기반)

💡 캐싱은 지연 시간 단축 + 비용 절감 + DB 부하 감소의 핵심 전략


🔍1️⃣0️⃣ 모니터링 & 가시성 확보

서비스 기능 설명
👁️ Amazon CloudWatch 지표 수집 & 알람 인스턴스/서비스 상태 모니터링
🕵️ AWS X-Ray 분산 추적 요청 흐름 분석 및 병목 탐지

💡 CloudWatch 알람 + Auto Scaling 정책 = 자가 복구(Self-healing) 시스템 구축


🧩 1️⃣1️⃣ 복원력 있는 아키텍처 예시

 

✅ 1️⃣2️⃣ 핵심 정리 요약

핵심 주제 주요 포인트
확장성 (Scalability) Auto Scaling, Load Balancing
복원력 (Resilience) Multi-AZ, Multi-Region, Self-Healing
고가용성 (HA) 장애 발생 시 빠른 복구
내결함성 (FT) 장애 중에도 서비스 지속
재해 복구 (DR) Backup & Restore, Pilot Light, Warm Standby
모니터링 CloudWatch, X-Ray
비동기 분리 SQS, SNS, EventBridge
상태 관리 Stateless 아키텍처 + EFS 통합
캐시 활용 ElastiCache, DAX, Read Replica

🧭 마무리

  • AWS 클라우드의 자동 확장 + 복원력 + 관리형 서비스 조합은
    기존 인프라 대비 가용성과 효율성을 극대화합니다.
  • 시험에서는 다음과 같은 포인트를 명확히 구분해야 합니다.
    1️⃣ Auto Scaling vs Elastic Load Balancing
    2️⃣ Stateless vs Stateful
    3️⃣ RDS Multi-AZ vs Read Replica
    4️⃣ Route 53 Failover vs Global Accelerator
반응형