본문 바로가기
독서-개인

따라하며 배우는 AWS 네트워크 입문(김원일, 서종호) - 1장, 2장 VPC 구축

by 당나귀🐴 2022. 11. 21.

AWS 네트워크에 대해 하나씩 알아가고자 선택한 책입니다.
책에는 실습들이 스크린샷과 함께 제공되어 있어 실습을 진행하지 못하는 상황에 있더라도 전반적인 과정을 파악할 수 있었습니다

1장. AWS 소개

1장은 책이 앞으로 소개할 내용, AWS 용어 설명에 대한 장이였습니다.
매번 봐도 헷갈리는 내용들이 있어 같이 정리합니다.

 

클라우드 서비스 종류

 

IaaS (Infrastucture as a Service) : '서버, 네트워크, 스토리지' 자원을 클라우드 사업자가 제공하고 운영 및 관리함

  • AWS 서비스 : EC2(컴퓨팅), VPC(네트워크), EBS(스토리지)

PssS (Platform as a Service) : 어플리케이션 이전 미들웨어와 런타임까지 클라우드 사업자가 관리하고, 어플리케이션에 대한 작업만 개발자가 관리하면 되는 서비스

  • AWS 서비스 : Beanstalk

Serverless 플랫폼 : 어플리케이션 개발과 런타임까지도 클라우드 사업자가 관리하는 것, 개발자는 소스 코드에 신경써서 클라우드 사업자가 관리하는 런타임 위에 배포하면 된다.

  • AWS 서비스 : Lambda, API Gateway

SaaS ( Software as a Service) : 사용자는 클라우드에서 제공하는 어플리케이션을 이용하면되는 기능

  • AWS 서비스 : Athena

 

이 외에 IaC(Infrastructure As Code) 는 인프라 자원을 코드로 작성하여 코드를 통해 인프라 자원에 대한 내용 공유와 인프라 복제 및 생성을 원활하게 하는 용어가 있습니다. 이는 AWS 에서 Cloudformation 을 통해 제공하고 그 외에 테라폼, 헬름 차트가 있습니다.

 

cf.  정확하진 않지만 테라폼은 인프라 구성을 위해 사용되고, 헬름 차트는 어플리케이션 구성을 기술하면서 같이 사용되는 경우가 많다고 알고 있습니다.

 

2장. VPC 기초

2장에서는 OSI 7계층과 DNS, 라우팅 테이블까지 네트워크 수업에서 들을 수 있는 내용 중 기본적이 내용과 AWS 에 VPC 와 서브넷을 만들어 외부 인터넷과 연결해보는 작업에 대한 내용이 있었습니다.

 

네트워크 기본 개념

 

OSI 7 계층과 TCP/IP 계층

 

IP --> Internet Layer 에서 사용되는 리소스 구분 주소

IP 는 Internet Protocol 의 약자로 인터넷상의 네트워크 자원들을 구분하는 주소입니다.
IP 는 퍼블릭 IP (공인 IP) 와 프라이빗 IP (사설 IP) 로 나눌 수 있습니다.

 

퍼블릭 IP (공인 IP)

  • 전 세계의 인터넷 사용자들끼리 통신 대상을 식별할 수 있는 주소 입니다.
  • ISP (Internet Service Provider) 에서 제공하는 주소이며, 우리는 쉽게 SK, KT, LG 등의 ISP 랑 계약 후 퍼블릭 IP 를 제공받습니다.

프라이빗 IP (사설 IP)

  • 가정, 회사 등 독립된 네트워크에서 사용하는 내부 IP 주소입니다.
PC 혹은 장치에 부여되는 IP 이외에 사설 네트워크를 IP 체계를 통해서 표현할 수 있다. (IPv4 CIDR)
그렇게 IP 주소로 표현된 네트워크는 Class A, Class B, Class C 등의 대역으로 표현될 수 있다.

  • 각 대역은 용도와 범위에 따라 나뉘는데, 쉽게 네트워크의 크기(대,중,소)로 나누어 생각할 수 있다.

 

대역 범위 용도
Class A 10.0.0.0 ~ 10.255.255.255 (약 1천 6백만개) 대규모 네트워크에 사용
Class B 172.16.0.0 ~ 172.31.255.255 (약 6만 5천개) 중규모 네트워크에 사용
Class C 192.168.0.0 ~ 192.168.255.255 (254개) 소규모 네트워크에 사용

 

대역대 별로 IP 의 개수가 나뉠 수 있는건 사설 네트워크를 IP 체계로 표현할 때 네트워크 영역과 호스트 영역이 구분되어 있기 때문이다.

네트워크 영역은 어떤 네트워크인지 구분하기 위해 사용되고, 동일한 네트워크 내에서 장치들을 구분할 때는 호스트 영역으로 구분한다.

 

