클라우드/AWS

[AWS] VPC 구성의 기본 개념

팽팽 2023. 3. 1. 21:21

네트워크 선수 지식

- ip주소는 네트워크 주소 + 호스트 주소

- 각각을 옥탯이라 하고, 각 옥탯별로 0~255개의 범위이다

- a클래스 : 옥탯 1까지가 네트워크 아이디 + 나머지 옥탯은 호스트 아이디

- b클래스 : 옥탯 2까지 네트워크 아이디

- c클래스 : 옥탯 3까지 네트워크 아이디

-> 하지만 이런 클래스 별로 아이피 할당하는 방식은 사라지고 서브넷 마스크를 사용하기 시작함

->  a클래스는 /8, b클래스는 /16, c클래스는 /24

 

CIDR

- ipv4 주소를 보다 효율적으로 사용함

- xxx.xxx.xxx.xxx/yy 

- 예를 들어 192.168.0.0/24면,앞에 8 * 3 = 24바이트는 고정이고 나머지 8바이트만 0~255의 범위를 가진다

 

VPC

- vpc는 클라우드의 논리적으로 격리된 영역을 뜻함

- Aws전용 가상 네트워크

- 서브넷은 vpc를 분할하는 ip주소의 범위 

- vpc의 ip 범위 주소는 서브넷이고 cidr을 따른다.

 

 

VPC (Virtual Private Cloud)구축 과정

- vpc를 구축하기 위해서는 RDC1918이라는 사설아이피대역에 맞춰서 구축해야함

- 10.0.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)

-> 한번 설정된 아이피 대역은 수정할 수 없고, 각 vpc는 완전히 독립적이기 때문에 vpc간 통신 원하면 피어링 서비스 고려해보기

 

 

서브넷

- vpc를 잘게 쪼개야함

- vpc의 작은 단위이므로 아이피범위가 vpc보다 더 작은값을 가짐

- 각 서브넷은 가용영역안에 존재함

- 퍼블릭 서브넷, 프라이빗 서브넷으로 나뉠 수 있음

 

라우팅 테이블과 라우터

- 네트워크 요청 발생시 데이터는 라우터로 향하게 됨 -> 목적지

- 라우팅 테이블은 목적지에 대한 이정표

- 데이터는 라우터로 향하게 되며, 네트워크 요청은 정의된 라우팅 테이블에 따라 작동함

- 서브넷 a의 라우팅 테이블은 로컬안에서 찾도록 되어 있다 172.31.0.0/16 은 서브넷에 포함되는 ip주소니까!

- 외부로 통하는 트래픽은 인터넷 게이트 웨이를 사용함

 

인터넷 게이트웨이

- vpc와 인터넷을 연결해주는 관문

- 라우팅 테이블 보면 0.0.0.0/0이라 적혀 있는데, 모든 트래픽에 대하여 igw로 보내라는 뜻임

- 그래서 인터넷과 직접적으로 연결되어 있는 서브넷 -> 퍼블릭 서브넷

- 인터넷과 연결되어 있지 않은 서브넷 -> 프라이빗 서브넷

 

 

네트워크 ACL 과 보안그룹

- 방화벽 역할을 하고 인바운드 트래픽, 아웃바운드 트래픽 보안 정책을 설정할 수 있음

보안그룹 

 - 인스턴스 수준에서 제어하고, stateful 한 방식임

 - 모든 허용을 차단하도록 기본 설정되어 있고 필요한 설정을 '허용' 해줘야함

 - 서브넷에서도 설정할 수 있지만 보통은 ec2 인스턴스 수준에서 적용

 

네트워크 ACL

 - 서브넷 수준에서 제어하고 stateless한 작동 방식임

 - 기본 acl의 경우 모든 트래픽이 기본으로 설정되어 있고, 허용과 거부 규칙 모두 가능함

 - 사용자 지정 acl은 기본적으로 거부되어 있음

 - 보안그룹이랑 충돌하면 보안그룹이 더 높은 우선순위를 가짐

 

