About VPC
VPN
Virtual Private Network 의 약자로 "가상 사설망" 입니다.
VPN은 실제로 같은 네트워크 상에 있지만 논리적인 네트워크를 두어 나누는 것을 의미합니다.
네트워크 A, 네트워크 B 로 나누어 다른 네트워크 처럼 관리 할 수 있습니다.
CIDR
CIDR 블록은 IP의 범위를 지정하는 방식입니다.
IP주소와 슬래시( / )뒤에 따라오는 넷마스크 숫자로 구성되어 있습니다.
넷마스크 숫자는 IP범위를 나타냅니다. 범위는 지정된 IP부터 2^(32-n) 개가 됩니다.
예를 들어 /24 라면, 2^(32 - 24) = 256개의 IP주소를 의미 합니다.
즉, 192.168.0.0/24 인 CIDR 블록은 192.168.0.0 에서 192.168.0.255 까지의 IP를 의미한다.
하나의 VPC의 넷마스크 최대값은 16입니다. (from 16 to 32)
최대 65536개의 IP를 사용할 수 있습니다.
CIRD 계산기 : 링크
Private IPv4 addresses
CIDR 의 범위를 지정하는데 특별한 제약은 없지만, 인터넷과 연결돠이 있는 경우 문제가 발생할 수 있습니다.
예를 들어 52.12.0.0/16을 CIDR 블록으로 지정한 경우에는 이 VPC에서 52.12.0.0/16로 접속하는 트래픽은 VPC 내부로 라우트 됩니다.
그런데 이 범위의 IP는 인터넷에서 사용할 수 있는 IP이기 때문에, 이 VPC 내부에서는 52.12.0.0/16 에 속한 인터넷 IP에 접근하는 것이 불가능합니다.
인터넷 연결이 필요한 경우 반듯이 사설 아이피 대역을 사용해야 합니다.
VPC에서 사용하는 사설 아이피 대역은 아래와 같습니다.
- A 클래스 : 10.0.0.0/8
- B 클래스 : 172.16.0.0/12
- C 클래스 : 192.168.0.0/16
VPC
Virtual Private Cloud 의 약자로, "가상 사설 클라우드망" 입니다.
클라우드에서 논리적으로 격리된 공간을 프로비저닝 하는것을 의미합니다.
클라우드 하나의 계정에서 생성하는 리소스들만의 격리된 네트워크를 만들어주는 기능입니다.
일반적으로 보안을 위해 AWS 리소스간 허용을 최소화하고 그룹별로 손쉽게 네트워크를 구성하기 위해 사용합니다.
VPC 가 없다면 ec2 인스터스들이 복잡하게 연결되며, 시스템의 복잡도를 높히고 하나의 인스턴스을 추가되도 관련된 모든 인스턴스를 수정해야하는 불편함이 생깁니다.
아래는 vpc 가 없는 구조(왼편) 와 vpc 가 적용된 구조(오른편) 을 비교하는 그림입니다.
아래는 AWS Cloud 에서 VPC를 구축한 모습입니다.
Subnet
VPC가 논리적인 범위를 의미한다면, 서브넷은 VPC안에서 실제로 리소스가 생성될 수 있는 네트워크 입니다.
클라우드의 어떤 서비스의 리소스를 생성할 때 VPC만 지정하는 경우는 없습니다.
VPC와 서브넷을 모두 지정하거나 서브넷을 지정하면 VPC는 자동으로 유추됩니다.
서비넷은 실제로 리소스가 생성되는 물리적인 공간인 Available Zone과 연결됩니다.
하나의 VPC는 N개의 서브넷을 가질 수 있습니다.
N 가용존 개수 만큼 서브넷을 만들어 리소스를 분산하면 재해 대응 측면에서 유리합니다.
아래는 VPC 안에 2개의 subnet을 구축한 모습입니다.
Route Table
라우트 테이블은 서브넷과 연결되는 리소스 입니다.
서브넷에서 네트워크 요청이 발생하면 이 라우트 테이블을 사용해서 목적지를 찾게 됩니다.
라우트 테이블은 서브넷과 연결되지만 VPC를 생성할 때 만들어지고 VPC에도 연결되어 있습니다.
이 라우트 테이블은 VPC에 속한 서브넷을 만들 때 기본 라우트 테이블로 사용됩니다.
자동 생성되는 라우트 테이블에는 한가지 룰만 정의되어 있습니다.
VPC 의 CIRD 블럴을 목적지로 하는 경우 타깃을 VCP 내부에서 찾는 local 규칙입니다.
인터넷을 연결하거나 다른 VPC와 통신하기 위해서는 라우트 테이블에 라아트 규칙을 추가 정의해야 합니다.
아래는 라우트 테이블을 구축한 모습입니다.
Internet Gateway
VPC는 격리된 네트워크 환경입니다.
VPC내에서 생성된 리소스들은 기본적으로 인터넷을 사용할 수가 없습니다.
인터넷에 연결하기 위해서는 Internet Gateway 리소스가 필요합니다.
라우트 테이블에 Internet Gateway 를 향하는 적절한 규칙을 추가하면 특정 서브넷이 인터넷과 연결이 가능합니다.
추가적으로 인터넷을 사용하고자 하는 리소스는 퍼블릭 IP를 가지고 있어야 합니다.
인터넷과 연결되어 있는 서브넷을 퍼블릭 서브넷, 연결되지 않은 서브넷을 프라이빗 서브넷이라고 합니다.
아래는 Internet Gateway를 구축한 모습입니다.
NAT Gateway
프라이빗 서브넷에서 내부에서 요청되는 아웃바운드로 인터넷과 통신이 필요할때 Nat Gateway가 필요합니다.
프라이빗 서브넷에 있는 인스턴스의 펌웨어나 혹은 주기적인 업데이트가 필요한 경우를 말합니다.
Nat Gateway는 퍼블릿 서브넷상에서 동작하며, Nat Gateway는 프라이빗 서브넷에서 외부로 요청하는 아웃바운드 트래픽을 받아 Internet Gateway와 연결시켜줍니다.
아래는 Nat Gateway를 구축한 모습입니다.
Network ACL
Network ACL은 서브넷 앞단에서 주고(outbound) 받는(inbound) 트래픽을 제어하는 가상 방화벽입니다.
하나의 Network ACL은 다수의 서브넷에서 재사용할 수 있습니다.
Security Group
Security Group은 인스탄스의 앞단에서 주고(outbound) 받는(inbound) 트래픽을 제어하는 가상 방화벽입니다.
서브넷 앞단에서 Network ACL의 규칙을 통과하더라도 Security 그룹의 규칙을 통과하지 못 하면 인스턴스와의 통신하지 못합니다.
VPC Peering
프라이빗 IPv4 주소 또는 IPv6 주소를 사용하여 두 VPC 간에 트래픽을 라우팅할 수 있도록 하기 위한 네트워킹 연결입니다.
동일한 네트워크에 속하는 경우 처럼 VPC의 인스턴스가 서로 통신할 수 있습니다.
또는 다른 AWS 계저의 VPC와도 VPC 피러링 연결을 만들 수 있습니다.
VPC는 다른 리전에 있을 수도 있습니다.
모든 리전 간 트래픽은 암호화되며 단일 장애 지점 또는 대역폭 제한이 없습니다.
트래픽은 항상 글로벌 AWS 백본에서만 유지되고 절대로 퍼블릭 인터넷을 통과하지 않으므로 일반적인 취역점 공겨과 DDoS 공격같은 위협이 감소합니다.
리전 간 VPC 피어링은 리전간에 리소스를 공유하거나 지리적 중복성을 위해 데이터를 복제할 수 있는 간단하고 비용 효울적인 방법입니다.
DHCP option Set
VPC를 생성하면 자동으로 DHCP 옵션 세트가 생성되어 VPC와 연결됩니다.
DHCP option Set 은 TCP/IP 네트워크 상의 호스트로 설정 정보를 전달하는 DHCP 표준입니다.
Domain Name Server, Domain Name, NTP Server, NetBIOS Server 등의 정보를 설정할 수 있습니다.
일반적으로 VPC 생성시 만들어지는 DHCP option Set을 그대로 사용합니다.
VPC Flow Logs
네트워크 모니터링에서 로그 수집 기능을 향상하기 위해 VPC의 Flow Logs 를 사용할 수 있습니다.
특정 VPC에서 Flow Logs를 사용하여 VPC 서브넷과 엘라스틱 네트워크 인터페이스(ENI)의 네트워크 트래픽이 CloudWatch Logs를 통해 저장된 후,
자신의 응용 프로그램이나 타사 프로그램에서 분석 할 수 있습니다.
특정 유형의 트래픽을 감지하여 알람을 만들거나 트래픽의 변화와 패턴을 파악하기 위한 통계를 만들 수도 있습니다.
로그 정보에는 Security Group 및 Network ACL 규칙에 의해 허용 및 차단 트래픽 정보가 포함되어 있습니다.
또한, 소스/목적지 IP 주소, 포트, 프로토콜 번호 패킷 파이트 모니터링 간격 시간, 그리고 이에 따른 액션 ( ACCEPT 또는 REJECT) 정보도 포함됩니다.
VPC Direct Connect
온프레미스에서 AWS로 전용 네트워크 연결을 쉽게 설정할 수 있는 클라우드 서비스 솔루션 입니다.
AWS Direct Connect 를 사용하면 AWS와 사용자의 데이터 센터, 사무실등의 환경 사이에 프라이빗 연결울 설정할 수 있습니다.
따라서 많은 경우 네트워크 비용을 줄이고, 대역폭 처리량을 늘리며, 인터넷 기반 연결보다 일관된 네트워크 경혐을 제공 받을 수 있습니다.
댓글
댓글 쓰기