-
[AWS] VPC 구성의 기본 개념클라우드/AWS 2023. 3. 1. 21:21
네트워크 선수 지식
- ip주소는 네트워크 주소 + 호스트 주소
- 각각을 옥탯이라 하고, 각 옥탯별로 0~255개의 범위이다
- a클래스 : 옥탯 1까지가 네트워크 아이디 + 나머지 옥탯은 호스트 아이디
- b클래스 : 옥탯 2까지 네트워크 아이디
- c클래스 : 옥탯 3까지 네트워크 아이디
-> 하지만 이런 클래스 별로 아이피 할당하는 방식은 사라지고 서브넷 마스크를 사용하기 시작함
-> a클래스는 /8, b클래스는 /16, c클래스는 /24
CIDR
- ipv4 주소를 보다 효율적으로 사용함
- 예를 들어 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://pjh3749.tistory.com/283
https://velog.io/@younghyun/VPN%EC%9D%B4%EB%9E%80
'클라우드 > AWS' 카테고리의 다른 글
[AWS] Route53 + Application LoadBalancer를 이용한 트래픽 분산 (0) 2023.05.01 [AWS] bastion host을 통해 private 서버 접근하기 - linux (0) 2023.04.22 [AWS] Lambda - zip 파일로 코드 올리기 (0) 2023.02.23 [AWS] ec2에서 S3로 파일 업로드 (0) 2022.05.16 [AWS] Rekognition을 이용하여 이미지에서 텍스트 감지하기 (0) 2022.05.16