[AWS] VPC 구축하기 #1. 관련 기초 개념

toto9602·2022년 10월 7일
0

얼마 전, 근무하던 중 선배 개발자분께 AWS 상에서 VPC 구축하는 작업에 대해
설명을 듣고 배울 기회가 있었다.

한 번 듣고 나중에 잊어버리기엔 굉장히 유익한 내용이었어서,
나중에 다시 보려고 작성하는 글!

해당 포스트에서는, VPC 구축을 배우고 나서 필자가 추가로 찾아 본 기본 개념들을 정리하고, VPC를 실제로 구축하는 내용은 다음 포스트에서 다루어 볼 예정!

VPN과 VPC란?

VPN ( Virtual Private Network )

  • 실제 존재하는 것이 아닌, 가상의 사설망
  • 특정 사이트의 개별망들을 터널링 및 보안을 통해, 암호화된 패킷이나 경로를 구성하여 전용 네트워크처럼 안전한 통신을 제공하는 네트워크 기술
  • VPN이 암호화된 터널을 통해 트래픽을 보호하고,
    사용자들은 사설망에 연결된 것처럼 효율적으로 데이터를 교환할 수 있다!

cf. 터널링이란?

  • 송신자와 수신자 간의 데이터를 프로토콜로 캡슐화하여 전송하는 기술
  • 터널링 프로토콜의 종류
    • PPTP ( Point-to-Pooint Tunneling Protocol )
    • L2F ( Layer 2 Forwarding )
    • L2TP ( Layer 2 Tunneling Protocol )
    • IPSec

VPC ( Virtual Private Cloud )

  • 사용자가 정의하는 IP 주소 범위 선택, 서브넷 생성, 라우팅 테이블 및 네트워크 게이트웨이 구성 등 가상 네트워킹 환경

  • VPS(Virtual Private Server)와 달리, 다수의 virtual machine을 다룰 수 있으며, 하나의 서버로 제한되지 않는다.

  • VPS와 달리, 사용 주체인 사용자가 스스로 서비스를 관리할 수 있다.
    → 원하는 대로 서버를 켜고 끌 수 있음!
    → hourly pricing model을 가능케 함.

  • 대표적인 VPC 제공 주체

    • Amazon Web Services Elastic Cloud ( EC2 )
    • Google Cloud
    • Digital Ocean
    • RackSpace

AWS VPC → AWS 내에서, private ip를 사용하는 가상 사설망을 만들 수 있게 해 주는 서비스


AWS 가용 영역 && 서브넷

  • AWS VPC를 구축할 때, 여러 가용 영역에서 서브넷을 구축할 수 있음.


AWS 가용 영역 : AZ(Availability Zone)

  • 각 리전 내에 물리적으로 격리된 위치
  • 일반적으로 리전당 3개의 가용 영역이 있다. (us-east-1의 경우 5개)
  • 리전이 동일해도, 다른 가용 영역에 AWS 서비스를 배치하였다면,
    물리적으로는 복수의 데이터 센터를 활용하는 것!

cf. AWS 리전(Region)

  • 나라별 단위로, 인프라를 지리적으로 나누어 배포한 것을 의미
  • Network latency(네트워크 지연시간) 최소화를 위해, 사용자와 리전을 가깝게 할 것

서브넷

  • IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크
  • IP 주소 체계의 Network IDHost ID를 구분하는 서브넷 마스크를 활용하여 만든다.

→ 서브넷 마스크를 이용하여 원본 네트워크를 여러 네트워크로 분리하는 과정을
서브네팅(Subnetting)이라고 한다.


서브네팅 예시

10.0.0.0/1610.0.0.0/20

  • 서브넷 마스크의 bit 수가 4 증가 (Subnetting)
  • Network ID를 나타내는 부분이 16비트 → 20비트로 증가
  • Host ID를 나타내는 부분이 16개 비트에서 12개 비트로 감소
  • 서브넷당 할당 가능한 호스트 수 == 2^12 - 2

cf) - 2가 필요한 이유

  • 가장 첫 번째 주소는 Network Address로, 마지막 주소는 Broadcast로 쓰여
    호스트에 할당이 불가능함!

NAT ( Network Address Translation )

  • 다수의 사설 IP(private IP)를 하나의 공인 IP(public IP)로 변환하는 기술
  • 주소 변환 정보에 대해 IP 주소와 Port 번호로 구성된 Forwarding Table을 보관하고 있으며, 이를 통해 주소 변환을 실행함.

출처 : https://wiki.teltonika-networks.com/wikibase/images/b/b7/Private_public_ip_3_v2.png


예시에 따른 NAT 작동 순서

사설 IP인 192.168.1.2를 사용하는 호스트가 68.1.31.1에 접근하고자 하는 경우

  1. 라우터가 NAT를 활용여 해당 요청에 public IP 101.89.101.12와 포트 번호 5123을 할당한다.
  2. 해당 요청이 68.1.31.1 호스트에 도달한다.
  3. 호스트는 이 요청의 IP를 101.89.101.12:5123이라 생각하고 응답한다.
  4. 해당 응답이 다시 라우터에 도달한다.
  5. 라우터는 포트 번호 5123을 인식한다.
  6. 라우터는 해당 포트가 192.168.1.2 호스트에 할당된 것임을 인식하여 응답을 반환한다.

NAT 사용 이유

  • IPv4 상의 공인 IP 주소 절약을 가능하게 한다.
  • 외부에서 local host에 직접 접근할 수 없도록 보호한다.

참고 자료

[ VPN && VPC ]

[ Subnet && AWS AZ ]

[ NAT ]

profile
주니어 백엔드 개발자입니다! 조용한 시간에 읽고 쓰는 것을 좋아합니다 :)

0개의 댓글