기초 물방울/AWS

AWS 기초 공부 기록 #4 (VPC~서브넷)

Weeding 2022. 3. 24. 16:34
반응형
SMALL

Amazon VPC

  • =VPC가 없다면 EC2 인스턴스들이 엄청나게 복잡하게 연결되고
  • =하나의 인스턴스만 추가되도 모든 인스턴스를 수정해야하는 불편함이 생김
  • Amazon Virtual Private Cloud
  • AWS 상에 네트워크를 구축하기 위해 사용됨 / 각각의 VPC에 따라 다르게 네트워크 설정 가능
  • EC2나 RDS의 경우 VPC를 선택하지 않으면 서버를 생성할 수 없기 때문에 리소스를 사용하기 위해서 반드시 필요한 서비스
  • VPC는 네트워크와 서브넷 범위, 라우팅 테이블, 네트워크 게이트웨이 등과 같은 가상 네트워킹 환경 설정 가능

 

※ VPC의 주요 기능

  • CIDR 블록
  • 서브넷 마스크
  • 가용 영역(서브넷이 구축된 물리적 장소)
  • 인터넷 게이트웨이
  • 라우팅
  • 라우팅 테이블
  • 보안 그룹
  • 네트워크 ACL

 

※ VPC 네트워크의 특징

  • 소프트웨어가 라우팅을 함
  • 라우터는 IP주소를 갖지 X
  • 서브넷 사이의 통신은 라우터 없이 직접 통신 할 수 없음
  • VPC 한 개에 인터넷 게이트웨이는 한 개만 설정할 수 있고, IP주소를 갖지 않음
  • 한번 설정된 아이피 대역은 수정할 수 X
  • 각 VPC는 하나의 리전에 종속됨. 
  • 각각의 VPC는 완전히 독립적이기 때문에 만약 VPC간 통신을 원한다면 VPC 피어링 서비스 고려 가능.
  • RFC1918이라는 사설 아이피 대역에 맞추어 구축해야함.

 

VPC에서 사용하는 사설 아이피 대역

  • 10.0.0 ~ 10.255.255.255 (10/8 prefix)
  • 172.16.0.0 ~ 172.31.255.255 (182.16/12 prefix)
  • 192.168.0.0 ~ 192.168.255.255 (192.168/16 prefix)

 

 

VPN이란?

  • "가상 사설망"
  • =네트워크 A와 네트워크 B가 실제로 같은 네트워크 상에 있지만
  • =논리적으로 다른 네트워크인것처럼 동작. 

 

 

VPC의 사용 절차

  • 인터넷 연결 여부와 오토 스케일링이 설계의 중요한 내용
  • =인터넷에 연결해야 한다면 인터넷 게이트웨이를 설정해야하고
  • =오토스케일링을 설정해야 한다면 서버가 자동으로 늘어나기 때문에 IP 주소를 많이 확보해야함.
  • 서브넷을 설정해야함
  • 어떻게 해야 할지 잘 모를 때는 기본 VPC를 사용하길 권장.

 

◆ 오토 스케일링(Auto Sacling)이란?

  • 클라우드의 유연성을 돋보이게 하는 핵심 기술
  • CPU, 메모리, 디스크, 네트워크 트래픽과 같은 시스템 자원들의 메트릭값을 모니터링하여 서버 사이즈 자동 조절
  • 이를 통해서 예상치 못한 서비스 부하에 효과적으로 대응하고 비용 절감 효과를 볼 수 있음.

 

◆ 시스템 메트릭이란?

  • 가상 서버의 컴퓨팅 자원에 해당하는 
  • CPU, 메모리, 네트워크와 같은 클라우드 리소스의 사용량 정보를 의미함.

 

 

 

