모듈 3 : 네트워킹 1

2023. 8. 27. 09:36스터디/Architecting on AWS

728x90

# IP 주소

- 네트워크 내 로케이션을 식별

- 네트워크와 호스트를 식별

 

# CLassless Inter-Domain Routing(CIDR)

CIDR 블록 : 네트워크나 서브넷의 IP 주소 범위

 

# Vritual Private Cloud (VPC)

- 클라우드 가상 네트워크 환경

- 사용자가 정의한 가상 네트워크 안에서 AWS 리소스 시작할 수 있음.

- AWS 리전 중 하나에 배포

## VPC 사용시 가능한 작업

- 원하는 IP 주소 범위 선택

- 서브넷 생성

- 라우팅 테이블과 네트워크 게이트웨이 구성

 

# 서브넷

- VPC 내 IP 주소 범위

- 인터넷으로 연결되어야 하는 리소스는 퍼블릭 서브넷, 인터넷에 연결되지 않는 리소스는 프라이빗 서브넷 사용

- 서브넷은 가용 영역 하나 안에 포함

- 각 서브넷 CIDR 블록에서 처음 4개 IP 주소와 마지막 IP주소는 사용 불가

-- 10.0.0.0 : 네트워크 주소

-- 10.0.0.1 : VPC 라우터용

-- 10.0.0.2 : DNS 서버 IP 주소

-- 10.0.0.3 : 차후 사용을 위해 AWS에서 예약

-- 10.0.0.255 : 네트워크 브로드캐스트 주소

- 작은 크기 보다 큰 서브넷(/24 이상)을 사용하는 것이 좋음. 큰 서브넷에 워크로드 분산시 IP가 낭비되거나 소진될 가능성을 줄일 수 있음.

 

# 퍼블릭 서브넷

- 인터넷으로 연결되어야 하는 서브넷

- 인바운드, 아웃바운드 인터넷 트레픽을 사용하는 리소스 필요

 

## 퍼블릭 서브넷에 필요한 항목

- 인터넷 게이트웨이 : VPC의 리소스와 인터넷 간의 통신 허용

- 라우팅 테이블 : 네트워크 트래픽이 전달되는 위치를 결정하는 데 사용되는 규칙(경로) 집합 포함.

- 퍼블릭 IP 주소 : 인터넷에서 엑세스 할 수 있는 주소 

 

# 인터넷 게이트웨이

- VPC 간의 인스턴스와 인터넷 간의 통신을 호용

- 수평적으로 확장되고, 중복적인 고가용성 VPC 구성 요소

- 네트워크 트래픽에 가용성 위험이나 대역폭 제약이 발생하지 않음

 

## 인터넷 게이트웨이 사용 목적

1. 인터넷 라우팅 가능 트래픽용으로 라우팅 테이블에 대상 제공

- 서브넷은 기본적으로 아웃바운드 트래픽을 허용 X, VPC 는 라우팅 테이블을 사용하여 트래픽 라우팅 위치를 결정.

- VPC가 인터넷 트레픽을 라우팅하도록 허용하려면 Gateway 대상 위치로 지정하여 아웃바운드 경로를 생성

2. NAT를 수행하여 네트워크 IP 주소 보호

인터넷 연결하는 네트워크 리소스는 두 종류의 IP 주소 사용

- 프라이빗 IP : 프라이빗 네트워크 내 통신 사용. 인터넷 연결 불가

- 퍼블릭 IP : VPC 리소스와 인터넷 간 통신은 퍼블릭 IP 사용. 인터넷 연결 가능

인터넷 게이트웨이는 퍼블릭 IP 와 프라이빗 IP 를 매핑하여 NAT 수행

 

# 라우팅 테이블

- 라우팅 테이블은 네트워크 트레픽의 방향을 제어

- 라우팅 테이블은 VPC가 네트워크 트래픽이 전달되는 위치를 결정하는 데 사용되는 규칙 세트(경로) 포함

- VPC 생성 시 자동으로 기본 라우팅 테이블 생성. 처음에는 단일 경로만 포함

- 로컬 경로는 VPC내 모든 리소스에 대한 통신 허용

- 라우팅 테이블의 로컬 경로는 수정할 수 없음

- VPC 내 각 서브넷은 라우팅 테이블과 연결돠어야

- 서브넷은 한 번에 하나의 라우팅 테이블만 연결하나, 여러 서브넷 같은 경우 같은 라우팅 테이블에 연결할 수 있음.

 

# 프라이빗 서브넷

- 인터넷 간접적으로 엑세스를 허용

- 프라이빗 IP 주소는 변경되지 않음

- vPC 내 트래픽은 로컬로 유지

 

# 탄력적 IP 주소

- 동적 클라우드 컴퓨팅을 위해 설계된 정적 퍼블릭 주소

- 주소를 VPC의 다른 인스턴스에 신속하게 다시 매핑하여 인스턴스의 장애를 마스킹할 수 있음.

- 탄력적 IP 주소는 5개로 제한. 이를 절약하기 위해 NAT 디바이스를 사용할 수 있음.

 

# 탄력적 네트워크 인터페이스

- VPC 에서 가상 네트워크 카드를 나타내는 논리적 네트워킹 구성 요소

