aws

[AWS]VPC (1)

하리하링웹 2024. 7. 9. 19:09

Amazon VPC 개요

Amazon Virtual Private Cloud (VPC)는 AWS 클라우드에서 논리적으로 격리된 네트워크를 생성할 수 있도록 지원하는 서비스이다. VPC는 네트워크 계층에서 EC2 인스턴스와 기타 AWS 리소스를 포함할 수 있게 도와준다. VPC는 단일 AWS 리전 내에서만 존재할 수 있으며, 네트워크 하드웨어를 사용하지 않고 소프트웨어 기능을 통해 라우터, 스위치, VLAN 등을 추상화하여 제공한다.

 

VPC CIDR 블록

CIDR 블록은 VPC 내의 인스턴스 및 리소스에 할당되는 IP 주소를 결정한다.

AWS에서 사용 가능한 CIDR 범위

  • 10.0.0.0 ~ 10.255.255.255 (10.0.0.0/8)
  • 172.16.0.0 ~ 172.31.255.255 (172.16.0.0/12)
  • 192.168.0.0 ~ 192.168.255.255 (192.168.0.0/16)

예약 주소 목록 (172.16.100.0 네트워크 가정)

  • 172.16.100.0
  • 172.16.100.1 - 라우터용
  • 172.16.100.2 - Amazon 제공 DNS 서버용
  • 172.16.100.3 - 예비로 예약
  • 172.16.100.255

Elastic Network Interface (ENI)

ENI는 인스턴스가 다른 AWS 서비스, 인스턴스, 온프레미스 서버 및 인터넷 등과 통신할 수 있도록 도와준다. 각 인스턴스는 서브넷 범위 내의 기본 Private IP 주소를 가지며, 이는 ENI와 연결된다. 보조 Private IP 주소도 ENI가 부착된 서브넷 범위 내에 있어야 한다.

ENI 부착

ENI는 인스턴스와 독립적으로 존재할 수 있으며, 생성 후 인스턴스에 부착할 수 있다.

성능 강화 네트워크

성능 강화 네트워크는 고속 네트워크 처리 및 저지연성을 제공하며, 단일 루트 입출력 가상화(SR-IOV) 기법을 사용하여 더 나은 성능을 제공한다.

 

인터넷 게이트웨이

인터넷 게이트웨이는 public IP 주소를 가진 인스턴스를 인터넷과 연결한다. VPC에는 하나의 인터넷 게이트웨이만 연결할 수 있다. 인터넷 게이트웨이를 사용하려면 라우트 테이블에 인터넷 게이트웨이를 타겟으로 하는 기본 경로를 생성해야 한다.

 

라우트 테이블

VPC의 트래픽을 송수신 하려면 라우트 테이블에 저장된 라우트를 사용해야 한다. VPC에서는 IP 라우팅을 소프트웨어 함수로 구현한 내제된 라우터를 사용한다. 즉 인터페이스 IP 주소를 설정할 가상의 라우터도, BGP와 같은 동적 라우팅 프로토콜도 없기에 사용자는 내제된 라우터가 사용할 라우트 테이블만 관리하면 된다.

 

라우트 생성 시 설정해야하는 요소

  • 대상 주소 IP prefix
  • 타겟 리소스

기본 설정 라우트

인터넷을 통해 인스턴스 접근을 하기 위해 기본 라우트를 생성한 뒤 인터넷 게이트웨이로 향하도록 해야한다. 기본 라우트는 인터넷 트래픽의 서브넷에 대한 이동 유무를 결정한다.

0.0.0.0/0 prefix는 모든 IP 주소를 사용한다는 의미이며 기본 라우트는 항상 이 값으로 설정된다.

보안 그룹

security group은 방화벽과 같은 기능을 하며 인스턴스 ENI에 대한 트래픽 유입, 유출 유무를 제어한다.

모든 ENI는 최소 하나 이상의 security group과 연결되어 있어야 한다.

인바운드 규칙

인바운드는 ENI에 유입되는 트래픽 허용 여부를 결정하며 아래는 필수 요소이다.

  • 소스
  • 프로토콜
  • 포트 범위

보안 그룹은 white listing이라 부르는 default-deny 방식을 사용하기에 규칙에 명시되지 않은 모든 트래픽을 거부한다.

아웃바운드 규칙

