일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 네비게이션 한번에
- route 53
- 레포지토리
- unnest
- 패스파라미터
- 쿼리스트링
- 알림생성모듈
- 메뉴바
- 메뉴바 한번에
- 게시글 이미지
- 스테이지어스
- JSON Web Token
- JWT 쓰는이유
- 부트캠프
- getComputedStyle
- 이미지가 포함된 게시글
- secret코드
- Winston
- .env
- JWT 쓰는 방법
- 환경변수
- JWT
- 알림생성
- N+1문제
- N+1
- 토큰
- 3계층구조
- 포트번호
- element.style
- 게시글 이미지 업로드
- Today
- Total
기주
[AWS] VPC와 서브넷 본문
VPC(Virtual Private Cloud)
-가상의 데이터센터
-원하는 대로 사설망을 구축 가능
-부여된 IP 대역을 분할하여 사용 가능
-리전 단위
-VPC는 AWS 클라우드에서 다른 가상 네트워크와 논리적으로 분리되어 있다.

VPC 사용 사례
-EC2, RDS, Lambda 등의 AWS 컴퓨팅 서비스 실행
-다양한 서브넷 구성
-보안 설정(IP Block, 프라이빗 EC2 구성)
VPC 구성요소
-서브넷
-인터넷 게이트웨이
-NACL / 보안그룹
-라우트 테이블
-NAT Instance / NAT Gateway
-Bastion Host
-VPC Endpoint
서브넷
-VPC의 하위 단위. VPC에 할당된 IP를 더 작은 단위로 분할한 개념.
-하나의 서브넷은 하나의 가용영역(AZ) 안에 위치
-CIDR block range로 IP 주소 지정한다.
-> IPv4, IPv6
-IPv4의 경우 최소 /28이상 ~ 최대 /16 의 CIDR 블록 지정해줘야 된다.
-> 즉 호스트비트가 2^4=16에서 5를 뺀 11. 최소 11개 이상의 IP를 보유해야 한다.
여기서 5를 빼는 이유는 무엇인가?
AWS 서브넷에서 사용가능한 IP숫자는 5개를 빼고 계산한다.
예시)10.0.0.0/24라면,
-10.0.0.0: 네트워크 어드레스
-10.0.0.1: VPC Router
-10.0.0.2: DNS Server
-10.0.0.3: 미래에 사용을 위해 남겨둠.
-10.0.0.255(마지막 번호) : 네트워크 broadcast address(단 broadcast는 지원하지 않는다.(네트워크 내 모든 ip로 전송하기 불가))
서브넷에는 이렇게 기본 할당된 IP들이 있다.
즉 총 사용가능한 ip개수는 251개 (2^8=256 -5)
VPC Router
VPC에 있는 가상의 라우터로 서브넷에서 오고가는 트래픽을 라우팅
-> 즉 모든 서브넷의 트래픽은 VPC 라우터를 거쳐서 목적지에 도달한다
VPC 생성시 자동으로 생성되며 별도로 관리할 필요가 없음
-> 별도의 설정은 불가능하며 Route Table만 관리가능
Route Table(라우트 테이블)
VPC 라우터에서 트래픽이 어디로 가야할 지 알려주는 이정표
VPC 생성 시 기본으로 하나 제공
라우트 테이블 구성요소
-Destination: 트래픽이 가고자하는 주소
-Target: 트래픽을 실제로 보내줄 대상
논리적 리소스의 아이디로 표현
2개이상의 destination에 매칭된다면 가장 명확한 대상에 보낸다. 네트워크 주소가 제일 큰(호스트 주소가 제일 작은) 곳으로 보낸다.

예를들어 목적지가 10.0.1.231 주소로 요청이 왔다면 10.0.0.0/16과 0.0.0.0/0 모두에 해당된다.
이때 /16이 /0보다 크므로 호스트주소가 더 작으므로 0.0.0.0/0이 아닌 10.0.0.0/16으로 가게 된다.
목적지 8.8.8.8인 주소로 트래픽이 왔다면 0.0.0.0/0에만 해당하므로 인터넷 게이트웨이(igw)로 내보낸다.
서브넷의 종류
1.퍼블릭 서브넷
외부 인터넷을 통해 연결 가능한 서브넷
-인터넷 게이트웨이(IGW)를 통해 외부의 인터넷과 연결되어 있음
-안에 위치한 인스턴스에 퍼블릭IP부여 가능
-웹서버, 어플리케이션 서버 등 유저에게 노출되어야 하는 인프라
2.프라이빗 서브넷
외부에서 인터넷을 통해 연결할 수 없는 서브넷
-외부 인터넷으로 경로가 없음
-퍼블릭 IP부여 불가능
-DB, 로직 서버등 외부에 노출될 필요가 없는 인프라
인터넷 게이트웨이
-VPC가 외부의 인터넷과 통신할수 있도록 경로를 만들어주는 리소스
-기본적으로 확장성과 고가용성이 확보되어 있음
-IPv4, IPv6 지원
-> IPv4의 경우 NAT 역할
-Route Table에서 경로 설정후에 접근가능
-무료
-서브넷의 트래픽은 라우터를 거쳐서 이동한다. 이때 라우터 테이블을 참조하여 트래픽이 어디로 갈지 결정된다.
-라우터에 들어온 트래픽이 라우터 테이블에 해당되는게 없다면 그 트래픽은 거기서 사라진다.
-2개이상 해당된다면 더 명확한 목적지로 보낸다.
-프라이빗 서브넷에 붙어있는 라우터(라우트테이블)은 인터넷 게이트웨이와 연결되어있지 않다.

기본 VPC
AWS 계정 생성 시 자동으로 생성되어 있는 VPC
-기본적으로 각 AZ마다 서브넷을 생성
-모든 서브넷에 인터넷 접근이 가능함(퍼블릭 서브넷)
-다양한 AWS 서비스가 기본 VPC를 기용하기 때문에 삭제시 여러 AWS 서비스의 사용에 제약 (삭제안하는게 좋다)
커스텀 VPC
직접 생성한 VPC
-기본적으로 인터넷에 연결되어있지 않다.
-인터넷 게이트웨이와 라우팅 설정 없이 퍼블릭 서브넷 생성 불가능하다.
-즉 별도의 조치없이 인터넷으로 연결 가능한 EC2 생성 불가능하다.
'devops > AWS' 카테고리의 다른 글
[AWS] 보안그룹 알아보기 (0) | 2025.02.21 |
---|---|
[AWS] AWS S3 / CloudFront 를 이용해서 정적 웹서비스 배포하기 (0) | 2024.12.14 |
[AWS]EC2 용량(스토리지)확장하기 (0) | 2024.12.10 |
[AWS] AWS ECR을 활용해서 EC2에서 도커로 배포하기-2 (0) | 2024.12.08 |