지난 2차시에서는 분석, 컴퓨팅, 데이터베이스 등 인프라의 '허리'를 담당하는 서비스들을 훑어보았다. 이번 3차시에서는 이 인프라들이 서로 통신할 수 있게 길을 닦아주는 네트워킹과, 이를 안전하게 지키는 보안 서비스를 집중적으로 학습했다. 특히 백엔드 개발 시 배포 환경 구성에 필수적인 VPC 개념을 확실히 잡는 데 주력했다.
1. 네트워킹 및 콘텐츠 전송 (Networking & Content Delivery)
클라우드 내 가상 네트워크를 정의하고, 전 세계 사용자에게 콘텐츠를 빠르게 전달하는 기술이다.
- Amazon VPC (Virtual Private Cloud)
- 정의: AWS 클라우드에서 논리적으로 격리된 가상 네트워크 공간을 프로비저닝하는 서비스다.
- 주요 구성:
- 서브넷(Subnet): VPC 내부의 IP 주소 범위로, 공용(Public)과 사설(Private)로 구분된다.
- NAT Gateway: 사설 서브넷의 인스턴스가 인터넷에 연결할 수 있도록 돕는 관리형 서비스다.
- 보안 그룹 vs NACL: 보안 그룹은 인스턴스 수준의 상태 유지(Stateful) 방화벽이고, NACL은 서브넷 수준의 무상태(Stateless) 방화벽이다.
- Amazon CloudFront
- 정의: 짧은 지연 시간과 빠른 전송 속도로 콘텐츠를 전송하는 CDN(Content Delivery Network) 서비스다.
- 특징: 전 세계 엣지 로케이션(Edge Location)에 콘텐츠를 캐싱하여 로드를 줄이고 성능을 높인다. S3 버킷이나 로드 밸런서 등을 오리진으로 설정할 수 있다.
- Amazon Route 53
- 정의: 가용성과 확장성이 우수한 클라우드 DNS(도메인 네임 시스템) 웹 서비스다.
- 기능: 도메인 등록, DNS 라우팅, 리소스 상태 확인(Health Check)을 수행한다. 단순, 가중치, 지연 시간, 장애 조치 등 다양한 라우팅 정책을 지원한다.
- Elastic Load Balancing (ELB)
- 정의: 들어오는 애플리케이션 트래픽을 여러 대상(EC2 등)에 자동으로 분산시켜 시스템의 안정성을 높인다.
- 유형:
- ALB (Application Load Balancer): HTTP/HTTPS(7계층) 트래픽 처리에 적합하며, 경로 기반 라우팅이 가능하다.
- NLB (Network Load Balancer): TCP/UDP(4계층)를 처리하며 초당 수백만 개의 요청을 처리할 수 있는 고성능 밸런서다.
2. 보안, 자격 증명 및 규정 준수 (Security, Identity & Compliance)
클라우드 리소스에 대한 접근 권한을 관리하고 외부 공격으로부터 보호한다.
- AWS IAM (Identity and Access Management)
- 정의: AWS 리소스에 대한 액세스를 안전하게 제어하는 서비스다.
- 사용자(User) & 그룹(Group): 실제 사용자나 그룹에 권한 정책(JSON)을 할당한다.
- 역할(Role): EC2나 Lambda 같은 AWS 서비스가 다른 리소스에 접근할 수 있도록 임시 권한을 부여한다.
- 키워드: 최소 권한 원칙을 준수해야 한다.
- 정의: AWS 리소스에 대한 액세스를 안전하게 제어하는 서비스다.
- Amazon Cognito
- 정의: 웹 및 모바일 앱의 사용자 가입/로그인 및 액세스 제어를 관리한다.
- 특징: 소셜 로그인(Google, Facebook 등)을 지원하며, JWT 토큰을 발행해 사용자를 인증한다.
- AWS WAF (Web Application Firewall)
- 정의: SQL 주입(Injection)이나 크로스 사이트 스크립팅(XSS) 같은 일반적인 웹 공격으로부터 애플리케이션을 보호하는 방화벽이다.
- 적용: CloudFront, ALB, API Gateway 등에 배포하여 사용한다.
- AWS KMS (Key Management Service)
- 정의: 데이터 암호화에 사용되는 키를 생성하고 관리하는 서비스다.
- 특징: EBS 볼륨, S3 버킷, RDS 등 대부분의 AWS 서비스와 통합되어 데이터를 암호화한다.
- AWS Shield
- 정의: DDoS 공격으로부터 애플리케이션을 보호하는 서비스다.
- Standard vs Advanced: 모든 AWS 고객에게 Standard가 무료로 제공되며, Advanced는 더 정교한 공격 방어와 비용 보호를 제공한다.
3. 관리 및 거버넌스 (Management & Governance)
리소스의 상태를 모니터링하고 감사를 수행한다.
- Amazon CloudWatch: AWS 리소스와 애플리케이션의 모니터링 서비스로, 로그 수집, 지표(Metrics) 추적, 알람 설정을 수행한다.
- AWS CloudTrail: AWS 계정 내의 모든 API 호출 기록을 추적하여 보안 감사 및 문제 해결을 돕는다.
오늘의 학습 회고
이번에 VPC와 보안 그룹 파트를 정리하면서 배포 환경의 네트워크 격리가 얼마나 중요한지 깨닫게 되었다. 특히 보안 그룹(Security Group)이 인스턴스 앞단의 방화벽 역할을 하고, IAM 역할(Role)을 통해 EC2가 S3나 RDS에 안전하게 접근하게 한다는 점은 다음 프로젝트 아키텍처 설계 때 반드시 적용해야겠다.
다음 4차시에서는 아직 다루지 못한 스토리지(S3, EBS, EFS)와 서버리스(Lambda 상세) 파트를 마무리하며 SAA-C03 이론 정리를 마칠 계획이다.