요약: AWS VPC의 핵심 연결고리들을 완벽하게 마스터하세요. 가상 랜카드 ENI부터 인터넷/NAT 게이트웨이, 비용과 보안을 잡는 VPC 엔드포인트, 그리고 VPC 피어링의 동작 원리와 제약사항까지, 현업 전문가가 실무 예시와 함께 깊이 있게 설명합니다.
안녕하세요! 👋 IT 현업에서 네트워크와 보안을 담당하고 있는 여러분의 멘토입니다. 😉
클라우드 시대의 심장이라고 할 수 있는 AWS, 그중에서도 VPC(Virtual Private Cloud) 네트워크는 모든 서비스의 뼈대를 이루는 정말 중요한 기술이죠. 이제 막 클라우드 세상에 발을 들인 학생분들이나, 실무에서 더 깊이 있는 전문가로 성장하고 싶은 후배 사원분들을 위해 준비했습니다.
복잡해 보이는 네트워크 용어들을 딱딱한 개념 설명이 아닌, 우리 주변의 이야기와 실제 업무에서 마주칠 법한 생생한 예시로 풀어드릴게요. 이 글을 끝까지 읽고 나면, 흩어져 있던 VPC 지식들이 하나로 꿰어지고, 자신감 있게 클라우드 네트워크를 설계하고 운영할 수 있는 튼튼한 기초를 다지게 될 거예요!
자, 그럼 클라우드 네트워크 전문가로 가는 여정, 함께 시작해볼까요? 🚀
시작하기 전에: AWS VPC 간단히 훑어보기
본격적인 탐험에 앞서, 우리 여행의 배경이 될 VPC에 대해 간단히 알아볼게요.
VPC (Virtual Private Cloud) : AWS 클라우드 안에 나만 사용할 수 있도록 논리적으로 분리된 '나만의 가상 데이터센터' 또는 '개인 공간'이라고 생각하시면 됩니다. 이 공간 안에서 IP 주소 범위를 직접 정하고, 서버(EC2 인스턴스)를 띄우고, 네트워크를 마음대로 구성할 수 있어요.
서브넷 (Subnet) : VPC라는 큰 땅을 용도에 맞게 나눈 '작은 구역'입니다.
퍼블릭 서브넷 (Public Subnet) : 인터넷과 직접 통신할 수 있는 '외부와 연결된 구역'입니다. 주로 웹 서버처럼 외부 사용자의 접속이 필요한 자원을 배치합니다.
프라이빗 서브넷 (Private Subnet) : 인터넷에서 직접 접근할 수 없는 '내부 보안 구역'입니다. 데이터베이스(DB) 서버나 중요한 내부 애플리케이션 서버처럼 보안이 중요한 자원을 배치합니다.
라우팅 테이블 (Routing Table) : '네트워크 교통 경찰' 또는 '내비게이션'입니다. VPC 안에서 데이터(트래픽)가 어디로 가야 할지 길을 알려주는 규칙들의 모음이죠. "인터넷으로 가려면 저쪽 게이트웨이로 가!" 와 같은 규칙이 적혀있습니다.
이제 기본 배경지식은 갖췄으니, 본격적으로 핵심 요소들을 하나씩 파헤쳐 보겠습니다!
Chapter 1. 내 가상 서버의 '랜카드' - ENI (Elastic Network Interface) 🔌
ENI, 도대체 뭔가요?
ENI는 AWS 환경에서 사용하는 '가상 랜카드'라고 생각하면 가장 쉽습니다. 우리가 쓰는 노트북이나 데스크톱에 인터넷 선을 꽂는 랜카드(네트워크 인터페이스 카드)가 있잖아요? 그 랜카드가 있어야 인터넷도 되고, 다른 컴퓨터와 통신도 할 수 있죠. ENI가 바로 그 역할을 AWS의 가상 서버(EC2 인스턴스)에서 수행합니다.
하지만 물리 랜카드와는 다른 아주 특별한 점이 있어요.
✨ 자유로운 영혼, 독립 객체 : ENI는 EC2 인스턴스에 완전히 종속되지 않아요. 마치 USB형 외장 랜카드처럼, 필요에 따라 이 인스턴스에 붙였다가, 저 인스턴스로 옮겨 붙일 수 있습니다. 인스턴스가 켜져 있든, 꺼져 있든 상관없이 탈부착이 가능하죠.
🤝 뛰어난 확장성 : ENI는 단순히 인스턴스에만 붙는 게 아니라, 다른 여러 AWS 서비스와 연동되어 작동하는 경우가 많습니다. 예를 들어, 나중에 배울 Transit Gateway나 Route 53 Resolver 같은 고급 네트워킹 서비스들도 서브넷에 ENI를 생성하면서 동작해요. 그래서 ENI의 원리를 잘 이해해두면 새로운 AWS 서비스를 더 빨리 이해할 수 있답니다!
ENI는 언제, 어떻게 사용하나요? (실무 예시 포함)
ENI는 단순히 인터넷을 연결하는 것 이상의 유연한 네트워크 구성이 필요할 때 빛을 발합니다.
1. 한 서버에 여러 개의 IP 주소가 필요할 때 (세컨더리 IP 할당)
하나의 ENI에는 여러 개의 보조(Secondary) IP 주소를 할당할 수 있어요.
🏢 실무 예시 : 여러분이 하나의 웹 서버(EC2)에서 여러 개의 다른 도메인에 대해 각각 다른 SSL 인증서를 적용해야 하는 상황을 상상해보세요. 이때 각 도메인마다 별도의 IP가 필요할 수 있는데, ENI 하나에 여러 개의 보조 IP를 할당해서 이 문제를 해결할 수 있습니다.
2. 네트워크 트래픽을 분리하여 보안과 관리를 강화할 때
목적에 따라 네트워크 경로를 완전히 분리하고 싶을 때 ENI를 추가로 장착합니다.
🛡️ 관리용 네트워크 분리 (보안 강화)
🏢 실무 예시 : 고객들이 접속하는 쇼핑몰 웹 서버가 있다고 해봅시다. 고객 트래픽은 ENI-A를 통해 들어옵니다. 하지만 서버에 문제가 생겼을 때 개발자가 접속해서 점검해야 하는 관리용 트래픽은 ENI-B라는 별도의 ENI를 통해 들어오게 구성할 수 있습니다. ENI-B는 회사 내부망에서만 접속할 수 있도록 보안 설정을 해두면, 일반 인터넷을 통한 관리자 경로 노출을 원천 차단하여 보안을 크게 강화할 수 있습니다.
🔐 백엔드 네트워크 분리
🏢 실무 예시 : 사용자의 요청을 받는 프론트엔드 웹 서버와 실제 데이터 처리를 하는 백엔드 DB 서버가 있다고 가정해봅시다. 사용자 트래픽은 퍼블릭 서브넷에 있는 ENI-Web을 통해 들어오고, 웹 서버가 DB 서버와 통신할 때는 프라이빗 서브넷에만 연결된 ENI-DB를 통해 이루어지도록 구성할 수 있습니다. 이렇게 하면 DB로 가는 통신은 인터넷과 완전히 격리된 내부망으로만 이루어지므로 매우 안전해집니다.
🚨 전문가의 조언: ENI 사용 시 주의할 점!
❌ 성능 향상 목적이 아님 : 물리 서버에서는 랜카드를 2개 꽂아 대역폭을 2배로 늘리는 '티밍/본딩' 기술이 있지만, AWS의 ENI는 그런 방식이 적용되지 않습니다. ENI를 2개 붙인다고 해서 네트워크 처리량이 2배가 되는 것이 아니에요. 성능은 인스턴스 자체의 사양에 더 큰 영향을 받습니다.
⚠️ 라우팅 복잡성 : 하나의 인스턴스가 같은 서브넷 대역을 바라보는 ENI를 여러 개 가질 경우, 데이터가 들어온 길과 나가는 길이 달라지는 '비대칭 라우팅(Asymmetric Routing)' 문제가 발생할 수 있습니다.
이는 상태 기반(Stateful) 보안 장비가 응답 패킷을 차단하는 원인이 될 수 있으므로, 단순히 IP가 더 필요한 상황이라면 ENI를 추가하기보다는 하나의 ENI에 세컨더리 IP를 할당하는 방식이 훨씬 안정적이고 권장됩니다.
Chapter 2. 인터넷 세상으로 통하는 문 - 게이트웨이 삼총사 🚪
VPC라는 우리만의 공간이 외부 인터넷 세상과 소통하려면 '문'이 필요합니다. 용도에 따라 세 종류의 문(게이트웨이)이 있습니다.
2.1 인터넷 게이트웨이(IGW): 양방향 대문
이게 뭔가요? : IGW는 VPC가 인터넷과 양방향으로 통신할 수 있도록 해주는 공식적인 '대문'입니다. 이 대문이 없으면 VPC는 인터넷과 완전히 단절된 고립된 섬이 됩니다.
어떻게 작동하나요? :
1. VPC에 IGW를 하나 생성해서 붙입니다.
2. 인터넷 통신이 필요한 퍼블릭 서브넷의 라우팅 테이블(교통 경찰)에 규칙을 추가합니다: 목적지(Destination): 0.0.0.0/0 (모든 곳), 대상(Target): my-igw
이제 해당 서브넷의 EC2 인스턴스(퍼블릭 IP를 가진)는 인터넷과 자유롭게 소통할 수 있게 됩니다.
🏢 실무 예시 : 여러분이 만든 블로그 웹 서버(EC2)에 전 세계 누구나 접속해서 글을 읽게 하려면, 이 웹 서버가 있는 퍼블릭 서브넷의 라우팅 테이블에 IGW를 향한 경로를 반드시 설정해주어야 합니다.
2.2 NAT 게이트웨이(NAT GW): 안전한 외출 전용 쪽문
이게 뭔가요? : NAT 게이트웨이는 프라이빗 서브넷에 있는, 즉 외부에 노출되면 안 되는 내부 서버들이 인터넷으로 '나가기만' 할 수 있도록 해주는 '외출 전용 쪽문'입니다. 외부에서 이 쪽문을 통해 안으로 들어오는 것은 절대 불가능합니다.
왜 필요한가요? :
보안! 또 보안! : 고객 정보가 담긴 DB 서버나 핵심 로직이 담긴 애플리케이션 서버는 프라이빗 서브넷에 두어 외부로부터 보호해야 합니다.
하지만... : 이 안전한 서버들도 운영체제 보안 패치를 다운로드하거나, 외부 서비스의 API를 호출하는 등 외부 인터넷으로 나가야 할 때가 있습니다. 이때 NAT 게이트웨이가 안전한 통로가 되어줍니다.
🏠 실생활 비유 : 보안이 철저한 집에 외부와 직접 연결된 문은 없고, 대신 '우편함(NAT Gateway)'이 있다고 생각해보세요. 집 안에서 외부로 편지를 보낼 수 있고(아웃바운드), 그 편지에 대한 답장도 받을 수 있지만(응답 트래픽), 외부인이 우편함을 통해 집 안으로 불쑥 들어올 수는 없는 것과 같은 원리입니다.
🚨 전문가의 조언: 포트 고갈(Port Exhaustion) 문제!
하나의 NAT 게이트웨이를 통해 수백, 수천 개의 내부 인스턴스가 동시에 특정 외부 IP로 통신을 시도하면, NAT 게이트웨이가 사용할 수 있는 포트(최대 약 65,000개)가 순간적으로 고갈되어 서비스 장애로 이어질 수 있습니다.
해결책 :
1. NAT 게이트웨이 추가 증설 : 가용 영역(AZ)별로 여러 개의 NAT 게이트웨이를 두고 부하를 나눕니다.
2. VPC 엔드포인트 사용 : 통신 대상이 AWS 서비스(S3 등)라면, 인터넷으로 나갈 필요 없이 VPC 엔드포인트를 사용해 문제를 근본적으로 해결하고 비용도 절약할 수 있습니다.
2.3 Egress-Only 인터넷 게이트웨이(EIGW): IPv6를 위한 외출 전용문
이름이 조금 어렵지만, 역할은 간단합니다. NAT 게이트웨이의 IPv6 버전이라고 생각하시면 됩니다. IPv6 주소를 가진 프라이빗 서브넷의 인스턴스가 인터넷으로 아웃바운드 통신만 가능하도록 해주는 게이트웨이입니다. NAT 게이트웨이는 IPv4 전용, EIGW는 IPv6 전용입니다.
Chapter 3. AWS 서비스로 가는 프라이빗 고속도로 - VPC 엔드포인트 🚀
VPC 엔드포인트, 왜 필요할까요?
프라이빗 서브넷에 있는 DB 서버가 S3 버킷에 저장된 데이터를 백업해야 한다고 상상해봅시다. 일반적인 방법은 NAT 게이트웨이를 통해 인터넷으로 나갔다가 다시 AWS S3 서비스로 들어가는 것입니다. 하지만 이 방법은 느리고, 비싸고, 보안 우려가 있습니다.
VPC 엔드포인트는 바로 이 문제를 해결하기 위해 등장했습니다! 인터넷을 거치지 않고, VPC에서 AWS 서비스(S3, DynamoDB 등)로 직접 연결되는 '프라이빗 전용 고속도로'를 만들어주는 기능입니다.
주요 장점: 🛡️ 보안 강화, 💰 비용 절감, 🚀 성능 향상
게이트웨이 엔드포인트 vs. 인터페이스 엔드포인트 (격파 비교!)
VPC 엔드포인트에는 두 가지 종류가 있습니다. 이 둘의 차이를 아는 것이 실무의 핵심입니다!
| 구분 | 게이트웨이 엔드포인트 | 인터페이스 엔드포인트 |
|---|---|---|
| 개념 | 라우팅 테이블에 목적지 등록 | 서브넷에 '전용 랜카드(ENI)' 생성 |
| 지원 서비스 | S3, DynamoDB | 대부분의 AWS 서비스 |
| 온프레미스 연결 | 접근 불가 | Direct Connect로 접근 가능 |
| 비용 | 무료 | 시간당 요금 + 데이터 처리 요금 |
실무 선택 가이드: 언제 무엇을 써야 할까?
✅ S3나 DynamoDB에 접속할 때 : 고민할 필요 없이 게이트웨이 엔드포인트를 사용하세요. 무료이고, 성능과 보안, 비용 절감 효과를 모두 누릴 수 있습니다.
✅ 그 외 대부분의 AWS 서비스에 접속할 때 : 인터페이스 엔드포인트를 사용해야 합니다.
✅ 온프레미스(사내)에서 AWS 서비스로 프라이빗하게 연결해야 할 때 : Direct Connect와 함께 인터페이스 엔드포인트를 사용합니다.
Chapter 4. 내 클라우드와 옆 동네 클라우드 연결하기 - VPC 피어링 🤝
VPC 피어링이란?
VPC 피어링은 두 개의 VPC를 1:1로 직접 연결하여 마치 하나의 큰 VPC처럼 통신하게 만들어주는 기능입니다. 서로 다른 부서의 VPC, 심지어 다른 AWS 계정이나 다른 국가(리전)에 있는 VPC 끼리도 연결할 수 있습니다.
🏠 실생활 비유 : 우리 집(VPC A)과 옆집(VPC B) 사이에 벽을 허물고 문을 만드는 것과 같습니다. 굳이 동네 바깥(인터넷)으로 나갔다가 다시 들어올 필요 없이, 내부 문을 통해 자유롭게 오갈 수 있게 되는 거죠.
🚨 가장 중요한 제약사항: '친구의 친구'는 친구가 아니다!
VPC 피어링에서 이것 하나만은 반드시 기억해야 합니다. 바로 전이성 피어링(Transitive Peering)이 불가능하다는 점입니다.
이게 무슨 말이냐면... VPC A 와 VPC B 가 연결되어 있고(A ↔ B), VPC B 와 VPC C 가 연결되어 있어도(B ↔ C), VPC A 와 VPC C 가 자동으로 통신할 수는 절대 없습니다! (A ↔ C). 내가 C와 소통하려면 직접 C와 친구 관계(피어링)를 맺어야 합니다.
⚠️ IP 주소 대역 중복 금지 : 피어링으로 연결할 VPC들은 서로 IP 주소 대역(CIDR Block)이 겹치면 안 됩니다. IP가 중복되면 통신이 불가능합니다.
마무리하며: 전문가로 성장하기 위한 학습 로드맵 🗺️
자, 지금까지 AWS VPC의 핵심 연결고리들을 모두 살펴봤습니다. 이 지식들을 바탕으로 여러분이 더 멋진 엔지니어로 성장할 수 있도록 마지막으로 학습 로드맵을 정리해 드릴게요.
👨🎓 학생들을 위한 학습 가이드
1. 개념과 비유로 큰 그림 그리기 : '랜카드', '대문', '쪽문', '고속도로' 같은 비유로 먼저 익숙해지세요.
2. 데이터의 흐름 추적하기 : "프라이빗 서브넷의 EC2가 S3에 파일을 다운로드한다" 같은 시나리오를 정하고, 데이터 패킷이 어떤 경로를 거치는지 직접 그림을 그려보세요. 이것만큼 좋은 공부법이 없습니다.
3. 실습, 실습, 또 실습! : AWS 프리티어를 활용해서 직접 VPC를 만들고, 서브넷을 나누고, 게이트웨이를 붙이고, 라우팅 테이블을 설정해보세요. 눈으로 보는 것과 손으로 해보는 것은 천지 차이입니다.
🚀 현직자를 위한 실무 아키텍처링 & 트러블슈팅 팁
설계 시 고려사항 : 항상 '최소 권한의 원칙'을 기억하고, 비용(NAT GW)과 고가용성(HA)을 고려하여 설계하세요.
트러블슈팅(Troubleshooting) 시 체크리스트 :
1순위: 라우팅 테이블 (경로가 올바른가?)
2순위: 보안 그룹 & 네트워크 ACL (방화벽이 막고 있는가?)
3순위: NAT 게이트웨이 병목 (포트 고갈은 없는가?)
4순위: DNS 확인 (엔드포인트 DNS 설정은 올바른가?)
부록
📖 주요 용어 정리
ENI : 가상 서버(EC2)에 부착하는 가상 랜카드.
IGW : VPC와 인터넷 간의 양방향 통신을 가능하게 하는 관문.
NAT GW : 프라이빗 서브넷의 인스턴스가 인터넷으로 나가는 통신만 가능하게 해주는 게이트웨이.
VPC 엔드포인트 : 인터넷을 거치지 않고 VPC와 AWS 서비스를 프라이빗하게 연결하는 통로.
VPC 피어링 : 두 VPC를 1:1로 직접 연결하여 사설 통신이 가능하게 하는 기능.
🤔 자주 묻는 질문 (FAQ)
Q1: 퍼블릭 서브넷과 프라이빗 서브넷의 가장 큰 차이는 무엇인가요?
A: 라우팅 테이블에 인터넷 게이트웨이(IGW)로 가는 경로(0.0.0.0/0)가 있으면 퍼블릭, 없으면 프라이빗입니다. 즉, 인터넷과 직접 연결되는 문이 있느냐 없느냐의 차이입니다.
Q2: NAT 게이트웨이랑 인터넷 게이트웨이는 뭐가 다른 건가요? 헷갈려요.
A: IGW는 '양방향 대문', NAT GW는 '외출 전용 쪽문'입니다. 보안이 중요한 내부 서버들의 안전한 인터넷 접속을 위해 사용됩니다.
Q3: VPC 피어링이랑 VPC 엔드포인트는 언제 뭘 써야 하나요?
A: VPC 피어링은 'VPC와 VPC'를, VPC 엔드포인트는 'VPC와 AWS 서비스(S3 등)'를 연결할 때 씁니다.
Q4: NAT 게이트웨이 비용이 너무 많이 나오는데, 줄일 방법이 없을까요?
A: S3나 DynamoDB 트래픽이 많다면, 무료인 게이트웨이 엔드포인트를 사용하도록 아키텍처를 변경하는 것만으로도 비용을 크게 절감할 수 있습니다.
오늘 저와 함께한 여정이 여러분의 클라우드 네트워크 여정에 든든한 디딤돌이 되었기를 바랍니다. 궁금한 점이 있다면 언제든지 댓글로 질문해주세요! 여러분의 성장을 항상 응원하겠습니다. 화이팅! 💪
더 상세한 내용은 Youtube채널(@NetworkingClass)을 참고해서 공부하실 수 있습니다.
아래 동영상을 참고하시면 내용을 이해하시는 데 더욱 도움이 될 것입니다.
댓글
댓글 쓰기