VPC
- 네트워크 계층
- EC2 인스턴스를 비롯한 여러 AWS 서비스의 리소스를 담을 수 있는 가상 네트워크
- 한 AWS 리전 안에서만 존재할 수 있고, 한 리전에 만든 VPC는 다른 리전에서는 보이지 않음
- 네트워킹이 가능하도록 만들어주는 서비스
- 연속적인 IP 주소 범위로 구성 => CIDR 블록으로 표시
- 10.0.0.0/8 => 10.0.0.0 ~ 10.255.255.255
- 172.16.0.0/12 => 172.16.0.0 ~ 172.31.255.255
- 192.168.0.0/16 => 192.168.0.0 ~ 192.168.255.255
서브넷 (subnet)
- VPC 내 논리 컨테이너
- EC2 인스턴스를 배치하는 장소 = 인스턴스는 서브넷 안에 위치
- 한번 서브넷이 인스턴스를 생성하면 다른 서브넷으로 옮길 수 없음
- 인스턴스를 종료하고 다른 서브넷에 새 인스턴스를 만들 수는 있음
- 인스턴스를 서로 격리하고, 인스턴스 간의 트래픽 흐름을 제어하고, 인스턴스를 기능별로 묶을 수 있음
- 서브넷 CIDR 블록
- VPC의 일부, VPC내에서는 고유(unique)해야함
- 모든 서브넷에서 처음 4개의 IP와 마지막 1개는 예약되어 있으므로 인스턴스에 할당할 수 없음
예 : 서브넷 CIDR이 172.16.100.0/24 인 경우 => 172.16.100.0 ~ 172.16.100.3 , 172.16.100.255는 할당X
- 서브넷은 하나의 가용 영역(Availability Zone, AZ) 내에서만 존재할 수 있음
ENI (Elastic Network Interface : 탄력적 네트워크 인터페이스)
- 물리 서버의 네트워크 인터페이스와 같은 기능을 수행
인터넷 게이트웨이(igw)
- 퍼블릭 IP주소를 할당받은 인스턴스가 인터넷과 연결돼서 요청을 수신할 수 있도록 기능을 제공
- 처음 VPC를 만들면 인터넷 게이트웨이가 연결되어있지 않음 -> 직접 인터넷 게이트웨이를 만들고 VPC와 연결해야함
- 하나의 VPC는 하나의 인터넷 게이트웨이만 연결할 수 있음
라우팅
- 네트워크 공간에서 어떤 소스가 타겟을 찾아가는 과정
- VPC는 소프트웨어 함수로 IP라우팅을 구현 => 사용자는 라우팅 테이블만 관리
- 라우팅 테이블 -> 하나 이상의 라우팅과 하나 이상의 서브넷 연결로 구성
- 기본 라우팅 : 인터넷 게이트웨이를 가리키는 라우팅
대상 주소 대상
0.0.0.0/0(인터넷상의 모든 호스트IP를 기반) igw-xxxxxxxxx(인터넷 게이트웨이)
- 기본 라우팅이 포함된 라우팅 테이블과 연결된 서브넷 => 퍼블릭 서브넷
- 기본 라우팅이 포함된 라우팅 테이블과 연결되지 않은 서브넷 => 프라이빗 서브넷
대상 주소 대상
172.31.0.0/16 LOCAL
0.0.0.0/0 igw-xxxxxxxxx
198.51.100.50 으로 패킷을 보낼려고 하면, ....
라우팅 할 위치와 가장 근접하게 일치하는 항목을 기반으로 라우팅을 처리하므로,
인터넷 게이트웨이로 라우팅 됨 ==> 라우팅 테이블의 항목들간의 순서는 중요하지 않음
보안 그룹
- 방화벽과 같은 기능을 제공
- 인스턴스의 ENI에서 송수신하는 트래픽을 허가 또는 제어
- 모든 ENI는 최소 한 개 이상의 보안 그룹과 연결돼야 하고, 보안그룹은 여러 ENI와 연결될 수 있음(N:N관계 가능)
- 생설할 때 보안그룹 이름, 설명, 포함될 VPC를 지정하고, 생성 후에 인바운드, 아웃바운드 규칙을 지정 => 트래픽 허용
- 상태저장 방화벽 역할 => 보안 그룹이 트래픽을 한 방향으로 전달되도록 허용할 때 반대 방향의 응답 트래픽을 지능적으로 허용 (예: 웹 클라이언트에서 HTTPS로 요청을 허용했다면, 요청에 대한 응답도 허용)
NACL(Network Access Control List)
- 보안그룹과 유사
- 원본 또는 대상 주소, CIDR, 프로토콜, 포트를 기반으로 트래픽을 인바운드, 아웃바운드 규칙으로 제어
=> 방화벽과 같은 역할
- VPC에 삭제할 수 없는 기본 NACL이 있음
- 서브넷에 연결되어 해당 서브넷과 송수신되는 트래픽을 제어
- 상태 비저장 방화벽
- NACL을 통과한 연결 상태를 추적하지 않는다.
- 모든 인바운드와 아웃바운드 트래픽의 허용 규칙을 별도로 작성해야 함
- 규칙을 적용할 때 규칙 번호의 오름차순으로 처리
'컴퓨터 기본 개념' 카테고리의 다른 글
아파치(apache) VS 엔진엑스(nginx) (0) | 2020.10.12 |
---|---|
웹 서버(WS) VS 웹 어플리케이션 서버(WAS) (0) | 2020.10.12 |
리다이렉트(Redirect) & 포워드(Forward) (0) | 2020.10.05 |
보안 개념 3가지 (0) | 2020.10.05 |
프론트기술을 배워야 하는 이유 (0) | 2020.08.24 |