빠른참조 · 6
네트워크 연결 매트릭스
네트워크 문항의 첫 질문은 언제나 무엇과 무엇을 잇는가입니다. 연결 대상이 정해지면 후보가 서너 개로 줄고, 거기에 요구(전이 라우팅 · 인터넷 비경유 · 대역폭)를 얹으면 하나가 남습니다.
이 페이지 쓰는 법
연결 매트릭스
| 연결 대상 | 단순 연결 | 전이 라우팅 · 다수 연결 | 인터넷을 거치지 않기 | 일부만 노출 |
|---|---|---|---|---|
| VPC와 VPC (같은 계정 · 다른 계정) | VPC 피어링 | AWS Transit Gateway | 둘 다 AWS 네트워크 안입니다 | AWS PrivateLink — 서비스 하나만 노출합니다 |
| VPC와 온프레미스 | AWS Site-to-Site VPN | Transit Gateway에 VPN이나 Direct Connect를 붙입니다 | AWS Direct Connect | Direct Connect 위의 프라이빗 가상 인터페이스 |
| VPC와 AWS 서비스 | 인터넷 게이트웨이 또는 NAT 게이트웨이 경유 | 해당 없음 | VPC 엔드포인트 — S3·DynamoDB는 게이트웨이, 나머지는 인터페이스 | 엔드포인트 정책으로 통과 범위를 좁힙니다 |
| 개별 사용자 단말과 VPC | AWS Client VPN | 해당 없음 | Client VPN 자체가 암호화 터널입니다 | 인증 그룹별 접근 규칙 |
| 프라이빗 서브넷과 인터넷 (나가기만) | NAT 게이트웨이 | 해당 없음 | 목적지가 AWS 서비스면 VPC 엔드포인트로 바꿉니다 | 해당 없음 |
| 여러 계정이 같은 서브넷 사용 | AWS Resource Access Manager로 서브넷 공유 | 해당 없음 | 해당 없음 | 공유할 서브넷만 선택합니다 |
VPC와 VPC를 잇는 세 가지
| 항목 | VPC 피어링 | AWS Transit Gateway | AWS PrivateLink |
|---|---|---|---|
| 연결 모델 | 일대일 | 허브와 스포크 | 서비스 제공자와 소비자 |
| 노출 범위 | 양쪽 네트워크 전체 | 연결된 네트워크 전체 | 서비스 엔드포인트 하나 |
| 전이 라우팅 | 불가 | 가능 | 해당 없음 — 라우팅이 아니라 서비스 접근입니다 |
| CIDR 중복 | 허용되지 않습니다 | 허용되지 않습니다 | 겹쳐도 됩니다 — 사설 IP 하나로 접근하기 때문입니다 |
| 연결 수가 늘어날 때 | 조합이 급격히 늘어납니다 | 허브에 붙이기만 하면 됩니다 | 소비자마다 엔드포인트를 만듭니다 |
| 리전 | 리전 간 피어링이 가능합니다 | 게이트웨이끼리 피어링해 리전을 넘습니다 | 리전 안에서 씁니다 |
| 고르는 신호 | "두 VPC만 잇는다", "간단하게" | "수십 개 VPC", "온프레미스까지 한곳에서" | "우리 서비스만 다른 계정에 제공", "CIDR이 겹친다" |
VPC와 온프레미스를 잇는 세 가지
| 항목 | AWS Site-to-Site VPN | AWS Direct Connect | AWS Client VPN |
|---|---|---|---|
| 연결 주체 | 사이트(데이터센터·사무실) | 사이트 | 개별 사용자 단말 |
| 전송 매체 | 인터넷 위의 IPsec 터널 | 전용 물리 회선 | 인터넷 위의 터널 |
| 지연의 일관성 | 인터넷 상태에 따라 변합니다 | 일관됩니다 | 인터넷 상태에 따라 변합니다 |
| 구축 시간 | 짧습니다 | 깁니다 — 회선 신청과 설치가 필요합니다 | 짧습니다 |
| 암호화 | 기본으로 암호화됩니다 | 기본은 암호화되지 않습니다 — 필요하면 위에 VPN을 얹습니다 | 기본으로 암호화됩니다 |
| 대표 조합 | Direct Connect의 백업 경로 | Transit Gateway에 붙여 여러 VPC와 잇습니다 | 재택 근무자의 프라이빗 리소스 접근 |
| 고르는 신호 | "빨리 연결", "비용을 낮게", "백업 회선" | "일관된 지연", "대역폭 보장", "인터넷을 거치면 안 된다" | "원격 근무자", "개인 노트북에서" |
VPC와 AWS 서비스 — 엔드포인트 선택
| 경로 | 인터넷 경유 | 필요한 구성 | 과금 축 |
|---|---|---|---|
| 퍼블릭 서브넷 + 인터넷 게이트웨이 | 경유합니다 | 퍼블릭 IP와 인터넷 게이트웨이 경로 | 인터넷 송신 데이터 전송 |
| 프라이빗 서브넷 + NAT 게이트웨이 | 경유합니다 | 가용 영역마다 NAT 게이트웨이 | 가동 시간 + 처리 데이터 + 송신 |
| 게이트웨이 엔드포인트 | 경유하지 않습니다 | 라우팅 테이블에 엔드포인트 경로 | 추가 요금 없음 |
| 인터페이스 엔드포인트 | 경유하지 않습니다 | 서브넷의 ENI와 보안 그룹 | 가동 시간 + 처리 데이터 |
두 엔드포인트 유형의 속성별 상세 대조는 헷갈리는 쌍 비교에 있습니다. 여기서 기억할 한 줄은 "S3와 DynamoDB만 게이트웨이, 나머지는 인터페이스, 온프레미스에서 접근해야 하면 무조건 인터페이스"입니다.
라우팅
| 규칙 | 내용 |
|---|---|
| 로컬 경로 | VPC의 CIDR로 향하는 local 경로가 모든 라우팅 테이블에 기본으로 있으며 삭제할 수 없습니다. 그래서 같은 VPC 안의 서브넷끼리는 언제나 라우팅됩니다 |
| 가장 구체적인 경로 우선 | 목적지에 일치하는 경로가 여럿이면 접두사 길이가 가장 긴 경로가 이깁니다. 0.0.0.0/0보다 10.0.1.0/24가 먼저 적용됩니다 |
| 퍼블릭 서브넷의 정의 | 라우팅 테이블에 인터넷 게이트웨이로 향하는 경로가 있으면 퍼블릭 서브넷입니다. 이름이나 설정 항목이 아니라 경로가 정의입니다 |
| 서브넷과 라우팅 테이블 | 서브넷 하나는 라우팅 테이블 하나에만 연결됩니다. 명시하지 않으면 VPC의 기본 라우팅 테이블이 적용됩니다 |
| NAT 게이트웨이의 이중화 | NAT 게이트웨이는 지정한 서브넷의 가용 영역 안에서만 동작합니다. 가용 영역마다 하나씩 만들고 각 가용 영역의 프라이빗 라우팅 테이블이 자기 가용 영역의 NAT를 가리키게 합니다 |
| 게이트웨이 엔드포인트의 경로 | 접두사 목록(prefix list)을 목적지로 하는 경로가 라우팅 테이블에 추가됩니다. 그래서 게이트웨이 엔드포인트는 라우팅 테이블 단위로 적용됩니다 |
| 대상 | 어떤 트래픽을 보내는가 |
|---|---|
local |
VPC 내부 — 삭제할 수 없습니다 |
| 인터넷 게이트웨이 | 퍼블릭 IP를 가진 리소스의 인터넷 양방향 통신 |
| NAT 게이트웨이 | 프라이빗 서브넷의 아웃바운드 인터넷 통신 |
| VPC 피어링 연결 | 피어링 상대 VPC의 CIDR |
| Transit Gateway 연결 | 허브에 붙은 다른 VPC와 온프레미스 네트워크 |
| 가상 프라이빗 게이트웨이 | Site-to-Site VPN 또는 Direct Connect 너머의 온프레미스 |
| 게이트웨이 엔드포인트 (접두사 목록) | Amazon S3와 Amazon DynamoDB |
| Gateway Load Balancer 엔드포인트 | 검사 어플라이언스로 우회시키는 트래픽 |
DNS
| 항목 | 내용 |
|---|---|
| VPC 리졸버 주소 | VPC 네트워크 범위의 기준 주소에 2를 더한 주소입니다. 10.0.0.0/16이면 10.0.0.2입니다 |
enableDnsSupport |
VPC 안에서 DNS 해석 자체를 켜고 끕니다. 꺼져 있으면 리졸버 주소로 질의해도 응답하지 않습니다 |
enableDnsHostnames |
퍼블릭 IP를 가진 인스턴스에 퍼블릭 DNS 호스트 이름을 부여할지 정합니다. 인터페이스 엔드포인트의 프라이빗 DNS를 쓰려면 두 속성이 모두 켜져 있어야 합니다 |
| Route 53 프라이빗 호스팅 영역 | VPC 안에서만 해석되는 도메인을 만듭니다. 여러 VPC에 연결할 수 있습니다 |
| Route 53 Resolver 인바운드 엔드포인트 | 온프레미스에서 AWS 쪽 이름을 질의할 수 있게 합니다 |
| Route 53 Resolver 아웃바운드 엔드포인트 | VPC에서 온프레미스 DNS로 질의를 전달합니다 |
Route 53 라우팅 정책 여덟 가지
| 정책 | 무엇을 기준으로 응답하는가 | 식별 멤버 | 고르는 신호 |
|---|---|---|---|
| 단순(Simple) | 레코드 하나를 그대로 응답합니다 | 없음 | 분기 조건이 전혀 없을 때 |
| 가중치 기반(Weighted) | 지정한 비율로 나눠 응답합니다 | Weight |
"신규 버전에 10퍼센트만", 카나리 배포, A/B 테스트 |
| 지연 시간 기반(Latency) | 질의자에게 지연이 가장 낮은 리전으로 보냅니다 | Region |
"가장 빠른 리전으로", 다중 리전 배포의 성능 |
| 장애 조치(Failover) | 주 대상이 비정상이면 보조로 보냅니다 | Failover + 상태 확인 |
"리전 장애 시 전환", 액티브-패시브 재해 복구 |
| 지리 위치(Geolocation) | 질의가 발생한 지역으로 판단합니다 | GeoLocation |
"국가별로 다른 콘텐츠", 규정에 따른 지역 분리 |
| 지리 근접(Geoproximity) | 질의 위치와 리소스의 위치를 함께 봅니다. 바이어스로 영역을 넓히거나 좁힙니다 | GeoProximityLocation |
"특정 리소스로 트래픽을 더 끌어오고 싶다" |
| 다중값 응답(Multivalue answer) | 여러 레코드를 무작위에 가깝게 응답하며 상태 확인을 연동합니다 | MultiValueAnswer |
"로드 밸런서 없이 여러 대상에 분산" |
| IP 기반(IP-based) | 질의자의 IP가 속한 CIDR 컬렉션으로 판단합니다 | CidrRoutingConfig |
"특정 인터넷 서비스 제공자 사용자를 지정 경로로" |
트래픽 통제 계층
| 통제 수단 | 적용 지점 | 허용·거부 | 이 수단이 답이 되는 요구 |
|---|---|---|---|
| 보안 그룹 | 인스턴스(ENI) | 허용만 · 상태 저장 | "웹 계층에서만 앱 계층에 접근" |
| 네트워크 ACL | 서브넷 | 허용과 거부 · 상태 비저장 | "특정 IP를 차단", 서브넷 공통 규칙 |
| AWS Network Firewall | VPC 경계 | 상태 저장 규칙 | 도메인 필터링, 침입 방지 규칙을 VPC 전체에 |
| AWS WAF | CloudFront · Application Load Balancer · API Gateway | HTTP 요청 규칙 | SQL 주입, 크로스 사이트 스크립팅, 속도 기반 차단 |
| AWS Shield | 엣지 | 디도스 완화 | "대규모 트래픽 공격" |
| Gateway Load Balancer | 트래픽 경로 중간 | 어플라이언스 삽입 | 서드파티 방화벽·침입 탐지 장비를 통과시켜야 할 때 |
| 엔드포인트 정책 | VPC 엔드포인트 | 통과 범위 제한 | "이 엔드포인트로는 특정 버킷만" |
포트와 프로토콜
| 프로토콜 · 서비스 | 포트 | 비고 |
|---|---|---|
| HTTP | 80 (TCP) | 프로토콜 표준 포트 |
| HTTPS | 443 (TCP) | 프로토콜 표준 포트 |
| SSH · SFTP | 22 (TCP) | 프로토콜 표준 포트. 리눅스 인스턴스 접속 |
| RDP | 3389 (TCP) | 프로토콜 표준 포트. Windows 인스턴스 접속 |
| DNS | 53 (TCP · UDP) | 프로토콜 표준 포트 |
| NFS | 2049 (TCP) | 프로토콜 표준 포트. Amazon EFS 마운트 |
| SMB | 445 (TCP) | 프로토콜 표준 포트. FSx for Windows File Server |
| RDS for MySQL · MariaDB | 3306 | Amazon RDS 기본값 |
| RDS for PostgreSQL | 5432 | Amazon RDS 기본값 |
| RDS for Oracle | 1521 | Amazon RDS 기본값 |
| RDS for Microsoft SQL Server | 1433 | Amazon RDS 기본값 |
| RDS for Db2 | 50000 | Amazon RDS 기본값 |
| Amazon RDS 포트 유효 범위 | 1150 ~ 65535 | Amazon RDS API 문서의 명시 범위 |
| GENEVE | 6081 | Gateway Load Balancer가 쓰는 프로토콜과 포트 |
| 임시 포트 범위 | 32768-65535 |
VPC 사용 설명서의 예제 네트워크 ACL이 쓰는 범위. 실제 범위는 클라이언트 운영체제가 정합니다 |
| 네트워크 ACL 규칙 번호 | 1 ~ 32766 | 낮은 번호부터 평가합니다 |
막히는 지점 점검 순서
"연결이 안 된다" 유형의 시나리오는 아래 순서로 좁히면 거의 언제나 답이 나옵니다. 위에서부터 하나씩 확인하고, 처음으로 어긋나는 지점이 원인입니다.
| 순서 | 확인할 것 | 전형적인 증상 |
|---|---|---|
| 1 | 라우팅 테이블에 목적지로 향하는 경로가 있는가 | 프라이빗 서브넷에 NAT 경로가 없어 아웃바운드가 전부 실패 |
| 2 | 보안 그룹 인바운드가 허용하는가 | 포트나 출발지가 빠져 있어 특정 계층만 실패 |
| 3 | 네트워크 ACL의 양방향이 허용하는가 | 아웃바운드에 임시 포트 범위가 없어 요청은 가는데 응답이 안 옴 |
| 4 | 이름이 해석되는가 | enableDnsSupport나 enableDnsHostnames가 꺼져 인터페이스 엔드포인트의 프라이빗 DNS가 동작하지 않음 |
| 5 | CIDR이 겹치지 않는가 | 피어링이나 온프레미스 연결이 애초에 성립하지 않음 |
| 6 | 전이 라우팅을 기대하고 있지 않은가 | 피어링 두 개를 거쳐 도달하려다 실패 |
| 7 | 가용 영역 단위 구성 요소가 자기 가용 영역을 가리키는가 | 한 가용 영역의 NAT 게이트웨이가 죽자 다른 가용 영역까지 중단 |
이어서 볼 곳
- 3장 · VPC 네트워킹 기초 CIDR 설계, 서브넷과 라우팅, 보안 그룹과 네트워크 ACL의 동작 원리를 다룹니다.
- 4장 · VPC 연결과 하이브리드 피어링, Transit Gateway, 엔드포인트, VPN과 Direct Connect를 설명과 다이어그램으로 다룹니다.
- 헷갈리는 쌍 비교 — 네트워크 보안 그룹과 네트워크 ACL, 엔드포인트 두 유형, 로드 밸런서 세 종류의 속성 대조표입니다.
- 서비스 선택 결정 트리 — 네트워크 연결 요구사항에서 출발해 질문과 분기로 연결 옵션을 좁힙니다.
- 보안과 암호화 트래픽 통제 위에 얹히는 자격 증명과 암호화 계층을 다룹니다.
- 요금 구조와 절감 — 경로 바꾸기 네트워크 경로 변경이 어느 과금 축을 줄이는지 확인합니다.
공식 문서 출처
- Amazon VPC 사용 설명서 — 라우팅 테이블 — 로컬 경로, 가장 구체적인 경로 우선, 대상의 종류
- Amazon VPC 사용 설명서 — 보안 — 보안 그룹과 네트워크 ACL의 공식 비교표, 임시 포트 범위 예제, 규칙 번호
- Amazon VPC 사용 설명서 — NAT 게이트웨이 — 가용 영역 단위 동작과 과금 축
- Amazon VPC 사용 설명서 — VPC의 DNS 속성
— 리졸버 주소,
enableDnsSupport와enableDnsHostnames - Amazon VPC 피어링 안내서 — 기본 사항 — 전이 라우팅 불가와 CIDR 중복 제약
- AWS Transit Gateway 안내서 — 허브 구조, 연결 유형, 라우팅 테이블
- AWS PrivateLink 개념 — 엔드포인트 유형과 적용 범위, 엔드포인트 정책
- AWS Site-to-Site VPN 사용 설명서 — IPsec 터널 구성과 가상 프라이빗 게이트웨이
- AWS Direct Connect 사용 설명서 — 전용 회선의 성격과 가상 인터페이스
- AWS Client VPN 관리자 안내서 — 개별 단말 연결과 인증 방식
- Amazon Route 53 API 레퍼런스 — ResourceRecordSet
— 라우팅 정책 여덟 가지의 식별 멤버와
SetIdentifier요구 조건 - Amazon Route 53 개발자 안내서 — Resolver — 인바운드와 아웃바운드 엔드포인트
- Amazon RDS API 레퍼런스 — CreateDBInstance — 엔진별 기본 포트와 유효 범위 1150–65535
- Elastic Load Balancing API 레퍼런스 — TargetGroup — GENEVE 프로토콜이 포트 6081을 쓴다는 서술
- AWS Resource Access Manager 사용 설명서 — 서브넷 공유