다르게 말하면, 네트워크 영역이 짧을수록 호스트를 표현할 수 있는 개수가 많아지고 그렇기 때문에 더 큰 네트워크를 대표할 수 있는 IP 주소 체계가 되는 것이다.

  • 네트워크 IP 체계로 표현하는 것을 IPv4 CIDR 이라고 한다.
  • 네트워크 영역은 아래의 그림에서 색칠이 된 영역 호스트 영역은 색칠이 되지 않은 영역이다.

IPv4 CIDR 뿐만 아니라 IPv4 도 네트워크 영역과 호스트 영역을 표현할 수 있다.

  • IP는 . 을 기준으로 8bit 씩 나누어 표현된다. 전체 32bit 가 IPv4의 전체 길이이다.
  • 네트워크 영역의 bit 수를 나타내는 것을 서브넷 마스크라고 한다.
  • 서브넷 마스크로 표현된 네트워크 영역의 bit 가 같으면 같은 동일한 네트워크에 속해 있다고 할 수 있다.

포트 번호

 

TCP/IP Layer에서 IP 는 Internet Layer 에 속해서 네트워크의 자원을 구분하고, Transport Layer 에서는 데이터를 어떤 방식으로 전달할 것인지 TCP, UCP 등의 방식을 통해서 정해진다. 포트는 네트워크 장치 위에서 실행되고 있는 어플리케이션을 구분하기 위한 번호이다.

  • 잘 알려진 포트 : 0 ~ 1023
  • 등록된 포트 : 1024 ~ 49151
  • 동적 포트 49152 ~ 63335

 

DHCH(Dynamic Host Configuration Protocol)

  • 동적으로 IPv4 주소를 일정 기간 임대하는 프로토콜
  • IP 주소를 할당받기 위해선 DHCP 서버를 찾아서 IP 주소를 할당받아야한다.
  • 가정집에는 공유기에 포함되어 있다.

 

라우팅

TCP/IP Layer의 Internet Layer 의 주소대로 네트워크 리소스들의 경로를 파악하는 작업

- 우리는 보통 IP 를 통해 서로의 주소를 파악한다.

- 우리가 다른 장치의 주소를 알기위해서는 라우팅 테이블에 다른 장치의 주소가 입력되어 있어야한다.

- 다른 말로는 우리가 사설 네트워크를 구성한다면 라우팅 테이블에 사설 네트워크의 IPv4 CIDR 와 연결될 리소스들의 IP 가 등록되어 있어야한다.

라우터 A 는 라우팅 테이블에 다른 라우터들의 주소가 등록되어 있기 때문에 다른 라우터들이 연결할 수 있는 장치와 통신할 수 있다.

 

3장. AWS 의 VPC 리소스 소개

위에서 말한 내용은 네트워크 상에서 나오는 개념에 대한 것이며,
여기서부터 이야기하는 것은 AWS 내에서 사용되는 용어이기 때문에 헷갈리지 않도록 주의하면 좋습니다.

먼저, AWS 에서 가상으로 만들 수 있는 네트워크의 단위 중 제일 큰 것을 VPC (Virtual Private Cloud) 라고 합니다.

  • 사용자가 임의로 만들 수 있는 VPC 는 AWS 한 리전 당 최대 5개 입니다.

 

서브넷

 

VPC 안에 작은 네트워크 영역인 서브넷(Subnet) 을 만들 수 있습니다. 서브넷의 IP 대역은 VPC 의 IP 대역에 속해 있어야합니다.

IPv4 CIDR 로 표현된 내용을 확인해보면 VPC 대역 안에 서브넷이 존재합니다.

서브넷은 외부 인터넷과 연결될 수 있는 퍼블릭 서브넷과 프라이빗 서브넷으로 구분할 수 있습니다. 

 

라우팅 테이블

라우팅 테이블은 VPC 와 서브넷이 연결됩니다.

 

 

인터넷 게이트웨이

  • 인터넷 게이트웨이는 VPC 와 인터넷간에 논리적인 연결입니다.
  • 인터넷 게이트웨이를 통해 외부 인터넷 구간으로 통신할 수 있는 대상은 퍼블릭 IP 를 사용하는 퍼블릭 서브넷 내의 자원입니다.

 

NAT 게이트웨이

  • 인터넷 게이트웨이처럼 외부 인터넷 구간과 서브넷을 연결 시키는 게이트웨이입니다.
  • 인터넷 게이트웨이와 다른 점은 프라이빗 서브넷을 외부 인터넷 구간과 연결시깁니다.
  • 프라이빗 IP 를 퍼블리 IP 로 변환해 통신을 진행합니다.

실습

 

퍼블릭 서브넷 VPC 생성

- VPC 생성

- 퍼블릭 서브넷 생성

- 인터넷 게이트웨이 생성 및 VPC 연결

- 퍼블릭 라우팅 테이블 생성 및 서브넷 연결

- 퍼블릭 라우팅 테이블 경로 추가

 

프라이빗 서브넷 VPC 생성

- 프라이빗 서브넷 생성

- NAT 게이트웨이 생성

- 프라이빗 라우팅 테이블 생성 및 서브넷 연결

- 프라이빗 라우팅 테이블 경로 추가