2023. 8. 27. 09:36ㆍ스터디/Architecting on AWS
# 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 비교
'스터디 > 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 |