NAT 게이트웨이

- 프라이빗 서브넷이 인터넷과 통신하기 위한 인스턴스

- 외부에서 프라이빗 서브넷으로 접근은 못하지만 프라이빗에서 외부로 접근 가능하게 해주는 인스턴스임

- 외부로 향하는 모든 트래픽은 nat gateway로 보내지게함

- nat gateway는 자신이 속할 퍼블릿 서브넷을 지정한후 , 연결할 ip주소를 지정한다 -> 프라이벳 서브넷 라우팅 테이블에 nat-gw-id업데이트함

 

vpc peering

- 두 vpc간에 트래픽을 라우팅할 수 있게 하기위한 네트워크 연결

- 동일한 계정, 동일한 네트워크 , 다른 리전의 vpc간의 연결가능

 

vpc sharing

- 동일 조직(organization)내의 다른 aws계정과 서브넷을 공유하는 것

 

ENI 

- 가상 네트워크 인터페이스

- 네트워크를 미리 설정해놓고 분리할 수 있음

- 새 인스턴스에 다시 연결되면 속성이 그대로 적용됨

 

vpn (Virtual Private Network)

- 가상 사설망 ( 사설망은 특정한 조직 내에서만 사용되는 네트워크로 보안성이 우수함)

- 원격이나 해외등의 다른 네트워크를 사용할 수 있게 해줌

- 사용기록, ip, 위치등을 숨길 수 있어 보안성을 높임

- 예를들어 멀리떨어져 있는 지점까지 사설망으로 연결할려면, 전용회선으로 연결하는 방법이 있는데 이 방법은 성능은 뛰어나지만 비용이 많이 들음 -> 이 전용 회선을 대체해서 인터넷을 사설망처럼 안전하게 전용 네트워크를 구성하자

 

AWS VPN

- 사내 네트워크 또는 원격 사이트를 vpc에 안전하게 연결할 수 있게 하는 서비스

- 사이트간 vpn : 인터넷 통해 사내 네트워크와 vpc간의 암호화된 안전한 연결 

- 클라이언트 vpn : 개별 사용자가 vpn 소프트웨어 사용해서 원격에서 vpc에 안전하게 연결

 

Direct connect

- 온프레미스에서 aws로 전용 네트워크 연결을 쉽게 설정할 수 있는 솔루션

- 인터넷 기반 연결보다 대역폭 처리량 늘어나고 일관된 경험 제공

 

vpc endpoint

- vpc내의 리소스들이 vpc의 외부 서비스에 접근할 때 nat, igw안쓰고 아마존의 백본 네트워크를 이용하여 프라이빗하게 연결하는 방법

- 퍼블릭으로 해당 서비스를 노출하지 않고 연동함

 

transitgateway

- 서로다른 vpc간 통신 가능하게 하는 서비스

- peering은 1대 1 연결만 지원하지만 여러 vpc간 연결 정책을 중앙에서 관리할 수 있음

- vpn을 통해 vpc와 온프레미스 네트워크를 연결함

 

 

https://medium.com/harrythegreat/aws-%EA%B0%80%EC%9E%A5%EC%89%BD%EA%B2%8C-vpc-%EA%B0%9C%EB%85%90%EC%9E%A1%EA%B8%B0-71eef95a7098

 

[AWS] 가장쉽게 VPC 개념잡기

가장쉽게 VPC 알아보기

medium.com

https://pjh3749.tistory.com/283

 

AWS VPC 기본 개념 정리 - VPC를 구성하는 기본 원리

선수 지식 VPC를 이해하기 위해서 선수 지식이 좀 필요한데 아주 간단하게만 보고 가겠습니다. IP주소는 32자리 2진수인데 총 개수는약 40억개정도 됩니다. 그리고 (네트워크 주소 + 호스트 주소)

pjh3749.tistory.com

https://velog.io/@younghyun/VPN%EC%9D%B4%EB%9E%80

 

VPN이란??

VPN은 무엇인지와, 어떻게 동작하는지 알아보자

velog.io