- 네트워크 인터페이스를 인스턴스 간 이동하면 네트워크 트래픽이 새 인스턴스로 리다이렉션 됨. -> 같은 가용 영역의 리소스 간 이동 가능

- VPC 각 인스턴스에는 프라이머리 네트워크 인터페이스가 있음.

- 프라이빗 IP 주소, 탄력적 IP 주소 및 MAC 주소가 그대로 유지됨

- 특정 서브넷의 네트워크 인터페이스를 같은 VPC 내 다른 서브넷의 인스턴스에 연결 가능하다. 단 이 경우는 두 네트워크 인터페이스와 인스턴스가 같은 가용 영역에 있어야 함.

 

### 인스턴스 하나에 여러 네트워크 인터페이스 사용 케이스

1. 관리 네트워크 생성

2. VPC에서 네트워크 보안 어플라이언스 사용

3. 워크로드 또는 역할이 서로 다른 서브넷에 있는 이중 홈 인스턴스 생성

4. 저비용 고가용성 솔루션 생성

 

# NAT 게이트웨이를 통한 Network Address Translation

- NAT를 사용하여 프라이빗 IP 주소를 보호

- NAT 게이트웨이는 탄력적 IP 주소를 프라이빗 서브넷으로부터 트레픽에 대한 소스 IP로 사용 

- NAT를 통해 VPC의 인스턴스와 인터넷 간에 통신 가능

- 퍼블릿, 프라이빗 서브넷에 모두 배치할 수 있음.

- CIDR 범위가 겹치더라도 프라이빗 NAT 게이트웨이를 사용하여 네트워크 간 통신을 원활하게 진행 가능

 

## NAT 사용 사례 : 인터넷에 프라이빗 서브넷 연결

- private 서브넷용 라우팅 테이블은 모든 인터넷 트레픽을 NAT로 전송

- 퍼블릭 서브넷용 라우팅 테이블은 모든 인터넷 트래픽을 인터넷 게이트웨이로 전송

- 프라이빗 서브넷 인스턴스와 인터넷 또는 기타 AWS 서비스 간 단방향 연결에 NAT 사용 가능

 

### 외부 트래픽이 프라이빗 인스턴스와 연결될 수 없는 경우 //??? 잘 모르겠음

1. 프라이빗 서브넷용 라우팅 테이블이 모든 인터넷 트래픽을 NAT로 전송하는 경우

2. NAT 가 프라이빗 서브넷에서 전송되는 트래픽용 주소로 탄력적 IP 주소를 사용하는 경우

3. IPv6에서 퍼블릭 서브넷용 라우팅 테이블이 모든 인터넷 트레픽을 인터넷 게이트웨이로 전송하는 경우.

 

# 여러 가용 영역에 VPC 배포

- 각 가용 영역에 서브넷을 생성하고 리소스를 배포

- 로드 벨런서를 사용하여 가용 영역 간에 트레픽 분산

- 데이터 보안 유지

- 트레픽 분산 -> 고가용성을 실현

- 가용영역 하나 작동 중단 시 다른 가용 영역으로 장애 조치 가능

 

# 네트워크 엑세스 제어 목록(ACL)

- 1개 이상의 서브넷에서 송수신되는 트레픽 제어

- 서브넷 경계에서 방화벽 역할

- 기본적으로 모든 인바운드 및 아웃바운트 트래픽 허용

- 상태 비저장이므로 모든 트레픽에 대한 명시적 규칙 필요

- 번호가 가장 낮은 규칙부터 시작하여 차례로 평가

### ACL 규칙 구성 요소

1. 규칙 번호 - 가장 낮은 항목부터 차례로 평가

2. 유형 : SSH 등의 트레픽 유형. 모든 트래픽이나 사용자 정의 범위 지정 가능

3. 프로토콜 : 표준 프로토콜 번호가 지정된 어떤 프로토콜이든 지정 가능

4. 포트 범위 :  트레픽용 수신 대기 포트 또는 포트 범위 

5. 소스 - 트레픽 소스(CIDR 범위). 인바운드 규칙에만 적용

6. 대상 위치 : 트래픽의 대상 위치(CIDR 범위). 아웃바운드 규칙에만 적용

7. 허용 또는 거부

 

# 보안 그룹

- 인스턴스에 대한 인바운드 및 아웃바운드 트레픽을 제어하는 가상 방화벽 역할

- 서브넷 수준이 아닌 인스턴스 수준에서 작동

- 트래픽은 IP 프로토콜, 서비스 포트 및 대상 IP 주소를 기준으로 제한 가능

- 보안 그룹 규칙을 사용하면 프로토콜 및 포트 번호를 기준으로 트래픽을 필터링

## 보안 그룹 연결

-트래픽이 상위 티어에서 하위 티어로만 흐름.

- 보안 그룹은 서브넷 전체의 보안 위반을 방지하는 방화벽 역할

 

### 보안 그룹과 ACL 비교

 

 

 

728x90

'스터디 > Architecting on AWS' 카테고리의 다른 글

모듈 6 : 데이터베이스 서비스  (1) 2023.08.27
모듈 5 : 스토리지  (0) 2023.08.27
모듈 4: 컴퓨팅  (0) 2023.08.27
모듈 2 : 계정 보안  (0) 2023.08.27
모듈 1 : 아키텍팅 기본 사항  (0) 2023.08.26