[AWS] VPC Components를 알아보자

구동현·2024년 5월 29일

VPC Components

위와 같은 Service Diagram을 이해하게 된다면, 목표를 달성한 것이다.

우리 서비스의 Service Diagram에서 IGW나 RouteTable, ALB, NAT 등 많은 부분도 이해할 수 있을 것이다.


CIDR

Classless inter-Domain Routing, 사이더라고 하기도 합니다.

IP주소는 192.218.6.37 이렇게 네개의 숫자들이 모여 이루어지는데, CIDR은 IP의 범위로 이해하는 것이 좋습니다.

xx.xx.xx.xx/y 이런 식으로 표기가 되는데, xx.xx.xx.xx가 Base IP가 되고, y는 subnet mask가 됩니다.

Subnet Mask

/32는 하나의 ip를 가집니다.

/31의 경우는 255.255.255.0, 255.255.255.1 이렇게 두개의 IP를 가집니다.

/30은 4개의 IP

/29는 8개의 IP

/24는 256개의 IP를 가지며 255.255.255.0부터 255.255.255.255의 범위를 생각하시면 됩니다.


VPC

Virtual private cloud

CIDR로 생성한 일정 IP의 범위

10.0.0.0/16(10.0.0.0 ~ 10.0.255.255)으로 설정하는 것을 예를 들어서, 이후 subnet등을 지정해주겠습니다.


Subnet

CIDR을 생성하고 사용가능한 IP의 개수를 조회하면 예상보다 5개가 적은것을 알 수 있다.

xx.xx.xx.0은 network adress

xx.xx.xx.1은 VPC router

xx.xx.xx.2는 DNS를

xx.xx.xx.3은 미래를 위해 대비

xx.xx.xx.255는 network broadcast address를 위함이다.

그래서 xx.xx.xx.0/27을 설정해둔다면 계산상으로는 32개가 나오지만, 실제로는 27개의 IP를 사용할 수 있게 된다.

예로 public subnet 2개와 private subnet 2개를 생성할텐데,

public subnet은 10.0.0.0/24, 10.0.1.0/24로 낮은 폭을 설정해둔다. 왜냐면 public에는 nat gateway등만 들어가면 되기 때문이다.

private은 10.0.16.0/20, 10.0.32.0/20으로 설정해 두었다.

private subnet안에는 보호해야할 EC2인스턴스 등이 들어갈 예정이다.


IGW

Internet gateway

1 VPC 당 1 IGW가 된다.

public subnet에 route table을 생성해서 인터넷 게이트웨이와 연결해준다.

VPC안에 들어오려는 트래픽은 이 곳을 거쳐야한다.


Route table

subnet과 gateway를 연결해준다.


Bastion host

EC2 instance이다.

public subnet에 위치하며, private subnet에 SSH로 엑세스가 가능하게 해준다.


NAT instance

이것도 EC2 instance로 public subnet에 위치한다.

역할은 private subnet에 위치한 instance가 NAT instance를 거쳐서 외부 인터넷으로 들어가게 해준다.

Bastion host의 반대?

Bastion host와 같이 public → private으로 들어가게 해주는 역할도 할 수 있다.

단 가용성이 낮아서 NAT instance보다는 NAT Gateway가 선호된다.


NAT Gateway

고가용성이다.

Bastion Host로 사용이 불가능 하다.

이 모든 설정을 하게되면 다음과 같은 리소스맵이 나와야한다. + NAT 게이트웨이가 네트워크 연결에 존재해서 private과 연결되어야 한다.

추가로, AWS의 VPC관련된 서비스를 알아보도록 하겠다.


NACL (Network Access Control List)

  • 정의: 서브넷 단위로 적용되는 방화벽 역할을 하는 네트워크 접근 제어 목록.
  • 특징:
    • 서브넷당 하나 생성된다.
    • 방화벽과 같은 역할을 한다.
    • 인바운드와 아웃바운드 규칙이 존재하며, 적절한 수정이 필요하다.
    • Stateless: 각 요청과 응답이 독립적으로 처리됨.
    • 임시 포트: 다수의 임시 포트를 처리할 수 있음.

VPC Peering

  • 정의: 두 개의 VPC 간의 네트워크 트래픽을 직접 연결하여 소통할 수 있게 하는 기능.

VPC Endpoint

  • 정의: 인터넷을 거치지 않고 특정 AWS 서비스(S3, CloudWatch 등)에 접근할 수 있는 프라이빗 연결.
  • 종류:
    • Gateway Endpoint: 주로 S3와 DynamoDB에 사용.
    • Interface Endpoint: AWS PrivateLink를 통해 다양한 서비스에 대한 프라이빗 연결 제공.
  • 특징: 주로 Gateway Endpoint가 사용되며, 온프레미스에서의 복잡한 접근이 필요할 경우 Interface Endpoint를 사용하기도 함.

VPC Flow Logs

  • 정의: VPC, 서브넷, ENI(Elastic Network Interface) 수준에서 네트워크 트래픽을 모니터링하고 문제를 진단할 수 있는 로그.
  • 특징:
    • CloudWatch Logs나 S3로 로그를 전송하여 저장.
    • 저장된 로그는 Athena로 분석 가능.

VPN Site-to-Site

  • 정의: AWS VPC와 외부 데이터센터 또는 온프레미스 네트워크 간의 안전한 연결.

Direct Connect

  • 정의: 외부 데이터센터와 AWS VPC 간의 전용 프라이빗 연결.
  • 특징: 빠르고 비용 효율적이지만 설치 기간이 오래 걸릴 수 있음.
  • 백업: Site-to-Site VPN을 백업용으로 설정하면 좋음.

Transit Gateway

  • 정의: 다수의 VPC 및 온프레미스 네트워크를 중앙에서 연결하고 관리할 수 있는 서비스.
  • 특징: 여러 VPC와 외부 서버를 효율적으로 연결할 수 있음.

VPC Traffic Mirroring

  • 정의: 네트워크 트래픽을 캡처하고 모니터링할 수 있는 기능.
  • 특징: 보안을 강화하며 성능에 영향을 주지 않음.

IPv6

  • 특징:
    • IPv4는 비활성화할 수 없지만, IPv6를 추가로 설정할 수 있음.
    • IPv4 주소가 부족한 경우 새로운 CIDR 블록을 추가하여 해결.

Egress-Only Internet Gateway

  • 정의: IPv6 트래픽에 대해 NAT 없이 아웃바운드 인터넷 접근을 제공.

비용 관련 사항

  • EC2 Inbound 트래픽: 무료.
  • EC2 간 Private IP 트래픽: 무료.
  • EC2 간 트래픽(다른 AZ): 유료, public보다 private이 저렴.
  • 비용 최적화:
    • AWS Cloud 내에서 문제 해결.
    • S3-CloudFront-Internet이 S3-Internet보다 저렴.
    • EC2-S3 연결에서 NAT 대신 Gateway VPC Endpoint 사용 시 비용 절감.

AWS Network Firewall

  • 정의: AWS VPC의 트래픽을 보호하는 관리형 방화벽 서비스.
  • 특징: 모든 트래픽을 보호하여 네트워크 보안을 강화함.
profile
개발합시다

0개의 댓글