Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 프로그래머스
- programmers
- reversing
- AWS 사고 사례 분석
- operating system
- IAM Federation
- AWS 침해 사고 사례 분석
- AWS 3 Tier Architecture
- dreamhack
- AWS 인프라 분석
- AWS 아키텍처 분석
- AWS 침해사고 사례 분석
- AWS
- 운영체제
- 드림핵
- 침입 차단 시스템(IPS)
- AWS 인프라 아키텍처
- C
- python
- terraform
- TryHackMe
- AWS 보안 아키텍처 분석
- AWS 보안 사고 사례 모음
- Amazon S3
- 네트워크
- network
- AWS Active Directory
- 리버싱
- reversing.kr
- AWS IAM Role
Archives
- Today
- Total
lhywk 님의 블로그
Guidance for Building a Containerized and Scalable Web Application on AWS 아키텍처 분석 본문
AWS
Guidance for Building a Containerized and Scalable Web Application on AWS 아키텍처 분석
lhywk 2026. 3. 11. 20:00개요
이 아키텍처의 공식 명칭은 "AWS 기반의 컨테이너화된 확장 가능한 3계층 웹 애플리케이션 가이드"이다.
이 가이드는 중소기업을 위한 컨테이너 기반 3계층 웹 애플리케이션을 구축, 배포 및 관리하는 간소화된 방법을 제공한다. 아키텍처 설정부터 컨테이너 배포 및 시스템 성능 모니터링에 이르기까지 애플리케이션의 전체 수명 주기를 다룬다. 컨테이너화에 중점을 두면 수요에 따라 리소스를 동적으로 조정할 수 있으므로 웹 애플리케이션은 성능이나 사용자 경험 저하 없이 트래픽 증가 및 갑작스러운 트래픽 급증을 처리할 수 있다. 컨테이너화된 웹 애플리케이션은 애플리케이션 리소스를 최적화하고 웹 애플리케이션 개발을 개선하는 데 도움이 된다.

구성 요소 분석
Edge 영역
- Amazon Route 53: DNS를 통해 요청 경로에 따라 트래픽을 정적/동적 콘텐츠로 라우팅.
- Amazon Cognito: 웹 애플리케이션의 액세스를 보호하고 제어.
- Amazon CloudFront (CDN): 정적 콘텐츠 전달 지연 시간을 줄이기 위한 콘텐츠 전송 네트워크.
- Amazon S3 (Storage): 정적 콘텐츠와 백업 데이터를 저장.
Control 영역
- Amazon API Gateway: 모든 수신 API 호출을 처리하며 권한 부여, 액세스 제어 및 트래픽 제한을 관리.
- Application Load Balancer (ALB): 인터넷 연결형으로 구성되어 가용 영역(AZ) 전반의 애플리케이션에 트래픽을 분산.
Compute 영역
- Amazon ECS & AWS Fargate: Amazon ECS에서 애플리케이션을 실행하고 서버리스 컴퓨팅을 위해 Fargate를 사용하여 동적 콘텐츠 요청을 처리.
- Fargate를 사용함으로써 가상 머신(EC2) 수준의 관리 부담을 없애고, Task 단위의 보안 격리를 구현.
- Amazon Elastic Container Registry (ECR): 애플리케이션을 실행하는 컨테이너 이미지를 저장하고 ECS가 이를 가져와 실행.
Data/Ops 영역
- Amazon DynamoDB (NoSQL): API 호출이 있을 때마다 애플리케이션 데이터와 콘텐츠를 검색.
- Amazon CloudWatch (Monitoring): 애플리케이션과 모든 리소스를 모니터링하고 관찰.
트래픽 흐름
1. 요청 시작 및 인증
인프라의 최전방에서 사용자를 맞이하고 신원을 확인하는 단계.
- Amazon Route 53: 사용자가 도메인 주소를 입력하면 DNS 쿼리를 통해 최적의 접속 엔드포인트(CloudFront)로 트래픽을 안내.
- 허가되지 않은 도메인 접근을 차단하고 정상적인 경로(CloudFront)로만 트래픽을 유도
- Amazon Cognito: 사용자 인증을 담당. 로그인이 필요한 서비스의 경우, 유효한 토큰(JWT)을 발급하거나 확인하여 비즈니스 로직에 접근할 수 있는 '자격 증명'을 관리.
2. 콘텐츠 경로 분기
전면에 배치된 Amazon CloudFront가 요청의 성격에 따라 다음 두 갈래로 트래픽을 분산.
- 정적 요청 -> Amazon S3: 이미지, HTML, JS 등 정적 파일 요청은 서버를 거치지 않고 S3에서 즉시 응답하여 처리 속도를 높이고 서버 부하를 줄임.
- 동적 요청 -> Amazon API Gateway: 데이터 조회나 연산이 필요한 API 호출은 보안 검증을 위해 내부망의 관문인 API Gateway로 전달.
3. 동적 데이터 처리
VPC 내부로 들어온 동적 요청이 실제 비즈니스 로직으로 변환되어 처리되는 구간.
- Amazon API Gateway: 요청의 안전성을 최종 확인. 허가되지 않은 접근을 차단하고 설정된 트래픽 제한을 통해 내부 시스템이 과부하되지 않도록 보호.
- Application Load Balancer: VPC 내부로 들어온 요청을 수용하여 가동 중인 여러 개의 컨테이너 중 여유 있는 대상에 부하를 분산.
- Amazon ECS / AWS Fargate: 실제 애플리케이션 코드가 컨테이너 단위로 실행되는 영역. ECS가 관리하는 컨테이너 환경 위에서 Fargate의 연산 자원을 사용하여 비즈니스 로직을 실행하고 데이터를 가공.
- 각 작업(Task)이 독립된 환경에서 실행. 한 컨테이너가 뚫려도 다른 컨테이너나 실제 서버 인프라로 공격이 퍼지지 않게 물리적으로 격리된 연산 자원을 사용.
- Amazon DynamoDB: 서버리스 NoSQL 데이터베이스. 애플리케이션에 필요한 데이터를 낮은 지연 시간으로 읽고 기록.
4. 인프라 운영 및 모니터링
- Amazon ECR: ECS가 실행될 때 필요한 최신 컨테이너 이미지를 보관하고 공급하는 역할.
- Amazon CloudWatch: 시스템 전 구간에서 발생하는 로그, 에러, 성능 지표를 중앙에서 수집하고 실시간으로 감시.
개선안
보안을 좀 더 강화
- 현재 구조에는 AWS WAF(Web Application Firewall)가 명시되어 있지 않다. CloudFront나 API Gateway가 입구 역할을 하지만 SQL Injection이나 XSS 같은 애플리케이션 계층의 공격을 정교하게 필터링하기에는 부족.
- 개선: CloudFront 혹은 API Gateway 전면에 AWS WAF를 배치하여 OWASP Top 10 위협을 차단하는 규칙을 적용.
'AWS' 카테고리의 다른 글
| AWS 3-Tier 및 Data Pipeline 구축 With Terraform (1) (0) | 2026.03.12 |
|---|---|
| AWS PallyCon Architecture 분석 (1) | 2026.03.11 |
| Terraform Advanced (0) | 2026.03.10 |
| Terraform으로 AWS 리소스 생성 - AWS IAM (1) | 2026.03.10 |
| Terraform으로 AWS 리소스 생성 - S3 (0) | 2026.03.10 |