Amazon VPC

DaeChan Jo·2023년 12월 31일
0

얼마전 AWS를 이용한 네트워크를 구축하면서 VPC에 대한 지식이 없어 애먹은적이 있었다.

일반적으로 클라우드를 이용하지 않는 네트워크에서는 서버나 네트워크 장비를 연결하는 케이블 등을 모두 물리적으로 구축했어야 했다면 AWS와 같은 클라우드를 이용할 때는 물리적인 기기를 이용하지 않고 가상의 네트워크를 구축할 수 있다. 즉 네트워크 장비에 해당하는 리소스를 VPC안에 추가해 독립적인 네트워크를 구축할 수 있게된다.

VPC를 사용하기 전 짚고넘어가면 좋은것들을 알아봅니다.

IP와 CIDR

항목설명
이름 태크sample-vpcVPC를 식별하는 이름
IPv4 CIDR 블록10.0.0./16VPC에서 이용하는 프라이빗 네트워크의 IPv4 주소 범위
IPv6 CIDR 블록IPv6 CIDR 블록 없음VPC에서 이용하는 프라이빗 네트워크의 IPv6 주소 범위
tenancy기본값VPC 리소스의 전용 하드웨어에서의 실행 여부

VPC를 생성할 때는 사전에 네트워크 정보를 결정해야한다.

IP 주소는 뭔지 알겠는데 CIDR?

classless inter-domain routing은 IP주소를 관리하는 범위를 결정하는 방법 중 하나
유/무선 전화의 전화번호를 시외 국번, 시내 국번, 가입자 번호로 구분해서 관리하는것과 유사하다

이름태크

VPC를 쉽게 식별하고자 알기 쉬운 이름을 붙여주면 된다. 이후에도 자유롭게 변경할 수 있으니깐 크게 고민하지 않아도 된다.

IP CIDR 블록

VPC에서 사용하는 프라이빗 네트워크용 IP 주소의 범위를 지정한다. 프라이빗 네트워크에서 이용할 수 있는 IP주소 범위는 다음 세 가지로 제공된다.

  • 24비트 블록 : 10.0.0.0 ~ 10.255.255.255
  • 20비트 블록 : 172.16.0.0 ~ 172.31.255.255
  • 16비트 블록 : 192.168.0.0 ~ 192.168.255.255

일반적으로 IP 주소의 범위가 넓은 편이 같은 네트워크 안에 많은 IP주소를 제공할 수 있다. 하지만 VPC로 지정할 수 있는 서브넷 마스크는 최대 16비트까지이므로 어떤 범위를 이용해도 달라지는 점은 없다.

tenancy

VPC상의 리소스를 전용 하드웨어에서 실행할지 지정한다. 기본으로 설정하면 다른 AWS 계정과 하드웨어 리소스를 공유하도록 선택하는 것과 같다.
실뢰성이 매우 중요한 시스템의 경우에는 전용으로 설정하는것을 검토해도 좋지만 별도의 비용이 추가된다.




서브넷과 가용 영역

VPC 안에는 하나 이상의 서브넷을 만들어야한다. 서브넷은 VPC의 IP 주소 범위를 나누는 단위다. IP 주소 범위를 나누는 대표적인 이유는 다음 두 가지다.

  • 역할 분리 : 외부에 공개하는 리소스 여부를 구별
  • 기기 분리 : AWS 안에서의 물리적인 이중화(다중화)를 수행

역할 분리

시스템을 구축할 때는 다양한 리소스를 조합하게 된다. 예를 들어 리소스의 하나인 로드 밸런서는 외부 공개가 목적이므로 외부에서 접근할 수 있어야 한다. 반대로 DB 서버와 같이 외부에 노출시키지 않고 VPC내부 서버에서의 사용을 전체로 하므로 이런 규칙을 리소스마다 개별적으로 할당하지 않고, 리소스가 포함된 그룹 전체에 대해 할당하면 설정 누락 등을 피할 수 있다.

기기 분리

내결함성을 높이기 위해 기기를 분리한다. 내결함성이란 하드웨어 고장 등 예측할 수 없는 사태가 발생했을 때 시스템 자체를 사용하지 못하게 되는 것을 방지하는 능력이다. 클라우드라 하더라도 최종적으로는 어딘가 위치한 물리적인 기기상에서 작동한다. 예를 들어 서브넷이 여럿 존재하더라도 그 서브넷이 같은 기기에 대한 것이라면 기기에 고장이 발생했을 때 동시에 서브넷 안의 리소스를 이용할 수 없게 된다.
VPC에는 가용 영역(각 리전 안의 여러 독립된 위치)이라는 개념이 존재한다. 가용 영역이 다르면 독립되었음을 보장할 수 있으므로 가용 영역별로 서브넷을 제공하면 여러 서브넷을 동시에 이용하지 못하는 가능성을 낮출 수 있게 된다.

신뢰성 높은 AWS라도 시설 내 냉각 장치 고장 등의 이슈로 대규모 장애가 발생하는 경우가 있기에 가용 영역을 분리하는게 바람직하다고 볼 수 있다.


IPv4 CIDR 설계 방법

서브넷을 한번 만들면 해당 서브넷이 이용하는 CIDR 블록은 변경할 수 없다. 따라서 처음부터 확실하게 CIDR을 설계해야 한다. 설계할 때는 다음 두 가지 항목을 고려해야한다.

  • 생성할 서브넷의 수
  • 서브넷 안에 생성할 리소스 수

이 두항목은 트레이드오프 관계다. 생성하는 서브넷 수가 늘어나면 서브넷 안의 리소스 수가 줄어든다.

서브넷 수가 많아지면 보안 또는 네트워크 관리에서 좀 더 세밀한 관리가 가능하다는 장점이 있다. 반대로 서브넷 수가 작아지면 단순한 네트워크 설계에 적합해지고 라우팅 테이블 크기 측면에서 리소스 효율성이 높일 수 있다. 그러므로 특정 요구 사항과 제약 조건을 기반으로 서브넷 수와 서브넷당 리소스 수 간의 올바른 균형을 찾아야한다.

profile
BackEnd Developer

0개의 댓글