SAA-C03에서 VPC Endpoint와 NAT Gateway가 같이 보이면 먼저 목적지를 봐야 합니다. private subnet이라는 말만으로 NAT Gateway를 고르면 틀리기 쉽습니다. private subnet의 리소스가 “어디로” 나가려는지가 핵심입니다.
목적지가 인터넷의 패키지 저장소, 외부 API, 서드파티 SaaS라면 NAT Gateway가 자연스럽습니다. 반대로 목적지가 S3나 DynamoDB 같은 AWS 서비스이고, 인터넷 경로를 줄이고 싶다면 VPC Endpoint가 더 자연스럽습니다. 그중 S3와 DynamoDB는 gateway endpoint, 많은 AWS API 서비스는 interface endpoint 단서가 자주 나옵니다.
아래 문제들은 실제 시험 원문이 아니라 SAA-C03 범위에 맞춘 자체 제작 연습문제입니다. 목표는 선택지를 외우는 것이 아니라, 문제의 단서가 NAT Gateway, gateway endpoint, interface endpoint 중 어디를 가리키는지 보는 것입니다.
먼저 결론: NAT Gateway는 인터넷 아웃바운드, VPC Endpoint는 AWS 서비스 사설 접근
AWS 공식 문서 기준으로 NAT Gateway는 private subnet의 인스턴스가 VPC 밖 서비스에 연결할 수 있게 하지만, 외부에서 먼저 그 인스턴스로 연결을 시작할 수는 없게 하는 NAT 서비스입니다.
Gateway VPC Endpoint는 S3와 DynamoDB에 대해 VPC에서 사설(private) 경로로 접근하게 해줍니다. 공식 문서는 gateway endpoint가 VPC의 S3, DynamoDB 연결에 인터넷 게이트웨이나 NAT 디바이스를 요구하지 않는다고 설명합니다.
Interface VPC Endpoint는 AWS PrivateLink 기반으로 서비스별 endpoint network interface를 만들고, security group과 private DNS 단서가 같이 나오는 경우가 많습니다. SSM, CloudWatch, EC2 API, Secrets Manager 같은 AWS API 접근에서 자주 떠올릴 수 있습니다.
문제 1. private subnet의 EC2가 S3 버킷에서 파일을 읽어야 한다
애플리케이션 서버가 private subnet에 있습니다. 이 서버는 S3 버킷에서 정적 설정 파일을 주기적으로 읽어야 합니다. 보안팀은 인터넷 경로 없이 S3에 접근하기를 원하고, 비용도 불필요하게 늘리고 싶지 않습니다.
가장 적절한 구성은 무엇일까요?
- A. private subnet route table에 NAT Gateway로 가는 기본 경로를 추가한다.
- B. S3 Gateway VPC Endpoint를 만들고 관련 route table에 연결한다.
- C. Internet Gateway를 private subnet에 직접 연결한다.
- D. Application Load Balancer를 S3 앞에 둔다.
정답: B
해설: 목적지가 S3이고 인터넷 경로 없이 접근하려는 조건입니다. S3는 gateway endpoint를 사용할 수 있고, route table에 AWS managed prefix list 대상 경로가 연결됩니다. NAT Gateway도 S3 접근을 가능하게 만들 수는 있지만, 이 문제의 핵심 조건인 “인터넷 경로 없이”, “불필요한 비용을 줄임”에는 gateway endpoint가 더 직접적입니다.
시험에서 볼 단서: S3, DynamoDB, private subnet, no internet, route table, prefix list가 함께 나오면 gateway endpoint를 먼저 봅니다.
문제 2. private subnet의 EC2가 외부 패키지 저장소에서 보안 업데이트를 받아야 한다
운영 서버가 private subnet에 있습니다. 이 서버는 OS 패키지 저장소와 외부 보안 업데이트 서버에 HTTPS로 연결해야 합니다. 외부에서 서버로 먼저 접속하는 것은 허용하면 안 됩니다.
가장 적절한 구성은 무엇일까요?
- A. Public NAT Gateway를 public subnet에 만들고 private subnet route table의
0.0.0.0/0을 NAT Gateway로 보낸다. - B. S3 Gateway VPC Endpoint만 만든다.
- C. DynamoDB Gateway VPC Endpoint만 만든다.
- D. private subnet에 Internet Gateway를 직접 연결한다.
정답: A
해설: 목적지가 AWS의 특정 서비스가 아니라 인터넷의 외부 저장소입니다. private subnet에서 시작하는 outbound 연결은 필요하지만 inbound 연결은 막아야 하므로 NAT Gateway가 맞습니다. Gateway endpoint는 S3나 DynamoDB 같은 지원 서비스에 대한 사설 경로이지, 일반 인터넷 목적지로 나가는 기능이 아닙니다.
시험에서 볼 단서: software update, external repository, third-party API, public internet outbound가 나오면 NAT Gateway를 봅니다.
문제 3. private subnet의 인스턴스가 Systems Manager API를 사용해야 한다
EC2 인스턴스가 private subnet에 있고 public IP가 없습니다. 운영팀은 Systems Manager를 사용해 인스턴스를 관리하려고 합니다. 인터넷 게이트웨이나 NAT Gateway 없이 AWS API에 사설로 연결하고 싶습니다.
가장 적절한 구성은 무엇일까요?
- A. Systems Manager 관련 Interface VPC Endpoint를 구성한다.
- B. S3 Gateway VPC Endpoint만 구성한다.
- C. NAT Gateway를 제거하고 아무 route도 추가하지 않는다.
- D. 인스턴스에 Elastic IP를 연결한다.
정답: A
해설: Systems Manager는 S3/DynamoDB gateway endpoint 문제가 아니라 AWS API 서비스 접근 문제입니다. 이런 조건에서는 interface endpoint를 생각해야 합니다. Interface endpoint는 subnet에 endpoint network interface를 만들고 security group, private DNS 같은 단서와 같이 나올 수 있습니다.
시험에서 볼 단서: SSM, CloudWatch, Secrets Manager, EC2 API, private DNS, endpoint network interface가 나오면 interface endpoint 가능성을 봅니다.
문제 4. private subnet Lambda가 외부 결제 API를 호출해야 한다
Lambda 함수가 VPC 안의 private subnet에 연결되어 있습니다. 이 함수는 인터넷에 있는 외부 결제 API를 호출해야 합니다. 결제 API는 AWS 서비스 endpoint가 아닙니다.
가장 적절한 네트워크 구성은 무엇일까요?
- A. Lambda subnet의 route table에서 NAT Gateway로 나가는 경로를 구성한다.
- B. DynamoDB Gateway Endpoint만 구성한다.
- C. S3 Gateway Endpoint만 구성한다.
- D. endpoint policy에 결제 API 도메인을 추가한다.
정답: A
해설: 목적지가 외부 인터넷 API라면 VPC Endpoint가 해결책이 아닙니다. VPC Endpoint는 AWS 서비스나 PrivateLink 지원 서비스에 대한 사설 연결입니다. 일반 인터넷 목적지로 나가야 하므로 NAT Gateway 경로가 필요합니다.
시험에서 볼 단서: external API, internet, SaaS, package repository는 NAT Gateway 쪽입니다.
문제 5. route table에 prefix list 대상 경로가 추가된다
어떤 아키텍처에서 private subnet의 route table에 AWS managed prefix list를 대상으로 하는 경로가 추가되었습니다. 이 경로의 target은 vpce-... 형태의 endpoint입니다. 목적지는 S3입니다.
이 구성에 가장 가까운 것은 무엇일까요?
- A. S3 Gateway VPC Endpoint
- B. Public NAT Gateway
- C. Internet Gateway
- D. VPC peering
정답: A
해설: Gateway endpoint는 route table에 서비스 prefix list 대상 경로를 추가하는 방식으로 동작합니다. NAT Gateway라면 보통 0.0.0.0/0 같은 기본 경로가 NAT Gateway를 향하는 단서가 나옵니다. 문제에서 S3와 prefix list, vpce target이 보이면 gateway endpoint를 떠올릴 수 있습니다.
시험에서 볼 단서: prefix list와 route table association은 gateway endpoint의 강한 단서입니다.
문제 6. 보안팀이 AWS API 접근을 security group으로 제어하려고 한다
private subnet의 워크로드가 특정 AWS API에 접근해야 합니다. 보안팀은 endpoint network interface에 security group을 붙여 접근을 제어하고 싶습니다. 또한 SDK가 기존 public service DNS 이름을 사용해도 사설 IP로 해석되기를 원합니다.
가장 적절한 구성은 무엇일까요?
- A. Interface VPC Endpoint와 private DNS를 사용한다.
- B. Gateway VPC Endpoint만 사용한다.
- C. NAT Gateway만 사용한다.
- D. Egress-only Internet Gateway만 사용한다.
정답: A
해설: endpoint network interface, security group, private DNS는 interface endpoint 쪽 단서입니다. Gateway endpoint는 route table 기반이고 S3/DynamoDB 중심입니다. NAT Gateway는 인터넷 아웃바운드 경로이지 AWS API를 사설 endpoint network interface로 노출하는 기능이 아닙니다.
시험에서 볼 단서: ENI, security group, private DNS, AWS API가 함께 나오면 interface endpoint를 봅니다.
빠른 구분표
| 문제 단서 | 먼저 볼 선택지 |
|---|---|
| private subnet에서 외부 인터넷 API 호출 | NAT Gateway |
| private subnet에서 S3/DynamoDB 접근, 인터넷 경로 회피 | Gateway VPC Endpoint |
| route table에 AWS managed prefix list | Gateway VPC Endpoint |
| AWS API 접근, endpoint ENI, security group, private DNS | Interface VPC Endpoint |
public subnet에 생성, Elastic IP, 0.0.0.0/0 outbound | NAT Gateway |
문제를 풀 때 “private subnet이라서 NAT”라고 시작하면 헷갈립니다. 먼저 목적지를 나눠야 합니다. 인터넷이면 NAT Gateway, S3/DynamoDB 사설 접근이면 gateway endpoint, AWS API에 PrivateLink 방식으로 접근하려면 interface endpoint입니다.
참고한 공식 자료
- AWS Certified Solutions Architect - Associate (SAA-C03) Exam Guide: https://docs.aws.amazon.com/aws-certification/latest/solutions-architect-associate-03/solutions-architect-associate-03.html
- Gateway endpoints - Amazon VPC: https://docs.aws.amazon.com/vpc/latest/privatelink/gateway-endpoints.html
- NAT gateways - Amazon VPC: https://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/vpc-nat-gateway.html
- Configure an interface endpoint - Amazon VPC: https://docs.aws.amazon.com/vpc/latest/privatelink/interface-endpoints.html