기본 VPC

  • 서브넷 + 인터넷 게이트웨이 = 기본 구성
  • 특별한 요건이 없는 이상, 기본 VPC를 사용하는 편이 좋음
  • 네트워크 지식이 없어도 VPC를 사용할 수 있도록 리전별 기본 VPC를 제공
  • 기본 서브넷은 가용 영역별로 한 개씩 생성 되어 있음.
  • 인터넷 게이트웨이도 구성되어 있으므로 인터넷에 접속 할 수 있음.
  • 인터넷에 접속하고 싶지 않다면 별도의 VPC를 생성해야 함.

 


 

서브넷(Subnet)

  • 클래스로만 네트워크를 분류하는 것은 비효율적이라는 결론에서 나오게 됨.
  • 좀 더 적절한 단위로 네트워크를 분할해야할 필요성에 의해 탄생.
  • 커다란 네트워크를 작게 나눈 네트워크를 뜻함. (부분망)
  • 네트워크를 분할해 직접 통신할 수 있는 범위를 좁히며, 방화벽을 설정해 보안을 강화하는 것을 목적으로 함
  • 네트워크를 분할하려면 CIDR 표기를 사용해야함.
  • 네트워크는 클래스를 가지고 있음.

 

서브넷마스크

  • 서브넷을 만들 때 쓰이는 것 / IP 주소에는 반드시 서브넷 마스크가 있음.
  • IP 주소 체계의 Network ID와 Host ID를 서브넷 마스크를 통해 분리할 수 있음.
  • IP주소와 같은 32bit 이진수 / 기본적으로 255와 0으로 이루어져있음.
  • 0은 호스트 부분 / 255는 네트워크 부분
  • 0으로 된 부분에서 IP를 나눠쓰는 혹은 쪼개는 개념
  • ★한 네트워크에 수많은 호스트가 있을 경우 원활한 통신이 불가능
  • ★이를 해결하기 위해 네트워크를 적절히 나눠줘야 하기에 서브넷마스크를 사용함

 

서브넷팅

  • IP주소 낭비를 방지하기 위한 원본 네트워크를 여러 개의 네트워크로 분리하는 과정
  • = 자신의 네트워크 주소를 더 작은 서브 네트워크로 2의 배수로 나누는 과정

 

 

서브넷 / 서브넷마스크 / 서브넷팅

이 부분은 추후 따로 넷관리사 실기 준비하면서 정리 예정


 

라우팅과 NAT

  • 네트워크 간 데이터를 주고 받으려면 라우팅이나 NAT(네트워크 주소 변환) 방식을 사용해야함.

 

 

라우팅

  • 라우터에서 목적지까지 데이터를 송신하는 방법
  • IP 주소는 목적지이다.
  • 게이트웨이 = LAN 내부의 출입구가 되는 것
  • IP 마스커레이드 = 일대다이며 공인 IP주소와 사설 IP주소를 변환함
  • IP 마스커레이드 = 포트를 변환할 수 있지만 NAT은 할 수 없음.

 

 

NAT

  • 다대다이며 공인 IP주소와 사설 IP주소를 변환함.
  • Network Address Translation(네트워크 주소 변환)
  • IPv4의 주소 부족 문제를 해결하기 위한 방법
  • 1:1의 주소 매핑을 수행함 inside > outside 패킷만이 주소 전환의 대상이 됨.
  • IP의 헤더라는 부분을 체크하여 NAT 테이블에 의해 해당 주소로 바꾼다음 Checksum을 다시 계산함.
  •  
  • 장점
  • 1. 공인 IP주소를 다수가 함께 사용할 수 있도록 함으로써 이를 절약
  • 2. 공개된 인터넷과 사설망 사이에 방화벽을 설치하여 외부 공격으로부터 통신망을 보호하는 기본 수단으로 활용
  •  
  • 단점
  • 1. end-to-end간의 추적(IP trace)이 어려워짐
  • 2. NAT 라우터를 거치는 모든 패킷을 scan하기 때문에 switching path delay가 커지게 됨.

 

 

 

