1. VPC(Virtual Private Cloud)
- 우리가 만든 코드가 최종적으로 돌아갈 서버(
EC2(컴퓨팅 서버), RDS(저장소) 등)가 바로 VPC 안에 들어있다.
- VPC가 배포에서 하는 일
- 프라이빗 서브넷: 실제 백엔드 서버는 외부 해킹 방지를 위해 VPC 내부의 깊숙한 곳 (프라이빗 영역)에 숨겨둔다.
- 로드 밸런서(
ALB): VPC의 입구에서 사용자의 요청을 받아, 내부 서브넷에 있는 여러 대의 서버로 전달.
- 무중단 배포의 핵심: 새로운 버전의 서버가 뜨면 로드 밸런서가 “이제 새 서버로 손님을 보내라”고 지시하면서 무중단 배포 완성.
2. Internet Gateway / NAT Gateway
- 모든 서브넷은 반드시 라우팅 테이블과 연결.
- 다만 그 라우팅 테이블에 어떤 문(Gateway)가 등록되어 있느냐에 따라 성격이 달라짐.
- NAT(Network Address Translation): IP를 변환한다. (
사설 IP ↔ 공인 IP)
Public Subnet - Internet Gateway
- Subnet 내 Resource(
EC2 등)가 Internet으로 나아가고자 할 때 반드시 거쳐야 하는 관문이 Internet Gateway
- 통신 방향: 양방향 가능
- 특징: 서브넷 안에 있는 EC2 인스턴스는 공인 IP를 가질 수 있다.
- 목적지가 IGW.
- 외부 → 내부: 외부 사용자가 공인 IP로 접속하면 IGW(Internet Gate Way)를 타고 들어옴.
- 내부 → 외부: 내부 서버가 외부로 나갈 때도 IGW를 통해 나감.
Private Subnet - NAT Gateway
- IGW가 없고, 대신 NAT Gateway로 향하는 경로만 있는 라우팅 테이블을 가진 서브넷
- 통신 방향: 단방향만 가능 (내부 → 외부)
- 특징: 이 안의 서버들은 사설 IP만 가진다. 외부에서 이 사설 IP로 직접 들어올 수 없음.
- 목적지: NAT Gateway
- 동작
- 사설 → 공인: 서버가 업데이트를 위해 Internet에 접속하고 싶을 때, NAT Gateway가 자신의 사설 IP를 공인 IP로 변환해서 나갔다 온다.
- 공인 → 사설: 불가능. 외부에서는 NAT Gateway 뒤에 숨은 서버의 존재를 알 수 없다.