자체 데이터 센터에서 운영하는 기존 네트워크와 유사한 가상의 네트워크를 의미.
우리는 AWS VPC를 사용하여 논리적으로 격리된 가상 네트워크를 구성하고 그 네트워크 안에서 AWS 리소스를 사용할 수 있게 되는 것!
Ipv4 CIDR 블록
💡10.0.0.0/16 으로 생성
-> 10.0.0.0 ~ 10.0.255.255 IP 주소 범위를 가지게 된다는 것을 의미
VPC의 네트워크 주소: 10.0.0.0
최소 호스트 주소: 10.0.0.1
최대 호스트 주소: 10.0.255.254
브로드캐스트 주소: 10.0.255.255
👉 VPC 내에서 여러 서브넷을 생성하거나 다양한 리소스에 IP 주소를 할당할 수 있으며, 10.0.0.1부터 10.0.255.254까지의 주소 범위에서 가능!
테넌시
VPC 리소스의 전용 하드웨어에서의 실행 여부를 뜻
하드웨어가 공유 하드웨어를 사용할 것인지 혹은 전용 하드웨어를 사용할 것인지를 선택하는 항목
전용을 선택할 경우 VPC 내의 인스턴스는 항상 전용 하드웨어에서 전용 인스턴스로 실행되며 별도 비용이 추가되게 됨!
가용 영역(Availability Zone)이란 AWS 하나의 리전 내에 중복 전원, 네트워킹 및 연결이 있는 하나 이상의 개별 데이터 센터를 의미.
여러 AZ를 사용하면 높은 가용성과 내결함성 및 확장성을 갖출 수 있게 되며, 가용영역이 다르면 독립되었음을 보장할 수 있으므로 가용 영역별로 서브넷을 제공하면 여러 서브넷을 동시에 이용하지 못하는 가능성을 낮출 수 있다.
서브넷 4개 (private 2개, public 2개) 생성
Ipv4 서브넷 CIDR 블록
💡10.0.1.0/24 으로 생성
-> 10.0.1.0 ~ 10.0.1.255 IP 주소 범위를 가지게 된다는 것을 의미
public1,2 와 private1,2 를 10.0.1.0/24 ~ 10.0.1.4/24 로 생성
public1 , private1 는 ap-northeast-2a
public2 , private2 는 ap-northeast-2c
VPC 에서 생성된 네트워크와 인터넷 사이의 통신 수행
작업에서 VPC 연결을 설정해주고 Attached 상태가 되는것을 확인
public 1, 2 에 NAT 게이트 웨이 설정
subnet 사이의 통신 경로 설정을 위한 요소, 특정 서버에 접속할 때 꼭 경유해야 할 정보 보유, 모든 서브넷에 라우팅 table 작성해야 함!
속한 테이블
vpc 를 선택하여 생성하고 라우팅 편집
로컬 라우팅 (Local Route) 10.0.0.0/16
- 대상(Target): VPC의 CIDR 블록 (예: 10.0.0.0/16)
- VPC 내부의 로컬 트래픽을 처리.
- 모든 VPC 내부 통신은 VPC의 CIDR 블록을 통해 이 라우트에 의해 처리되는 것을 의미
인터넷 라우팅 (Internet Route) 0.0.0.0/0
- 대상(Target): 인터넷 게이트웨이의 ID 또는 인터넷 게이트웨이 자체
- 인터넷으로 나가는 트래픽을 처리.
- 대상이 "0.0.0.0/0"이므로, 모든 목적지로 가는 트래픽은 이 라우트를 통해 인터넷 게이트웨이로 전달되는 것을 의미.
NAT 게이트웨이 라우팅 (NAT Gateway Route):
- 대상(Target): NAT 게이트웨이의 ID 또는 NAT 게이트웨이 자체
- 프라이빗 서브넷에 있는 인스턴스들이 외부로 나가기 위해 사용하는 라우팅 규칙. 대상이 "0.0.0.0/0"이므로, 모든 목적지로 가는 트래픽은 이 라우트를 통해 NAT 게이트웨이로 전달
VPC 리소스맵 구조
퍼블릭 서브넷: 점프 서버 (Bastion Host)가 위치하는 서브넷. 외부에서 SSH와 같은 프로토콜을 이용하여 이 서버에 접속할 수 있음.
프라이빗 서브넷: 보안상의 이유로 직접 외부로 노출되지 않는 서브넷. 실제 웹 서버, 데이터베이스 서버 등이 위치할 수 있음.
EC2 인스턴스 생성시 VPC, 서브넷, 보안 그룹 설정 가능