AWS VPC
- VPC란?
- 가상의 데이터센터
- 리전 단위
- 외부에 격리된 네트워크 컨테이너 구성 가능 (여기서 컨테이너는 Not like Dokcer)
- 원하는 대로 사설망 구축 가능
- 부여된 IP 대역을 분할하여 사용 가능
- 원하는 대로 사설망 구축 가능
- VPC 사용사례
- EC2, RDS, Lambda 등의 다양한 AWS의 컴퓨팅 서비스 실행
- 다양한 서브넷 구성
- 보안 설정 (IP Block, 인터넷에 노출되지 않는 EC2 구성)
- VPC 구성요소
- 서브넷
- 인터넷 게이트웨이
- NACL(나클) / 보안 그룹
- 라우트 테이블
- NAT Instance / NAT Gateway
- Bastion Host
- VPC Endpoint
- 서브넷
- VPC의 하위 단위로 VPC에 할당된 IP를 더 작은 단위로 분할한 개념
- 하나의 서브넷은 하나의 가용영역(AZ) 안에 위치
- CIDR block range로 IP 주소 지정
- 서브넷의 IP 갯수
- AWS의 사용 가능 IP숫자는 5개를 제외하고 계산
- Ex - 10.0.0.0/24 일 때
- 10.0.0.0 : 네트워크 어드레스
- 10.0.0.1 : VPC Router
- 10.0.0.2 : DNS Server
- 10.0.0.3 : 미래에 사용을 위해 남겨 둠
- 10.0.0.255 (마지막 번호) : 네트워크 브로드캐스트 어드레스 (단, 브로드캐스트는 지원하지 않음)
- 즉, 총 사용 가능한 IP 갯수는 2^8 - 5 = 251
- Ex - 10.0.0.0/24 일 때
- AWS의 사용 가능 IP숫자는 5개를 제외하고 계산
- 서브넷 종류
- 퍼블릭 서브넷 : 외부에서 인터넷을 통해 연결할 수 있는 서브넷
- 인터넷 게이트웨이(IGW)를 통해 외부의 인터넷과 연결되어 있음
- 안에 위치한 인스턴스에 퍼블릭 IP 부여 가능
- 웹서버, 어플리케이션 서버 등 유저에게 노출되어야 하는 인프라
- 프라이빗 서브넷 : 외부에서 인터넷을 통해 연결할 수 없는 서브넷
- 외부 인터넷으로 경로가 없음
- 퍼블릭 IP 부여 불가능
- 데이터베이스, 로직 서버 등 외부에 노출 될 필요가 없는 인프라
- 퍼블릭 서브넷 : 외부에서 인터넷을 통해 연결할 수 있는 서브넷
- 인터넷 게이트웨이
- VPC가 외부의 인터넷과 통신할 수 있도록 경로를 만들어주는 리로스
- 기본적으로 확장성과 고가용성이 확보되어 있음
- IPv4, IPv6지원
- IPv4의 경우 NAT 역할
- Route Table에서 경로 설정 후에 접근 가능
- 무료
- 라우트 테이블 (Route Table)
- 트래픽이 어디로 가야 할지 알려주는 이정표
- 보안 그룹 (Security Group)
- 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽 역할
- Network Access Control List (NACL)와 함꼐 방화벽의 역할을 하는 서비스
- Port 허용
- 기본적으로 모든 포트는 비활성화
- 선택적으로 트래픽이 지나갈 수 있는 Port와 Source를 설정 가능
- Deny는 불가능 → NACL로 가능
- 인스턴스 단위
- 하나의 인스턴스에 하나 이상의 SG 설정 가능
- NACL의 경우 서브넷 단위
- 설정된 인스턴스는 설정한 모든 SG의 룰을 적용 받음
- 기본 5개, 최대 16개
- Statful
- 보안그룹은 Stateful
- Inbound로 들어온 트래픽이 별 다른 Outbound 설정 없이 나갈 수 있음
- NACL은 Stateless (Stateless는 그와 반대로 Outbound 설정 없이 나갈 수 없음)
- 네트워크 ACL (NACL)
- 보안그룹처럼 방화벽 역할을 담당
- 서브넷 단위
- 포트 및 IP를 직접 Deny 가능
- 외부 공격을 받는 상황 등 특정 IP를 블록하고 싶을 때 사용
- 낮은 숫자부터 순서대로 보안규칙을 평가
- NACL 규칙
- 규칙 번호 : 규칙에 부여되는 고유 숫자이며 규칙이 평가되는 순서 (낮은 번호부터)
- 유형 : 미리 지정된 프로토콜. 선택 시 AWS에서 잘 알려진 포트에 규칙이 지정
- 프로토콜 : 통신 프로토콜 (TCP, UDP, SMP …)
- 포트 범위 : 허용 혹은 거부할 포트 범위
- 소스 : IP 주소의 CIDR 블록
- 허용/거부 : 허용 혹은 거부 여부
- NAT Gateway
- 프라이빗 서브넷에 있는 인스턴스에서 인터넷에 쉽게 연결할 수 있도록 지원하는 가용성이 높은 AWS 관리형 서비스
- Private 인스턴스가 외부의 인터넷과 통신하기 위한 통로
- NAT Instance는 단일 EC2인스턴트 / NAT Gateway는 AWS에서 제공하는 서비스
- NAT Gateway / Instance는 모두 서브넷 단위
- Public Subnet에 있어야 함
- Bastion Host
- Private 인스턴스에 접근하기 위한 EC2 인스턴스
- Public 서브넷에 위치해야 함
- 방법이 복잡하여 Session Manager를 통해 Private EC2로 접속하기를 권장
728x90
'ssung_데이터 엔지니어링 > 최종 프로젝트' 카테고리의 다른 글
최종 프로젝트_(6) (0) | 2024.03.08 |
---|---|
최종 프로젝트_(4) (0) | 2024.02.28 |
최종 프로젝트 (3) (0) | 2024.02.21 |
최종 프로젝트_(1) (0) | 2024.02.13 |