AWS 백엔드 인프라 운영 지도
요청이 DNS, Load Balancer, Compute, Data Store를 통과하는 전체 경로와 운영 기준을 연결한다.
이 문서의 목차
Overview
AWS 백엔드 인프라는 서비스 이름을 외우는 일이 아니라 요청, 설정, 데이터, 장애가 어떤 경계를 통과하는지 이해하는 일이다. Dev Atlas에서는 고객명·IP·Hostname·계정·설치 경로를 제거하고 재사용 가능한 구조와 점검 기준만 남긴다.
한 문장 설명: 외부 요청이 안전하게 Application에 도달하고 데이터 계층과 통신한 뒤 관측 가능하게 응답하도록 만든 실행 기반이다.
왜 필요한가
Application 코드가 정상이어도 Security Group, DNS, TLS, Health Check, Subnet Route, RDS 또는 MSK 연결 중 하나가 어긋나면 서비스는 동작하지 않는다. 구성 요소보다 요청 경로를 기준으로 보면 장애 지점을 빠르게 좁힐 수 있다.
핵심 원리
Public 진입점과 Private 실행·데이터 계층을 분리하고 최소 권한으로 통신을 허용한다. Instance에 상태를 두지 않고 설정과 Secret을 외부화한다. Health Check는 Process 생존과 실제 Serving 가능성을 구분한다. 모든 변경은 반복 가능한 배포와 Rollback 단위를 가져야 한다.
내부 동작
flowchart LR; U[Client] --> DNS[Route 53/DNS]; DNS --> LB[ALB/NLB]; LB --> APP[EC2·Container]; APP --> RDS[(RDS)]; APP --> MSK[MSK]; APP --> OBS[Log·Metric·Trace]; CFG[Config·Secret] --> APP
DNS가 진입 주소를 반환하고 Load Balancer가 Healthy Target을 선택한다. Application의 ENI는 Route Table과 Security Group 규칙에 따라 RDS Endpoint와 MSK Bootstrap Broker에 연결한다. TLS, 인증, Topic/DB 권한은 Network 연결 이후의 별도 검증 단계다.
쉬운 비유
공항으로 보면 DNS는 안내판, Load Balancer는 탑승구 배정, Security Group은 출입 심사, Compute는 항공기, RDS와 MSK는 화물·관제 시스템이다. 안내판이 맞아도 출입 심사나 목적지 권한이 틀리면 이동할 수 없다.
Example
RDS 연결 실패를 볼 때는 이름 해석 → 경로 → SG → Port/TLS → DB 인증 → Pool 순서로 확인한다. MSK도 Bootstrap DNS → Broker SG → TLS/SASL → Topic 권한 → Consumer Group 순서로 계층화한다. 특정 오류를 무조건 SG 탓으로 단정하지 않는다.
실무에서 발생하는 문제
배포 중 Readiness가 너무 빨리 성공해 초기화 전 Traffic을 받거나, 종료 유예보다 요청 시간이 길어 유실이 생긴다. Connection Pool·Thread·Task 수를 독립적으로 늘려 RDS 한계를 초과할 수 있다. DNS Cache와 Certificate 갱신, Broker 주소 변경을 무시하면 간헐 오류가 된다.
Trade-off
Managed Service는 운영 부담을 줄이지만 비용, 제약, Cloud 결합을 만든다. Private Network는 노출을 줄이지만 접근·디버깅 경로가 복잡해진다. MSA는 독립 배포를 주지만 Discovery, Config, Gateway, Trace의 운영 책임을 늘린다.
흔한 오해
- Timeout이 곧 Security Group 오류라는 뜻은 아니다.
useSSL=false같은 우회가 연결 문제의 안전한 해결책은 아니다.- EC2가 Healthy라고 Application Dependency까지 정상인 것은 아니다.
- Managed RDS/MSK가 Capacity와 장애 훈련을 대신하지 않는다.
Production Considerations
자산별 Owner, 변경 이력, Backup/복원, 인증서 만료, 비용 Tag를 관리한다. Network Diagram과 Data Flow를 최신화하고 Zone 장애, Dependency 지연, 배포 Rollback을 정기적으로 연습한다. 고객 환경의 비밀값은 Wiki가 아니라 승인된 Secret Store에서 관리한다.
Interview Questions / Follow-up Questions
- Public Subnet과 Private Subnet을 어떻게 나누는가?
- Liveness와 Readiness의 차이는?
- 후속: RDS 연결 Timeout을 계층별로 진단해보라.
- 후속: MSA 도입 시 추가되는 인프라 책임은 무엇인가?
Related Topics
VPC와 Security Group, Compute와 Container, Traffic·DNS·TLS, RDS와 MSK로 상세 경로를 확인한다.
SOURCE REFERENCES
이 문서의 근거
본문은 Dev Atlas 안에서 완결되며, 검증이 필요할 때만 원문을 확인할 수 있습니다.