Skip to content

KR_CS_Cloud_Native

somaz edited this page Mar 30, 2026 · 1 revision

Q10 & Q11: 클라우드 네이티브 패턴과 동기/비동기 처리

질문: AWS와 GCP에서 클라우드 네이티브 3-Tier 통신 패턴을 설명하세요. 또한 동기 처리와 비동기 처리의 차이를 설명하세요.


주요 용어

용어 설명
VPC Virtual Private Cloud — 클라우드의 격리된 가상 네트워크
PrivateLink 인터넷 없이 AWS 서비스에 프라이빗 연결하는 서비스
VPC Peering VPC 간 직접 연결
Private Access 인터넷 없이 GCP 내부에서 연결하는 방식
Synchronous 작업을 순차적으로 처리 — 앞 작업 완료 후 다음 진행
Asynchronous 작업을 독립적으로 백그라운드에서 처리
Blocking 작업 완료까지 실행 대기
Non-blocking 대기 없이 즉시 실행 계속

클라우드 네이티브 3-Tier: AWS

사용자 → Route 53 (DNS) → ALB / EKS Ingress → EKS Pod (앱 서버)
                                                      ↓
                                          VPC 네트워킹 (PrivateLink / VPC Peering)
                                                      ↓
                                          Amazon RDS/Aurora + ElastiCache (Redis)
계층 AWS 서비스 역할
Presentation Amazon Route 53 도메인을 ELB/EKS Ingress IP로 변환
Application Amazon EKS + ELB Pod로 요청 라우팅, 비즈니스 로직 처리
Data Amazon RDS/Aurora, ElastiCache 프라이빗 네트워크의 DB와 Redis
  • DB와 Redis는 PrivateLink 또는 VPC Peering을 통해 접근 — 인터넷 미노출
  • EKS Pod는 VPC 네트워킹을 통해 안전하게 연결

클라우드 네이티브 3-Tier: GCP

사용자 → Cloud DNS → GKE Load Balancer / Ingress → GKE Pod (앱 서버)
                                                          ↓
                                                VPC Private Access
                                                          ↓
                                            Cloud SQL + Memorystore (Redis)
계층 GCP 서비스 역할
Presentation Cloud DNS 도메인을 GKE Ingress IP로 변환
Application GKE + Cloud Load Balancer 요청 라우팅 및 처리
Data Cloud SQL, Memorystore 프라이빗 네트워크의 DB와 Redis
  • GCP Private Access로 서비스를 프라이빗 네트워크에 배치
  • 클라우드 내부 또는 VPN을 통해서만 접근 가능

동기 처리 vs 비동기 처리

동기 처리 (Synchronous)

작업을 순서대로 실행 — 각 작업이 완료되어야 다음 작업 시작.

특성 설명
Blocking 각 작업이 완료될 때까지 다음 작업 차단
선형 실행 코드 순서대로 정확히 실행
단순성 프로그래밍과 디버깅이 쉬움
활용 사례 DB 트랜잭션, 순서 의존적인 파일 I/O

비동기 처리 (Asynchronous)

작업이 독립적으로 실행 — 완료를 기다리지 않고 프로그램 계속 진행.

특성 설명
Non-blocking 작업이 독립적으로 시작·완료
동시 실행 여러 작업이 병렬로 처리
복잡성 Race Condition, Deadlock 위험 존재
활용 사례 API 요청, 파일 업로드, 장시간 I/O

언제 사용할까?

동기 처리 사용 비동기 처리 사용
작업 순서가 중요할 때 작업이 독립적일 때
이전 결과가 다음 작업에 필요할 때 처리량과 응답성이 중요할 때
단순한 순차적 흐름 백그라운드 처리가 필요할 때

참고 자료

Clone this wiki locally