본문 바로가기

Networking

[이론] Amazon VPC 구성요소 기본 개념

반응형

안녕하세요 서후아빠입니다. ^_^

이번 세션은 AWS VPC 구성요소에 대하여 업무적으로 필요한 최소한의 개념에 대해서 간단히 정리해 보았습니다.

 


VPC

논리적으로 격리된 공간, 가상 네트워크 (IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블, 게이트웨이 구성 등)

VPC Flow Log

  - 리소스에서 생성 : Security Group에 접근하는 로그 (기존 방화벽로그 역할)

  - IP 트래픽(VPC, Subnet, ENI, NAT GW, IGW) 수집하여 허용/거부 등 지정하거나 S3 or CloudWatch로 전송

  - 수집되지 않는 트래픽 : AWS DNS 통신, AWS 윈도우 라이선스 인증, DHCP, 기본 VPC 라우터 예약, AWS NTP 동기 화, 인스턴스 메타데이터 관련

  - 생성 후 약 15분 뒤부터 CloudWatch에 Logs가 쌓이기 시작

Subnet

VPC 하위 단위, 하나의 AZ(가용영역)에 생성된 Subnet은 다른 AZ로 확장 불가능하며, 하나의 AZ에는 여러 개 다른 Subnet 생성 가능
Public Subnet : 인터넷 접근 가능,  각 리소스가 공인IP 보유, 라우팅 테이블에 0.0.0.0/0의 목적지를 생성한 IGW로 지정

Private Subnet : 인터넷 접근 불가능

IGW (Internet Gateway)

Public subnet에 있는 리소스(EC2, ELB, Endpoint, NAT Gateway 등)가 인터넷과 연결되는 통로(=논리적인 의미)로써 고가용성이 보장되고 VPC별로 1개만 연결 가능

Resources가 Public IP를 부여받더라도 VPC에 IGW가 연결되지 않으면 통신이 되지 않습니다. 

NAT Gateway

Private subnet에 있는 리소스가 인터넷으로 나갈 때 사용 (들어오는 용도 불가)하며, 고가용성과 성능이 보장되고, Security Group 영향은 받지 않습니다.

[private subnet에 있는 priA-ec2가 인터넷 통신하는 순서]

priA-ec2가 인터넷 통신을 위해 패킷을 출발하게 되면 아래처럼 전달이 됩니다. 
  ① priA-ec2에서 출발한 패킷은 라우팅 테이블(priA-rt)을 참조하여 pubA-sn에 있는 natA로 이동하게 됩니다. 
  ② natA는 패킷을 받아서 라우팅 테이블(pubA-rt)을 참조하여 igwA로 전달하여 인터넷으로 나가게 됩니다.

VPC간 Peering 연결

Transitive Peering 통신 불가능(vpcA > vpcB 피어링 및 vpcB > vpcC 피어링 일 때, vpcA > vpcC 통신은 불가능)

[vpcA와 vpcB에 위치한 ec2간 통신하는 순서]

priB-ec2가 pubA-ec2와 통신을 위해 패킷을 출발하게 되면 아래처럼 전달이 됩니다. 
  ① priB-ec2에서 출발한 패킷은 라우팅 테이블(priB-rt)을 참조하여 peerAB로 패킷을 전달하여 pubA-ec2에 요청합니다.
  ② pubA-ec2는 라우팅 테이블(pubA-rt)을 참조하여 peerAB로 패킷을 전달하여 priB-ec2로 응답합니다.

vpcB에 있는 priB-ec2 통신
  - 목적지가 vpcA의 pubA-ec2 경우 : 정상
  - 목적지가 인터넷 경우 : 패킷이 vpcA까지 전달되고, 그 이상은 전달되지 않음(Trasitive Peering 통신 불가능하기 때문)
반응형