vpc

개발하는 구황작물·2022년 8월 21일
0

AWS

목록 보기
2/5

vpc : 가상 사설망
실제 같은 네트워크 상에 있으나 VPC로 다른 네트워크 처럼 작동 시킬 수 있다.

vpc가 없으면 AWS서버 내에 EC2인스턴스가 서로 거미줄처럼 엉쳐 시스템의 복잡도가 증가한다.

vpc적용으로 vpc별로 네트워크를 구성할 수 있고 각각의 vpc에 따라 다르게 네트워크 설정을 줄 수 있다.
각각의 vpc는 완전히 독립된 네트워크 처럼 작동하게 된다.

vpc 구축 과정

  1. vpc 아이피 범위를 사설 아이피 대역에 맞춰 구축한다.(여기서 사설 아이피란 프라이빗 아이피를 의미한다.)

  2. vpc 내에 서브넷을 만든다. 서브넷은 vpc를 잘개 쪼개는 과정이다. 서브넷을 통해 더 많은 네트워크 망을 가질 수 있다.
    각각의 서브넷은 가용영역 안에 존재하면 서브넷 안에 RDS, EC2등의 리소스를 위치시킬 수 있다.

  3. 라우팅 테이블과 라우터
    네트워크가 요청되면 데이터는 우선 라우터를 통하게 된다.
    라우터는 목적지, 라우팅 테이블은 목적지에 대한 이정표를 뜻한다. 라우터를 통해 외부 트래픽을 처리할 수는 없다(인터넷 게이트 웨이 사용)

  4. 인터넷 게이트웨이
    vpc와 외부 인터넷을 연결해준다.

  1. 네트워크 ACL, 보안그룹
    네트워크 ACL, 보안그룹는 방화벽과 같은 역할을 하며, 인바운트 트래픽과 아웃바운드 트래픽 보안정책을 설정할 수 있다.
  • 보안그룹은 stateful한 방식으로 동작하며 각각의 보안그룹 별로 별도의 트래픽을 설정할 수 있다.(각각의 EC2에도 적용 가능)

  • 네트워크 ACL은 stateless하게 작동되며 모든 트래픽을 기본 설정되어 있어 불필요한 트래픽을 막는다. 서브넷 단위로 적용되어 리소스 별로는 설정이 불가능하다.

  1. NAT 게이트웨이
    프라이빗 서브넷이 인터넷과 통신하기 위한 아웃바운드 인스턴스이다. 퍼블릭 서브넷상에 동작하는 NAT는 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 인터넷 게이트와 연결한다.

서브넷, 서브넷 마스크

부분망, IP 주소에서 네트워크 영역을 부분적으로 나눈 부분 네트워크를 뜻한다. 서브넷을 만들 때 쓰이는 것이 서브넷 마스크이다.

서브넷 마스크를 통해 IP의 Network ID와 Host ID를 서브넷 마스크를 통해 분리할 수 있다.

IP는 Network Prefix와 Host Number로 분리되게 되는데 서브넷 마스킹은 Host Number를 Subnet Number와 Host Number로 다시 분리한다.

서브넷 마스크의 목적은 IP주소와 AND 연산으로 Network 부분의 정보를 걸러내는 것이다.

예를 들어 A 클래스의 IP가 116.81.97.8일 경우 A의 서브넷 마스크는 255.0.0.0 이므로 2진수로 변환 후 두 주소를 AND연산 하면

116.81.97.8 => 01110100.01010001.01100001.00001000

255.0.0.0 => 11111111.00000000.00000000.00000000

---------------------------------------------------
&  )             01110100.00000000.00000000.00000000

가 나오고 이는 116.0.0.0이다. 이것이 바로 클래스 A의 Network ID이고 나머지 부분은 Host ID이다.

IP주소 뒤에 /24같은 표시는 서브넷 마스크의 bit 수를 뜻한다.
예를 들어 192.168.3.19/24는 네트워크 ID가 192.168.3.0이고 서브넷 마스크가 255.255.255.0라는 뜻이다.
(2진수 연산시 한 옥텟 당 8자리이고 8 * 3 = 24 로 24 bit)

서브넷팅

기본적인 서브넷 마스크로 할당되는 IP를 관리하기 어려워 IP를 효율적으로 나누기 위한 방법이다.

만약 A 클래스의 IP를 두개의 서브넷으로 나누고 싶다면 /n 에서 /n+1로 변경하면 된다

서브넷 마스크 변화
/8 -> /9 255.0.0.0 => 255.128.0.0

A 클래스 망은 Network ID가 116.0.0.0과 116.028.0.0으로 나뉜다.

즉 한 bit씩 서브넷 마스크에 추가되면 Network ID는 두배로 증가하고 Host ID는 2배 감소하게 된다.

(* 각 NetworkID의 첫번째 주소는 Network Address로 쓰이고 마지막 주소는 Broadcast Address로 쓰인다.)

네트워크 안의 서브넷을 나누는 역할은 라우터가 담당한다. 라우터는 공인 IP주소를 할당받은 장치로서 서브넷 안의 호스트들이 외부 망의 인터넷에 데이터를 송수신할 경우 그 호수트가 가상 IP를 쓸 경우, 그 처리를 NAT를 통해 서브넷 가상 IP로 바꾸어 외부 서버와 호스트간의 통신을 가능하게 한다.

profile
어쩌다보니 개발하게 된 구황작물

0개의 댓글