Cloud Service/AWS

AWS VPC 그리고 VPC 리소스 알아보기

Cloud Applicaiton Architect 2022. 1. 17. 18:09
반응형

VPC 정의

VPC는 Virtual Private Cloud의 약자로 VPC를 통해 사용자 별로 가상의 사용자 네트워크 환경을 만들수 있도록 해주는 서비스이다. AWS 초창기 부터 있던 서비스는 아니고 2011년 8월부터 정식적으로 서비스 되었다. AWS에 VPC 개념이 도입되면서 기존의 IDC 센터와 차별점이 생겼다고 보아도 무방하다.

 

 

VPC 리소스

VPC 리소스는 AWS VPC내부에서 VPC와 관련있는 네트워크 리소스들을 말한다. AWS 관리 콘솔로 로그인해 서비스 목록에서 VPC를 선택하면 VPC 대시보드에서 각 리전별 운용 가능한 VPC 리소스들을 확인 할 수 있다.

2022년 1월 현재 AWS VPC내 리소스

 

2022년 1월 AWS 서울리전의 VPC 리소스

VPC 리소스 기능
VPC AWS 사용자 계정 전용 가상 네트워크
서브넷 VPCIP 주소 범위로 나눈 가상의 스몰 네트워크
라우팅 테이블
(Routing table)
네트워크 트래픽을 전달할 위치를 결정하는데 사용하는 라우팅이라는 이름의 규칙 집합
인터넷 게이트웨이
(Internet gateway)
VPC의 리소스와 인터넷 간의 통신을 활성화하기 위해 VPC에 연결하는 게이트웨이
VPC 엔드포인트
(End point)
인터넷 게이트웨이, NAT 디바이스, VPN 연결 또는 AWS Direct Connect 연결 없는 PrivateLink 구동
CIDR블록 클래스 없는 도메인간 라우팅이며 인터넷 프토토콜 주소 할당 및 라우팅 집계 방법
Egress-only
Internet gateway
서브넷의 EC2 인스턴스가 인터넷에 액세스할 수 있도록 허용을 가능하게 하지만 인터넷 리소스가 인스턴스와 통신을 시작하지 못하도록 하는 인터넷 게이트웨이
Carrier gateways 통신 사업자용 인터넷 게이트웨이
NAT gateway 프라이빗 서브넷의 EC2가 인터넷, 다른 VPC 혹은 온프레이미스 네트워크 연결을 할수 있도록 허용하는 게이트웨이
NAT instance 프라이빗 서브넷의 인스턴스가 인터넷, 다른 VPC 또는 온프레미스 네트워크에 연결되도록 허용하는 퍼블릭 서브넷의 EC2인스턴스
DHCP 옵션세트 VPC 서브넷으로 시작될 때 EC2 인스턴스로 저달되는 구성정보
접두사 목록(Prefix lists) VPC 보안 그룹, VPC 라우팅 테이블 및 AWS Transit Gateway 라우팅 테이블을 구성하는 데 사용할 수 있으며, RAM(Resource Access Manager)을 사용해 다른 AWS 계정과 고유할 수 있는 CIDR 블록 모음
네트워크 ACL
(Network Access Control Lists)
서브넷으로 들어오고 나가는 트래픽 제어를 위한 방화벽 역할 담당

 

이러한 VPC는 AWS에 의해 내부 관리의 목적으로 생성되는 기본 VPC와 사용자에 의해 생성되는 VPC로 나뉜다.

보통 사용자에 의해 생성되는 VPC는 리전별 최대 5개까지 생성 가능하다.

 

 

서브넷(Subnet)

VPC가 AWS 사용자 계정을 기준으로 나눈 가상의 네트워크라면 Subnet은 VPC 내에서 사용자의 필요에 의해 부분적으로 나눈 네트워크 망으로 정의 할 수 있다.

Subnets at VPC

 

위 그림에서의 예는 하나의 VPC내부에 Public과 Private 두개의 서브넷이 존재하고 있다. 여기서 Public Subnet은 VPC외부의 인터넷 망에서 접근 가능한 서브넷 구역이고 Private Subnet은 외부에서 접근 불가능한 네트워크 구역이다.

 

또한 서브넷의 IP 대역폭은 VPC의 IP 대역폭 범위에 속해 있어야 하며, AWS에서는 특수한 목적으로 IP 대역에서 일부 IP는 미리 예약되어 있는 주소가 있다. 

 

