보충설명
1. VPC (Virtual Private Cloud)
정의
VPC는 AWS 클라우드에서 격리된 가상 네트워크입니다. 내부에서 IP 주소 범위, 서브넷, 라우팅, 보안 설정 등을 직접 관리할 수 있으며, 마치 자체 데이터 센터를 구성하는 것처럼 네트워크를 설정할 수 있습니다.
특징
프라이빗 네트워크: AWS 클라우드 내에서 사용자가 직접 설정한 가상 네트워크
IP 주소 대역: CIDR 블록(예:
10.0.0.0/16
)을 기반으로 네트워크 범위를 지정서브넷, 라우팅 테이블, 인터넷 게이트웨이 등의 구성 요소로 네트워크를 제어
2. 서브넷 (Subnet)
정의
서브넷은 VPC 내에서 정의된 IP 주소 대역의 세부 분할입니다. VPC를 여러 개의 서브넷으로 나눔으로써 네트워크를 논리적으로 구분할 수 있습니다.
종류
퍼블릭 서브넷 (Public Subnet)
**인터넷 게이트웨이(IGW)**를 통해 인터넷과 직접 통신할 수 있는 서브넷
예: 웹 서버, 로드 밸런서 등 외부와 통신하는 리소스를 배치
프라이빗 서브넷 (Private Subnet)
인터넷에 직접 연결되지 않는 서브넷
예: 데이터베이스 서버, 내부 애플리케이션 서버 등 보안이 중요한 리소스를 배치
특징
각 서브넷은 라우팅 테이블을 통해 트래픽 경로를 결정
서브넷은 특정 **가용 영역(AZ)**에 속하며, 고가용성을 위해 여러 AZ에 분산 배치 가능
3. 인터넷 게이트웨이 (Internet Gateway, IGW)
정의
**인터넷 게이트웨이(IGW)**는 VPC가 인터넷과 통신할 수 있도록 연결해주는 장치입니다.
특징
퍼블릭 서브넷이 인터넷과 통신하기 위해 필수적으로 연결되어야 함
VPC당 하나의 IGW만 연결 가능
라우팅 테이블에 IGW로의 경로를 추가해야만 인터넷 접속 가능
4. 라우팅 테이블 (Routing Table)
정의
라우팅 테이블은 VPC 내에서 **트래픽의 흐름(경로)**을 정의합니다. 특정 IP 주소로 향하는 패킷이 어디로 전달될지 결정하는 역할을 합니다.
구성
목적지(Destination): 트래픽이 향하는 대상 IP 대역 (예:
0.0.0.0/0
은 모든 트래픽)타겟(Target): 트래픽이 향하는 대상 (예: 인터넷 게이트웨이, NAT 게이트웨이, 특정 인스턴스 등)
라우팅 예제
퍼블릭 서브넷 라우팅 테이블
0.0.0.0/0
→ 인터넷 게이트웨이(IGW) → 모든 외부 트래픽이 인터넷으로 나감
프라이빗 서브넷 라우팅 테이블
0.0.0.0/0
→ NAT 게이트웨이 또는 NAT 인스턴스 → 내부 리소스는 인터넷에 출력만 가능하고, 외부에서 직접 접근 불가
5. 보안 그룹(Security Group) & 네트워크 ACL (NACL)
보안 그룹(Security Group)
인스턴스 레벨의 가상 방화벽으로, 인바운드/아웃바운드 트래픽을 제어합니다.
상태 기반(Stateful): 인바운드 허용 시, 자동으로 해당 세션의 아웃바운드도 허용
인스턴스에 직접 연결됨
네트워크 ACL (NACL)
서브넷 레벨의 방화벽으로, 서브넷 내 리소스에 대한 트래픽을 제어합니다.
비상태(Stateless): 인바운드와 아웃바운드 규칙을 각각 설정해야 함
서브넷에 적용되며, 서브넷 내 모든 인스턴스에 영향
6. NAT 게이트웨이 / NAT 인스턴스
NAT 게이트웨이
프라이빗 서브넷의 리소스가 인터넷으로 아웃바운드 트래픽을 전송할 수 있게 도와주는 장치입니다.
외부에서 직접 접근은 불가능하지만, 내부 리소스가 인터넷으로 나갈 수 있도록 함
주로 소프트웨어 업데이트, 외부 API 호출 등에 사용
NAT 인스턴스
NAT 게이트웨이와 유사하지만, EC2 인스턴스로 설정된 NAT 역할을 수행합니다.
NAT 게이트웨이에 비해 유연하지만 관리가 복잡
7. VPC 피어링 (VPC Peering)
정의
서로 다른 VPC 간에 프라이빗 네트워크로 통신할 수 있게 하는 연결입니다.
같은 리전 또는 다른 리전의 VPC 간 연결 가능
라우팅 테이블에 피어링 연결을 추가해야 통신 가능
VPC 피어링 연결은 상호적: 양쪽 모두 라우팅 설정 필요
8. 기본 VPC 아키텍처 예제
아키텍처 흐름 예시
VPC 생성:
10.0.0.0/16
CIDR 블록 할당서브넷 생성:
퍼블릭 서브넷:
10.0.1.0/24
(웹 서버용)프라이빗 서브넷:
10.0.2.0/24
(DB 서버용)
인터넷 게이트웨이(IGW) 연결:
VPC에 IGW 연결
퍼블릭 서브넷의 라우팅 테이블에
0.0.0.0/0 → IGW
추가
라우팅 테이블 설정:
퍼블릭 서브넷:
0.0.0.0/0 → IGW
프라이빗 서브넷:
0.0.0.0/0 → NAT 게이트웨이
보안 그룹 설정:
웹 서버: 포트 80, 443 열기
DB 서버: 포트 3306(MySQL) 내부 트래픽만 허용
9. 각 구성 요소의 관계
VPC: 네트워크의 기본 틀
서브넷: VPC를 논리적으로 나눈 구역
퍼블릭 서브넷: IGW를 통해 인터넷과 통신
프라이빗 서브넷: NAT 게이트웨이 통해 아웃바운드 트래픽
라우팅 테이블: 서브넷의 트래픽 경로 설정
인터넷 게이트웨이(IGW): 퍼블릭 서브넷이 인터넷에 접근하도록 허용
보안 그룹/NACL: 네트워크 트래픽 제어
CIDR (Classless Inter-Domain Routing)
CIDR는 IP 주소와 서브넷 마스크를 효율적으로 표현하고 관리하기 위한 방식입니다. 주로 IP 주소 할당, 네트워크 분할(서브넷팅), 그리고 라우팅 경로 설정에 사용됩니다.
1. CIDR 기본 개념
A. CIDR 표기법
CIDR은 IP 주소와 슬래시(/) 뒤에 오는 숫자로 구성됩니다.
형식:
IP 주소: 네트워크의 시작 주소 (예:
192.168.1.0
)프리픽스 길이: 네트워크 부분을 나타내는 비트 수 (예:
/24
는 앞의 24비트가 네트워크 주소)
B. 프리픽스 길이와 서브넷 마스크의 관계
CIDR 표기법
서브넷 마스크
호스트 수
설명
/8
255.0.0.0
약 1,677만 개
클래스 A, 대규모 네트워크
/16
255.255.0.0
약 65,534개
클래스 B, 중간 규모
/24
255.255.255.0
254개
클래스 C, 소규모 네트워크
/32
255.255.255.255
1개 (개별 IP 주소)
단일 호스트 지정
2. CIDR의 동작 원리
A. IP 주소의 구성
IP 주소(IPv4)는 32비트로 구성되며, 이를 8비트씩 4개의 옥텟으로 나눕니다.
예:
192.168.1.0
→ 11000000.10101000.00000001.00000000
B. 프리픽스 길이 해석
192.168.1.0/24
**프리픽스
/24
**는 첫 24비트(3개의 옥텟)가 네트워크 부분을 의미합니다.192.168.1
→ 네트워크0
→ 호스트 부분 (변경 가능)
192.168.1.0/26
**프리픽스
/26
**은 첫 26비트가 네트워크를 의미, 마지막 6비트는 호스트.이 경우 호스트 수는 2⁶ - 2 = 62개
3. CIDR을 이용한 서브넷팅 (Subnetting)
A. 서브넷팅이란?
서브넷팅은 하나의 네트워크를 **더 작은 네트워크(서브넷)**로 나누는 과정입니다. 이를 통해 네트워크를 효율적으로 관리하고, 보안을 강화할 수 있습니다.
B. 서브넷팅 예제
예제 1: /24
대역을 4개의 서브넷으로 분할
시작 대역:
192.168.1.0/24
→ 총 256개의 IP 주소 (0~255)4개의 서브넷으로 나누기
필요 비트 수: 2² = 4 → 2비트 추가 필요
새 프리픽스:
/26
(24 + 2)
서브넷 결과
서브넷
CIDR 블록
IP 범위
사용 가능 IP 수
서브넷 1
192.168.1.0/26
192.168.1.1
~ 192.168.1.62
62개
서브넷 2
192.168.1.64/26
192.168.1.65
~ 192.168.1.126
62개
서브넷 3
192.168.1.128/26
192.168.1.129
~ 192.168.1.190
62개
서브넷 4
192.168.1.192/26
192.168.1.193
~ 192.168.1.254
62개
4. AWS에서 CIDR 활용
A. VPC 생성 시 CIDR 지정
AWS VPC를 생성할 때, CIDR 블록을 지정해야 합니다.
예:
10.0.0.0/16
IP 주소 개수: 2¹⁶ = 65,536개
B. 서브넷 분할 예제 (AWS)
VPC CIDR:
10.0.0.0/16
(65,536 IP)서브넷 1 (퍼블릭 서브넷):
10.0.1.0/24
(256 IP)서브넷 2 (프라이빗 서브넷):
10.0.2.0/24
(256 IP)서브넷 3 (DB 서브넷):
10.0.3.0/24
(256 IP)
5. CIDR 블록의 주요 용도
네트워크 분할(서브넷팅):
대규모 네트워크를 작은 단위로 나눠 관리
IP 주소 관리:
네트워크 설계 시 필요한 IP 주소를 효율적으로 할당
보안 및 트래픽 제어:
특정 CIDR 범위에서만 접근을 허용하여 보안 강화
라우팅 경로 설정:
CIDR 범위를 기반으로 라우팅 테이블에서 경로 지정
6. CIDR 계산 방법
A. IP 주소 수 계산
공식:
사용 가능한 IP 주소 수 = 2^(32 - 프리픽스 길이) - 2 (네트워크 주소와 브로드캐스트 주소 제외)
예제:
192.168.1.0/24
→ 2^(32-24) - 2 = 254개192.168.1.0/26
→ 2^(32-26) - 2 = 62개
7. IPv6에서의 CIDR
IPv6 CIDR 표기법
IPv6도 CIDR 방식을 사용하지만, 128비트 주소 체계를 따릅니다.
예:
2001:db8::/32
IPv6 CIDR 특징
프리픽스 길이는 보통
/64
(가장 일반적인 서브넷 크기)더 많은 주소 공간 제공 (사실상 무한에 가까움)
1. NAT 게이트웨이 (NAT Gateway)
정의
NAT 게이트웨이는 프라이빗 서브넷에 있는 리소스가 인터넷으로 아웃바운드 트래픽을 전송할 수 있도록 하는 AWS 관리형 서비스입니다. 반대로, 인터넷에서는 이 리소스에 직접 접근할 수 없습니다.
특징
프라이빗 서브넷 리소스가 소프트웨어 업데이트, 외부 API 호출 등을 위해 인터넷에 연결 가능
고가용성 및 자동 확장 지원
퍼블릭 서브넷에 배치되어야 하며, Elastic IP와 연결
2. 피어링 연결 (VPC Peering)
정의
**VPC 피어링(VPC Peering)**은 서로 다른 VPC 간의 프라이빗 네트워크 연결을 제공합니다. 이를 통해 두 VPC 간의 트래픽을 인터넷을 거치지 않고 안전하게 전달할 수 있습니다.
특징
같은 리전 또는 다른 리전의 VPC 간 연결 가능
양쪽 VPC의 라우팅 테이블에 피어링 연결을 추가해야 통신 가능
상호적 연결: 두 VPC 모두 라우팅 및 보안 그룹 설정 필요
3. 송신 전용 인터넷 게이트웨이 (Egress-only Internet Gateway)
정의
**송신 전용 인터넷 게이트웨이(Egress-only Internet Gateway)**는 IPv6 트래픽을 위해 설계된 게이트웨이로, 프라이빗 서브넷의 리소스가 아웃바운드 트래픽만 인터넷으로 전송할 수 있도록 합니다.
특징
IPv6 전용: IPv4에서는 사용할 수 없음
인터넷으로 나가는 트래픽만 허용하고, 외부에서의 직접 접근은 차단
4. DHCP 옵션 세트 (DHCP Option Sets)
정의
DHCP 옵션 세트는 VPC 내의 인스턴스가 부팅될 때 자동으로 **네트워크 설정(IP 주소, DNS 서버 등)**을 할당받는 방법을 정의합니다.
설정 가능한 항목
도메인 이름(Domain Name)
DNS 서버(DNS Servers)
NTP 서버(Network Time Protocol)
NetBIOS 설정 등
5. 탄력적 IP (Elastic IP)
정의
**탄력적 IP(Elastic IP)**는 AWS 클라우드에서 사용하는 고정 퍼블릭 IP 주소입니다. EC2 인스턴스와 연결하여 IP 주소가 변하지 않도록 설정할 수 있습니다.
특징
EC2 인스턴스를 재부팅하거나 중지 후 시작해도 IP 주소가 유지
인스턴스에 할당되지 않은 탄력적 IP는 추가 비용 발생
6. PrivateLink & AWS VPC Lattice
A. PrivateLink
정의
AWS PrivateLink는 VPC 내에서 프라이빗 IP 주소를 통해 AWS 서비스 또는 타사 서비스에 안전하게 연결할 수 있도록 합니다.
특징
트래픽이 인터넷을 거치지 않고 AWS 네트워크 내에서 안전하게 전달
서비스 제공자는 **엔드포인트 서비스(Endpoint Service)**를 생성하고, 클라이언트는 이를 통해 연결
B. AWS VPC Lattice
정의
VPC Lattice는 AWS에서 서비스 간 통신을 위한 통합 네트워킹 및 보안 제어 기능을 제공합니다. 마이크로서비스 아키텍처에서 복잡한 네트워크 연결을 단순화하는 데 유용합니다.
특징
서비스 간 자동 라우팅 및 정책 기반 트래픽 관리
서비스 디스커버리 및 보안 통제 통합 지원
7. 엔드포인트 (VPC Endpoints)
정의
**VPC 엔드포인트(VPC Endpoints)**는 VPC 내 리소스가 퍼블릭 인터넷을 거치지 않고 AWS 서비스(S3, DynamoDB 등)에 접근할 수 있도록 하는 기능입니다.
종류
인터페이스 엔드포인트(Interface Endpoint)
프라이빗 IP 주소를 사용하여 서비스에 연결
AWS PrivateLink를 기반으로 동작
게이트웨이 엔드포인트(Gateway Endpoint)
S3와 DynamoDB에 접근할 때 사용
라우팅 테이블에 직접 추가됨
8. DNS 방화벽 (DNS Firewall)
정의
DNS 방화벽은 Route 53 Resolver를 통해 악성 도메인으로의 DNS 쿼리를 차단하고, 허용된 도메인 목록만 접근할 수 있도록 설정하는 보안 기능입니다.
특징
DNS 쿼리 필터링: 허용된 도메인만 접근 가능
보안 정책 설정: 악성 도메인 차단, 기업 내부 도메인 제한
9. 네트워크 방화벽 (AWS Network Firewall)
정의
AWS Network Firewall은 VPC 내에서 트래픽 필터링, 침입 방지(IPS) 등을 수행하는 관리형 방화벽 서비스입니다.
특징
스테이트풀 패킷 검사(Stateful Packet Inspection) 제공
정책 기반 필터링 및 트래픽 로깅 지원
내부 네트워크 트래픽 보호: 서브넷 간 트래픽 제어 가능
10. 가상 사설 네트워크 (VPN)
A. Site-to-Site VPN
정의
Site-to-Site VPN은 온프레미스 데이터센터와 AWS VPC 간에 안전한 IPsec VPN 터널을 설정하는 서비스입니다.
특징
프라이빗 네트워크 간의 암호화된 통신 제공
**가상 프라이빗 게이트웨이(Virtual Private Gateway)**를 통해 설정
B. Client VPN
정의
AWS Client VPN은 개별 사용자가 AWS VPC에 안전하게 원격 접속할 수 있는 SSL 기반 VPN 서비스입니다.
특징
사용자 인증: Active Directory, SAML 기반 인증 지원
모바일 및 데스크톱 클라이언트 지원
11. AWS Transit Gateway
정의
AWS Transit Gateway는 여러 VPC와 온프레미스 네트워크를 중앙 허브를 통해 연결하는 서비스입니다. 네트워크 복잡성을 줄이고, 대규모 네트워크 연결을 관리할 수 있습니다.
특징
허브-스포크 모델: 모든 VPC가 중앙 허브(Transit Gateway)를 통해 연결
확장성: 수천 개의 VPC 및 온프레미스 네트워크 연결 가능
라우팅 테이블 기반 정책 제어
12. 트래픽 미러링 (Traffic Mirroring)
정의
**트래픽 미러링(Traffic Mirroring)**은 VPC 내의 네트워크 트래픽을 복제하여 보안 분석 또는 모니터링 도구로 전송할 수 있는 기능입니다.
특징
보안 모니터링 및 침입 탐지 시스템에 활용 가능
미러 세션을 통해 트래픽 복제 대상 및 목적지 설정
13. Cloud WAN (Wide Area Network)
정의
AWS Cloud WAN은 글로벌 규모의 네트워크 연결을 중앙에서 관리할 수 있는 서비스입니다. 여러 리전과 온프레미스 네트워크를 통합하여 일관된 네트워크 정책을 적용할 수 있습니다.
특징
글로벌 네트워크 관리: 여러 리전 간의 네트워크 연결 및 라우팅 정책 관리
보안 및 컴플라이언스 적용 용이
14. AWS Firewall Manager
정의
AWS Firewall Manager는 AWS 네트워크 보안 정책을 중앙 집중식으로 관리하는 서비스입니다.
특징
여러 계정 및 리전에 보안 정책 일괄 적용
AWS WAF, AWS Shield, Security Group 등의 보안 서비스 통합 관리
Last updated