Infra/cloud

[AFOS] 3주차 네트워킹 서비스

미니문92 2021. 7. 9. 03:26

1. AWS VPC란?

  • Virtual Private Cloud 의 약자, AWS 클라우드 내 논리적으로 독립된 섹션 제공
  • 사용자가 정의한 가상 네트워크상에서 다양한 AWS 리소스를 실행할 수 있게 지원
  • 독립된 가상의 클라우드 네트워크
  • 사용자는 VPC 내에 IP 대역, 인터페이스, 서브넷, 라우팅 테이블, 인터넷 게이트웨이, 보안 그룹, 네트워크 ACL 등 생성, 제어 가능

 

 



 

2. 기본 네트워크 개념

 

OSI 7 레이어, TCP/IP 모델

 


IP  주소 

  • 공인 IP : 전 세계 유일한 주소, 인터넷
  • 사설 IP : 맘껏 사용, 인터넷 사용시 NAT = Fixed

IP 통신

  • 동일 네트워크 : 그냥 됨
  • 다른 네트워크 : G/W 필요
  • NAT(Network Address Traslation) 네트워크 주소 변환
    • 1:1 NAT(or DNAT) : Floating IP
    • 1:다 NAT(or SNAT, Masquerading)

IP

  • 공인 IP = AWS Public IP(EC2 중지 후 시작 시 Public IP 변경됨), AWS Elastic IP(탄력적 IP, IP 고정 되지만 할당 후 미 사용시 과금)


TCP와 UDP, 포트번호(0 ~ 65535)

  • 서버 IP 50.1.1.1 - 웹 서비스 : HTTP(TCP 80) / FTP(TCP 21/20)
구분 TCP UDP
OSI 모델 4계층 (전송) 4계층 (전송)
연결 연결 지향성 비연결 지향성
신뢰성 보장 X
순서 순서 보장 X
제어 혼잡 제어, 흐름 제어 제공 X
속도 상대적으로 느림 상대적으로 빠름
서비스 HTTP, SSH, FTP 등 DNS, DHCP 등
  • TCP와 UDP의 특성에 따라 제공되는 응용 프로그램 서비스가 있는데 이런 서비스를 구분하는 것이 포트번호
  • IANA에서 TCP, UDP 포트번호 정의
    • Well-Known Port : 0 ~ 1023
    • Registered Port : 1024 ~ 49151
    • Dynamic Port : 49152 ~ 65535

Ex) TCP 80 : HTTP / UDP 53 : DNS 서비스


DHCP(Dynamic Host Configuration Protocol)

  • 동적으로 IPv4 주소를 일정기간 임대하는 프로토콜
  • UDP 67, 68
  • 동작 절차

 


DNS(Domain Name System)

  • 도메인 네임 제공
  • 도메인 네임 : 문자 형태로 구성된 이름
  • Ex) google.com 과 IP 주소를 매핑
  • UDP 53

라우터, 라우팅, 라우팅 테이블

  • Network 글에서 자세히 다루겠습니다.


 

3. VPC 리소스

 

서브넷

  • 네트워크 영역을 부분적으로 나눈 망
  • 서브넷의 IP 대역은 VPC 의 IP 대역에 속해 있어야 하며, 서브넷은 1개의 가용 영역(AZ)에 종속 되어야함

 

 

예약되어 있는 IP주소

Example
VPC A(10.0.0.0/16) 내부 서브넷에 할당할 IP대역이 10.0.0.0/24
첫번째 주소: 10.0.0.0 - 네트워크 주소
두번째 주소: 10.0.0.1 - AWS VPC 가상 라우터 주소
세번째 주소: 10.0.0.2 - AWS DNS 서버 주소 
네번째 주소: 10.0.0.3 - 향후 새로운 기능에 활용할 주소
마지막 주소: 10.0.0.255 - 네트워크 브로드캐스트 주소
VPC 내 여러 서브넷이 존재할 경우 첫번째 서브넷의 세번째 주소를 DNS 서버 주소로 사용 
나머지 서브넷의 세번째 주소는 AWS에서 예약되어 있습니다.

 

  • 퍼블릭 서브넷 : 공인 네트워크 개념, 외부 인터넷과 직접 통신 가능
  • 프라이빗 서브넷 : 사설 네트워크 개념, 외부 인터넷과 직접 통신 불가한 폐쇄망

 


가상 라우터와 라우팅 테이블

  • VPC 생성시 자동으로 가상 라우터 생성
  • 라우팅 테이블을 가지고 있고, 목적지 네트워크로 라우팅

 

 

  • 10.0.0.0/16 대역의 VPC 생성시 자동으로 가상 라우터 생성
  • 가상라우터는 최초에 기본 라우팅 테이블 보유 - 로컬 네트워크에 대한 라우팅 경로만 잡혀 있음.
  • 여기서 로컬 네트워크는 VPC 자체 대역, VPC 내에 생성된 서브넷은 라우팅 테이블의 로컬 네트워크에 의해 통신

 

 

  • 가상 라우터에서는 서브넷별로 라우팅 테이블을 매핑 가능
  • 기본 라우팅 테이블을 사용할 수도 있지만, 새로운 라우팅 테이블 생성 & 매핑하여 서브넷 당 개별 라우팅 테이블 생성 가능

인터넷 게이트웨이

  • VPC와 인터넷 간의 논리적 연결
  • VPC 당 1개 생성 가능
  • 인터넷 게이트웨이를 통해 외부 인터넷 구간으로 통신할 수 있는 대상은 퍼블릭 IP를 사용하는 퍼블릭 서브넷 내의 자원
  • 자신의 라우팅 테이블에 외부 인터넷 구간으로 나가는 타깃을 인터넷 게이트웨이로 지정해주어야함

 

 

  • 퍼블릭 서브넷 내의 인스턴스가 외부 인터넷과 통신하기 위해 인터넷 게이트웨이를 관문으로 통신 중
  • 양방향 연결을 지원하기 때문에 외부 인터넷에서 퍼블릭 서브넷의 IP로도 정상 통신 가능

NAT 게이트웨이

  • 인터넷 게이트웨이 처럼 외부 인터넷 구간과 연결하는 관문 역할
  • 차이점 : NAT
  • 인터넷 구간은 퍼블릭 IP를 통해 통신하는데 반해, 프라이빗 IP는 인터넷 구간으로 넘어올수가 없기 때문에 NAT 게이트웨이가 프라이빗 IP를 퍼블릭 IP로 변환

 

 

  • 프라이빗 서브넷 인스턴스의 프라이빗 IP를 퍼블릭 IP로 변환하여 외부 인터넷 구간으로 연결
  • 한 방향으로만 동작. 즉, 프라이빗 서브넷에서 외부 인터넷으로는 통신 가능하지만 반대로는 불가능

보안 그룹과 네트워크 ACL

  • VPC는 인스턴스 레벨과 서브넷 레벨 상에서 대상을 필터링 할 수 있는 보안 기술 사용 가능
  • 인스턴스 레벨 : 보안그룹 (Security Group)
  • 서브넷 레벨 : 네트워크 ACL (Access Control List)

 

 

  • 보안 그룹은 인스턴스 별로 지정하는 보안기술
  • 네트워크 ACL 은 서브넷 별로 지정하는 보안기술
  • 인바운드 및 아운바운드 되는 데이터에 대해 허용 규칙, 거부규칙을 수립하여 원하는 데이터만 수용하도록 필터링