1️⃣ 컴퓨팅 리소스 구성 개요
✅ 클라우드 설계 패턴: 3-Tier 구조
3-Tier Web Architecture
| Tier | 설명 | 위치 | 예시 기술 |
|---|
| Presentation Tier | 사용자 인터페이스 계층 | Public Subnet | React, HTML, JS |
| Application Tier | 비즈니스 로직 처리 계층 | Private Subnet | Spring, Node.js |
| Data Tier | 데이터 저장 계층 | Private Subnet | RDS, MySQL, PostgreSQL |
🔹 Presentation Tier(웹 프론트엔드):
사용자 인터페이스 제공
웹 브라우저 또는 모바일 앱에서 접근
🔹 Application Tier(비즈니스 로직):
사용자 요청 처리, 데이터 가공, 인증 등 실행
웹 서버와 DB 사이의 중간 계층 역할
🔹 Data Tier(데이터베이스 계층):
사용자 정보, 주문 내역, 종목 정보 등 저장
✅ Serverless 구조(Lambda + API GW)
- 서버 인프라를 직접 운영하지 않고, 이벤트 기반 함수 실행으로 서비스 구성
- 필요한 순간에만 코드 실행, 비용 효율적이며 확장성 우수
- 주요 구성 요소
- API Gateway:
외부 HTTP 요청을 받아 적절한 Lambda 함수로 전달
엔드포인트별 경로 기반 라우팅
- Lambda(서버리스 함수):
특정 API 요청 또는 이벤트 발생 시 실행되는 코드 단위
예: 사용자 로그인 처리, 종목 조회, 주문 요청 등
- 백엔드 리소스:
Lambda가 접근하는 데이터 저장소 또는 외부 서비스
RDS, DynamoDB, S3, 외부 API 등
✅ 고가용성 + DR(재해복구) 구성 예시
🔹 고가용성: 장애 발생시에도 지속적으로 운영될 수 있도록 보장하는 설계 방식
- 멀티 AZ 구성
- 로드밸런서(ALB): 트래픽 분산
- Auto Scaling Group: 사용량에 따라 인스턴스 자동 증설/감축
🔹 재해복구: 전체 장애 또는 리전 단위 문제 발생 시, 빠르게 복구 가능한 환경 구성
- 멀티 리전 구성: Primary Region, Backup Region
- RDS 또는 S3 복제 구성: 비동기 또는 실시간으로 백업 리전에 데이터 복제
- Route 53 Failover: DNS 기반 헬스체크 실패 시 DR 리전으로 자동 전환
✅ 설계 시 고려할 보안 요소
- 퍼블릭, 프라이빗 Subnet 구분:
퍼블릭: 보안 그룹을 통해 포트 제한, 외부 요청을 받아야 하는 리소스 배치(웹 서버, 로드밸런서 등)
프라이빗: NAT Gateway 통해 Outbound 만 하용, 내부 시스템 전용 리소스 배치(DB,앱서버 등)
- 보안 그룹(SG), 네트워크 ACL(NACL) 등 방화벽 규칙 구성
- IAM Role 활용한 권한 분리 및 최소 권한 원칙 적용
- 암호화: 저장 시(At Rest), 전송 시(In Transit) 암호화 필수
✅ 설계 시 고려할 성능 요소
- Auto Scaling: 요청 증가 시 서버 자동 증가
- 데이터베이스 Read Replica: 읽기 부하 분산
- 캐싱 계층 구성: Redis, CloudFront 등으로 DB 부하 감소
- 병목 구간 분산 처리:
비동기 처리 구조 활용(SQS, Fafka 등)
로드 밸런서(ALB, NLB): 다수 서버에 요청 분산
✅ 설계 시 고려할 비용 요소
- 서버 사양 과다 책정 피하기
- 서버 시간대별 on/off (스케줄링)
- 서버리스(Lambda 등)로 과금 최적화
- Spot Instance 활용 (비용 70% 절감 가능)
2️⃣ 클라우드 통합 구성도 설계
✅ 통합 구성도의 정의
- 클라우드 기반 시스템에서 HW 인프라 + SW 서비스 + 데이터 흐름을 한 장의 도식으로 표현한 설계도
- 목적:
전체 시스템 구조의 명확한 이해
설계 원칙 및 보안 고려 사항 반영
운영, 유지보수, 장애 대응을 위한 시각화 도구
서비스 구성도 vs 통합 구성도
| 구분 | 서비스 구성도 | 통합 구성도 |
|---|
| 목적 | 특정 서비스의 처리 흐름 표현 | 전체 인프라 및 SW 구조 통합 |
| 관점 | 논리적(비즈니스 중심) | 물리적 + 논리적(인프라 중심) |
| 표현 범위 | UI, API 흐름 중심 | DB, 네트워크, 보안, 백업 포함 |
| 활용 시점 | 개발자 중심 | 아키텍트 및 운영팀 중심 |
✅ 클라우드 기본 구성요소 정리
- VPC / Subnet: 네트워크 격리 및 보안 설계
- EC2 / VM: 컴퓨팅 리소스
- RDS / DB: 관계형/비관계형 데이터 저장소
- S3 / Blob: 정적 파일 저장소
- Load Balancer: 트래픽 분산
- Auto Scaling Group: 부하 기반 인스턴스 자동 확장
- Lambda: 서버리스 컴퓨팅
- CloudWatch / Log Analytics: 모니터링 및 로깅
- WAF / NSG / 보안그룹: 접근 제어 및 보안 설정
✅ 인프라 구성도 설계 절차
- 요구사항 수집
- 서비스 분할 및 역할정의
- 프론트엔드 (Vue.js), API 서버(EC2), DB(RDS), 캐시(Redis) 등 기능별 서비스 구분
- 네트워크 경로 및 부안 구성
- 스토리지 및 데이터 흐름 설계
- RDS,S3,Athena,Kafka 등을 통해 저장/분석/스트리밍 고려
- 운영 및 모니터링 요소 포함
- CloudWatch, SNS를 통한 시스템 상태 감시 및 알림 설정
- 확장성 및 복구 전략 설정
- Auto Scaling, Multi-AZ, 백업 및 DR 구성 반영
HW 인프라 구성 예시
- 웹서버: 사용자 요청을 수신하고, 프론트엔드 화면(UI)을 제공
- API 서버: 사용자 관리, 시설 운영, 데이터 분석 등 비즈니스 로직을 처리
- 캐시서버: 실시간 데이터 조회 속도를 높이기 위해 센서 데이터와 제어 결과를 임시 저장
- 관계형 DB 서버: 사용자 정보, 시설 데이터, 제어 이력, 알림 내역 등 주요 데이터를 안정적으로 저장하고 관리
- 파일저장소: 센서 수집 데이터 파일, 분석 리포트, 백업 데이터 등 대용량 파일을 저장
3️⃣ 통합 구성도 설계 실습
🔹도서관 좌석 예약 시스템
- 실시간 좌석 관리 → Redis 캐시
- 안정성 → 분산 구조 / 서버리스 구조
- 사용 이력 및 제재 관리 → 로그 기록(Cloud Watch)


- 피드백: Public, Private 구분해놓기