| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- HashMap
- QueryDSL
- ReverseNested
- UserLand
- OpenSearch
- DevOps
- Level2
- 프로그래머스
- 가용영역
- 회고
- 3계층 아키텍처
- React
- 글또10기
- 글쓰기세미나
- 다짐글
- 코딩테스트
- builder-pattern
- constructor
- 글또
- 레벨1
- axios
- object-creation
- static-factory-method
- 클린 아키텍처
- SpringBoot
- 코엑스그랜드볼룸
- design-pattern
- 헥사고날 아키텍처
- 포트앤어댑터 아키텍처
- 클라우드아키텍처
- Today
- Total
oguri's garage
AWS VPC 환경에 대한 정리(feat. Amazon VPC 네트워킹 원리와 보안) 본문
AWS VPC 개념 정리 - Amazon VPC 네트워킹 원리와 보안
AWS를 잘 다루고 싶은데 가장 기본으로 알아야하는 개념이 무엇일까 생각했을 때 VPC라는 개념을 바탕으로 서비스를 이해해야 한다고 생각했고, 책 한 권을 사게 되었다.
"Amazon VPC 네트워킹 원리와 보안"
클라우드 인프라와 네트워크에 대해서 관심이 있던 찰나에 좀 더 깊게 공부해보고 싶어 별다른 고민 없이 구매하게 되었다.
크게 챕터로는 "AWS 네트워킹 개요"를 먼저 설명하고, AWS의 네트워크, 컴퓨팅 서비스 그리고 연결 등에 대해서 설명하는 순서로 이어졌다.
오늘은 그 중 1부에 해당하는 "개요"에 대해서 정리해보자.
AWS의 전체 서비스는 네트워킹 여부와 VPC를 기준으로 다음과 같이 구분된다
일단 가장 먼저 이 책이 소개하는 개념으로 다음과 같이 트리 구조로 확인이 가능하다.

인스턴스나 RDS 같이 가상 머신에 네트워크 인터페이스를 연결해 통신해야만 하는 서비스를 "VPC 네트워킹 필수 서비스"라 하고, 이를 선택할 수 있는 경우를 네트워크 인터페이스가 연결되거나 되지 않을 수 있는 서비스를 "VPC 네트워킹 선택 가능 서비스"라고 한다.
예를 들어:
- VPC 네트워킹 필수 서비스: EC2, RDS, EFS, ElastiCache 등
- VPC 네트워킹 선택 가능 서비스: Lambda, S3(VPC 엔드포인트를 통해), API Gateway 등
- VPC 네트워킹 미사용 서비스: Route 53, CloudFront, IAM 등
네트워크 인터페이스(ENI)의 존재가 VPC 네트워킹 사용 여부를 결정한다
위에서 언급된 "네트워크 인터페이스"의 존재가 VPC 네트워킹을 사용하고 있다/아니다를 구분할 수 있다고 볼 수 있다.

살펴보면,
- 네트워크 인터페이스는 보안 그룹과 서브넷을 전제로 존재하고,
- 서브넷은 VPC를 전제로 존재한다.
- 또, 서브넷이 생성되면서 네트워크 ACL과 라우팅 테이블에 자동 연결돼 VPC 통제를 받는다.
- VPC의 존재는 가용 영역과 리전을 전제로 한다.
즉, 네트워크 인터페이스를 사용한다는 것은 VPC 네트워킹 서비스를 사용한다고 볼 수 있다.
네트워크 인터페이스는 서비스 > EC2 > 네트워크 인터페이스에서 확인이 가능하다.
VPC 네트워킹의 3요소: "공간", "연결", "컴퓨팅"
VPC 네트워킹을 이해하는 핵심은 "공간", "연결", "컴퓨팅" 이라는 세 가지 요소다. AWS 네트워킹의 콘셉이자 크게는 클라우드 서비스의 핵심이라고도 생각이 든다.
이를 비유로 설명하면, 아파트 단지를 건설하는 것과 같다:
- 서비스를 생성할 "공간": 토지(리전), 구역(VPC), 동(가용영역), 층과 호수(서브넷)
- 예) VPC, 서브넷, 가용영역
- 공간 사이를 이어주는 "연결": 도로, 엘리베이터, 복도
- 예) 인터넷 게이트웨이, NAT 게이트웨이, 라우팅 테이블, VPC 피어링
- 공간에서 실제 활동하는 "컴퓨팅": 거주자들과 그들의 활동
- 예) EC2 인스턴스, RDS, Lambda
VPC 네트워킹 구성 요소의 포함 관계
VPC 네트워킹의 첫번째 요소인 공간은 5개 요소로 구분할 수 있다.
- 계정, 리전, VPC, 가용 영역, 서브넷
계정과 리전

계정은 다양한 리전을 선택해 사용할 수 있다. 하나의 AWS 계정으로 전 세계 모든 리전에 리소스를 생성할 수 있다.
리전과 VPC

중요한 점: VPC는 여러 리전에 걸쳐 생성할 수 없고, 각각의 리전별로 별도의 VPC를 운영해야 한다. 즉, VPC는 리전별로 격리되어 있다.
예를 들어:
- 서울 리전(ap-northeast-2)에 VPC-A
- 도쿄 리전(ap-northeast-1)에 VPC-B
이 둘은 완전히 분리된 네트워크이며, 연결하려면 VPC 피어링이나 Transit Gateway 등을 사용해야 한다.
리전과 가용 영역

가용 영역(Availability Zone, AZ)은 리전을 세분화해 격리시킨, 가용성을 보장하기 위한 물리적으로 분리된 데이터센터다.
하나의 리전 안에 여러 가용 영역이 존재한다.
예를 들어, 서울 리전에는:
- ap-northeast-2a
- ap-northeast-2b
- ap-northeast-2c
- ap-northeast-2d
4개의 가용영역이 있다.
VPC와 가용 영역

VPC는 하나의 리전 전체에 걸쳐 있으며, 그 리전 내의 모든 가용영역을 포함할 수 있다. VPC 자체는 가용영역을 선택하지 않지만, VPC 내부의 서브넷은 특정 가용영역에 속해야 한다.
서브넷과 VPC, 서브넷과 가용 영역

서브넷은 VPC 내에서 IP 주소 범위를 나누는 단위이며, 반드시 하나의 가용영역에만 속할 수 있다. 하나의 서브넷이 여러 가용영역에 걸쳐 있을 수는 없다.
서브넷은 VPC와 가용 영역 모두에 포함된다:
- VPC 10.0.0.0/16 안에서
- ap-northeast-2a 가용영역에 위치한
- 10.0.1.0/24 서브넷
종합하면 다음과 같다

이러한 계층적 구조를 통해 AWS는 높은 가용성과 내결함성을 제공하며, 사용자는 필요에 따라 지리적으로 분산된 인프라를 구축할 수 있다.
참고
- 해당 글은 어떠한 수익도 창출하지 않으며 오로지 교육 목적으로 작성되었습니다. 보다 자세하고 정확한 내용을 학습하기 위해서는 "Amazon VPC 네트워킹 원리와 보안" 원서를 읽을 것을 강력히 권장합니다.