인터넷 게이트웨이

  • 인터넷 → EC2
  • 외부 인터넷으로 나가기 위한 통로
  • VPC에서 호스팅하는 리소스와 인터넷 간의 통신을 가능하게 해주는 AWS 컴포넌트
  • 수평적 확장성과 높은 가용성을 지닌 구성요소
  • 네트워크 대역폭에 제약이 없음.

 

NAT 게이트웨이

  • EC2 → 인터넷
  • NAT(네트워크 주소 변환) 서비스. 
  • 인스턴스의 IPv4 주소를 NAT 게이트웨이의 프라이빗 IP 주소로 바꿈.
  • 인터넷에서 서브넷으로 접속하지 못 하게 할 수 있음.
  • Public / private

 


 

보안 그룹과 네트워크 ACL

  • VPC의 가상 방화벽으로 보안 그룹과 네트워크 ACL이 있다.
  • 보안 그룹은 인스턴스에 네트워크 ACL은 서브넷에 설정하는 가상 방화벽
  • 인바운드 트래픽(데이터가 유입되는 것)과 아웃바운드 트래픽(데이터가 유출되는 것)을 제어하는데 반드시 양쪽 모두 설정해야 하며, 명시적으로 설정하지 않으면 기본 설정 적용!

 

보안그룹

  • 인스턴스에 설정하는 가상 방화벽
  • 인스턴스에 대해 설정 (보안 그룹을 최대 5개 할당)
  • 규칙 허용만 가능
  • 스테이트풀(stateful) = 규칙과 상관없이 반환된 트래픽을 자동으로 허용
  • 모든 규칙을 확인하여 트래픽의 허가 여부를 정함.

 

네트워크 ACL

  • 서브넷에 설정하는 가상 방화벽
  • 규칙 허용과 거부가 가능
  • 스테이트리스(stateless) = 반환된 트래픽을 규칙에 따라 명시적으로 허용
  • 순서대로 규칙을 처리하려면서 트래픽의 허가 여부를 결정.

 

 

VPC 엔드포인트

  • VPC 내부에서 VPC 외부로 접속하기 위한 연결점을 제공하는 서비스
  • AWS의 모든 서비스가 VPC 내에 설치되어 있지 X
  • → VPC를 사용하지 않는 대표적인 서비스로 S3와 DynamoDB가 있음.
  •  
  • =AWS 안에서는 전부 통신할 수 있을 거라 생각하는데 일부러 인터넷 회선을 통해서 
  • =외부로 연결해야 한다면 작업도 번거롭고 보안 면에서도 불안함.
  • → 이러한 단점을 보완하기 위해 인터넷 게이트웨이를 통하지 않고,
  • S3와 같은 VPC 외부에 있는 서비스와 VPC를 직접 연결해주는 것이 바로 "엔드포인트 서비스".
  • → VPC의 출입구로 엔드포인트를 설정하면 S3와 직접 연결할 수 있음.
  • VPC의 인스턴스는 서비스의 리소스와 통신하는 데 퍼블릭 IP 주소를 필요로 하지 않음.

 

 

인터페이스 엔드포인트

  • 네트워크 인터페이스(ENI)로 구축하는 유형
  • AWS PrivateLink 방식 (VPC, AWS 서비스 및 온프레미스 네트워크 간에 안전한 비공개 연결 제공)

 

게이트웨이 엔드포인트

  • 라우팅 테이블에 설정된 내용을 라우팅하는 유형
  • VPC용 인터넷 게이트웨이 또는 NAT 디바이스가 없어도 Amazon S3 및 DynamoDB에 대한 안정적 연결 제공

 

 

VPC 연결

  • VPC와 VPC 연결 / VPC와 VPN 연결
  • AWS Direct Connect는 AWS 네트워크에 전용선을 물리적으로 연결하는 방법
  • =(전용선 회선 공사, 라우터 설치가 필요하며 월 비용도 많이 발생함)
  • AWS VPN은 AWS 네트워크에 가상으로 전용선을 연결
  • 전송 게이트웨이는 VPC나 온프레미스 네트워크를 하나로 묶어서 서로 연결하는 연결점 제공

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형
LIST