[VPC내 Reserved IP 내용]

IP 내용
x.x.x.0 네트워크 주소
x.x.x.1 AWS VPC 가상 라우터 주소
x.x.x.2 AWS DNS 서버 주소
x.x.x.3 향후 관리 목적을 위한 여분의 주소
x.x.x.4 ~ x.x.x.254 사용자 IP대역
x.x.x.255 네트워크 브로드케스트 주소

 

 

NAT Gateway와 NAT Instance

NAT(Network Address Translation)는 일반적으로 Private Network와 Public Network 사이에 IP를 전환해주기 위해 사용하며 AWS에서 NAT를 사용하는 방법은 다음의 2가지가 있다.

  1. NAT 인스턴스 : EC2 인스턴스에 다음의 옵션을 실행해  EC2를 NAT로 활용할 수 있다.
    sudo sysctl -w net.ipv4.ip_forward=1
    sudo /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    sudo yum install iptables-services
    sudo service iptables save
  2. NAT gateway: NAT 게이트웨이는 NAT(네트워크 주소 변환) 서비스로써 프라이빗 서브넷의 인스턴스가 VPC 외부의 서비스에 연결할 수 있지만 외부 서비스에서 이러한 인스턴스와의 연결을 시작할 수 없도록 NAT 게이트웨이를 사용할 수 있다.

이 두가지는 기능은 몇 가지 차이점을 제외하고 기능이 서로 유사하지만 일반적으로는 더 고가용성을 보장하는 NAT Gateway 사용을 권한다. 이 둘의 상세한 차이는 aws의 NAT 옵션 비교 페이지를 참고하기 바란다.

 

 

Internet Gateway

Internet Gateway(이하 인터넷 게이트웨이)는 VPC와 인터넷 구간 사이의 통로(인바운드/아웃바운드 연결 통로) 역할을 수행한다. VPC당 인터넷 게이트웨이는 1개를 설정할 수 있다.퍼블릭 서브넷의 라우팅 테이블에는 외부 인터넷 구간으로 나가는 타켓을 이 인터넷 게이트웨이로 지정해 주어야 한다. 단 아래 그림에서 볼 수 있듯이 NAT Gateway를 통하면 프라이븟 서브넷 구간의 자원도 인터넷 게이트웨이를 통해 인터넷 망에 접속할 수 있다.

 

 

VPC 상에서의 보안 기술(Sequrity Group and Network ACL)

AWS의 VPC 상에서의 보안 기술로는 시큐리티 그룹과 네트워크 ACL(Access Control Lists)이 있다. EC2와 같은 인스턴스 레벨에서의 보안 기술이 시큐리티 그룹이고 서브넷 레벨에서의 보안 기술이 네트워크 ACL이라고 생각하면 쉽다.

 

 

Elastic IP

Elastic IP는 VPC내의 EC2와 같은 인스턴스들에게 할당될 수 있는 고정 IP를 의미하며 이 IP는 Public IP이다. EC2 인스턴스를 생성하면 기본적으로 공인 IP를 할당할 수 있는데 이 IP는 인스턴스가 실행되고 있는 동안에만 유효하며 EC2 인스턴스가 중단되면 IP 주소는 반납되게 된다. 따라서 EC2 인스턴스를 다시 실행하면 이 공인 IP는 바뀔 수 있다. 즉, 유동 IP이다. 이런 문제를 해결하기 위한 것이 Elastic IP이다.  즉, Elastic IP는 특별한 기능이 있는 IP는 아니지만 한번 할당하면 계속 유효한 Public IP이다.

 

 

이상으로 간단하게 AWS에서 가장 중요한 VPC와 VPC 리소스들에 대해 간략하게 알아 보았다. 각 리소스에 대한 상세한 설명은 기회가 되면 추후에 포스팅하기로 한다. 

 

 

이번 포스팅은 여기까지 ~

반응형

'Cloud Service > AWS' 카테고리의 다른 글

Event Broker로써 SQS, SNS, Kinesis, MQ, MSK 선택  (2) 2022.01.17
Amazon Linux에 yum 설치  (0) 2022.01.17
AWS VPC 만들기  (0) 2022.01.17
Amazon Web Service 서비스 간단 정리  (0) 2022.01.17
AWS 클라우드 소개  (0) 2022.01.17