아웃 바운드는 ENI에서 유출되는 트래픽 허용 여부를 결정한다. 아래는 필수 요소이다.

  • 대상주소
  • 프로토콜
  • 포트범위

아웃바운드 규칙은 인바운드 규칙에 비해 제약 수준이 좀 더 낮은 경우가 많다. 보안 그룹 생성 시 0.0.0.0/0, ALL, ALL을 기본으로 생성해 인스턴스가 인터넷 및 다른 AWS 리소스에 접근 가능하도록 만들어준다.

 

stateful firewall

보안 그룹은 stateful firewall 기능을 제공한다. 이는 보안 그룹이 트래픽을 한 방향으로 전달하는 것을 허용한 뒤 반대의 응답 트래픽을 상태를 기억했다가 알아서 허용하는 것을 의미한다. 예를 들어 보안그룹이 인터넷으로 유츨되는 아웃 바운드 트래픽을 허용했다면 응답 트래픽도 자동으로 허용한다.

 

Network Access Control List(NACL)

이는 소스, 대상주소, CIDR, 프로토콜, 포트 기반 인바운드, 아웃바운드 규칙을 제공한다는 측면에서 보안그룹과 같은 방화벽 기능을 수행하며 각 VPC에는 삭제 불가능한 기본 NACL이 있다.

NACL이 보안 그룹과 다른 점은 ENI가 아닌 서브넷에 연결되고 해당 서브넷으로 유입, 유출되는 트래픽을 제어한다. 즉 서브넷 간의 트래픽은 보안 그룹을 통해 제어된다.

서브넷에는 하나의 NACL만 연결 가능하며 서브넷 생성 시 기본 NACL이 서브넷에 연결된다. NACL은 stateless 속성을 지녀 연결 상태를 추적하지 않는다. 즉 트래픽을 자동으로 제어하지 않는다.

인바운드 규칙

인바운드 규칙은 다음 내용이 포함된다.

  • 규칙 번호
  • 프로토콜
  • 포트 범위
  • 소스 CIDR
  • 동작 (허용, 거부)

NACL 규칙은 규칙 번호의 오름차순 순서로 처리된다.

아웃바운드 규칙

아웃바운드 규칙은 다음 내용이 포함된다.

  • 규칙 번호
  • 프로토콜
  • 포트 범위
  • 소스
  • 동작

퍼블릭 IP 주소

퍼블릭 IP 주소는 인터넷 접속이 가능한 주소이다.

다른 사용자가 인터넷을 통해 인스턴스에 직접 접속하려면 퍼블릭 IP주소가 필요하며 이를 위해 인스턴스가 포함된 VPC에 인터넷 게이트웨이를 연결해야 한다.

Elastic IP Address(EIP)

사용자 요청에 따라 AWS 사용자의 계정에 할당하는 퍼블릭 IP 주소이다. 계정에 EIP가 할당되면 해당 주소를 독점하여 사용할 수 있다. EIP와 public IP간에는 외부에서 봤을 때 차이가 없이 동일하게 동작한다.

생성 시 직접 EIP를 ENI와 연결해야하며 이미 퍼블릭 IP 주소가 할당된 ENI에 EIP를 연결하면 AWS가 자동으로 퍼블릭 IP 주소를 EIP로 변경해준다.

EIP는 리전 단위로 제공되며 리전을 벗어날 수 없다.

 

AWS 글로벌 엑셀러레이터

AWS의 여러 리전에 리소스가 배포되어 있을 때 리전 별 EIP 관리가 힘들어진다. AWS 글로벌 엑셀러레이터를 통해 두 개의 정적 IPv4 주소를 제공받아 어떤 리전에 있는 리소스라도 연결이 가능해진다.

이는 30여 개국에 퍼져 있는 AWS 접속 포인트(POP)를 연결한 정적 주소 체계이며 동시에 다수의 접속 포인트 연결이 가능하므로 anycast address로도 부른다.

정적 주소로 연결된 사용자는 자동으로 인접 POP로 라우팅된다.

 

https://jjongsk.tistory.com/entry/AWSVPC-2

'aws' 카테고리의 다른 글

[AWS]데이터베이스 (1)  (0) 2024.07.16
[AWS]VPC (2)  (0) 2024.07.13
[AWS]스토리지 (2)  (0) 2024.07.01
[AWS]스토리지(1)  (0) 2024.06.28
[AWS]Compute Service(2)  (0) 2024.06.23