[ AWS ] VPC & Route53

PinkTopaz·2023년 11월 6일
0
post-thumbnail

AWS의 네트워킹

Route53 - AWS의 DNS 서비스

역할

  • GoDaddy, 가비아와 같은 Domain Registrar(도메인 네임 등록기관)
  • DNS service provider로서 DNS 쿼리 서비스를 제공
  • Route53은 리전에 속하지 않는 글로벌서비스로, DNS Resolver & 도메인 이름 등록 등을 맡는다.

Route53의 리소스

AWS Route53 자체는 서비스이고, Route53에서 생성하고 관리하는 리소스는 다음과 같다.

1. DNS 레코드 (Record Sets)

  • 특정 도메인에 대해 설정된 DNS 레코드로, 도메인에 대한 쿼리 응답을 어떻게 할지 명시한다.
  • hostname을 IPv4에 매핑하는 A, IPv6에 매핑하는 AAAA, 다른 hostname에 매핑하는 CNAME, 호스팅영역의 네임서버를 지정하는 NS 등 여러 타입이 있다.
  • Route53에서만 제공되는 특별한 유형의 레코드인 Alias 도 있다.
    - 도메인 이름을 AWS 리소스(e.g. S3버킷, ELB 로드 밸런서, CloudFront 배포)에 연결하는 레코드!

2. 호스팅 영역 (Hosted Zones)

  • 레코드들의 집합으로 Public과 Private으로 나뉜다.
    - Public Hosted Zones : 인터넷 상에서 라우트를 제공할 레코드를 모아놓는 곳
    - Private Hosted Zones : VPC 내부의 트래픽을 라우팅하는 레코드를 모아놓는 곳

3. 헬스 체크 (Health Checks)

  • 헬스 체크를 만들면 Route53이 자동 재해복구를 할 수 있다.
  • Public Resource에만 등록할 수 있다.

배경지식

Private IP 대역

10.0.0.0 ~ 10.255.255.255
172.16.0.0 ~ 172.33.255.255
192.168.0.0 ~ 192.168.255.255

이 3가지 대역은 전 세계 어디에도 공인 IP(인터넷 사용자의 로컬 네트워크를 식별하기 위해 ISP가 제공하는 IP 주소)가 없는 약속된 사설로만 사용하는 IP 대역이다.

CIDR (Classless Inter-Domain Routing)

  • AWS에서 사용하는 IP 주소 표현 방식이다.
10.0.0.0/24

라면 IP 주소의 총 32비트 중에, mask(앞에서 가릴 비트 수)할 비트수가 24개라는 의미이다.
따라서 이 Subnet Mask에서는 총 2^8로 256개이다.

Region / Availability Zone

  • Region : AWS에서 가장 큰 지역의 단위 (e.g. 버지니아 북부, 서울, 오하이오)
  • Availability Zone : 리전을 이루는 데이터 센터의 모음으로, AZ 여러개가 모여 리전을 구성한다.
    - AZ가 데이터 센터 하나를 의미하는 것만은 아니다. 다수의 데이터 센터가 하나의 AZ를 이룰 수 있다.
    - 보안을 위해 2a, 2b와 같은 AZ가 어디에 있고, 어떻게 구성되어있는지 우리는 알 수 없다.

VPC

  • Virtual Private Cloud : 나만의 개인 네트워크망 데이터센터로, AWS 사용자 전용 가상의(논리적) 네트워크를 의미한다.
  • Region을 지정해 만들 수 있다.
  • AWS 계정을 생성하면 자동으로 VPC가 여러 리전에 생성된다. (이렇게 자동생성된 VPC는 과금되지 않는다.)
    - 자동으로 생성해줄만큼 당연하게 사용하는 것을 권장하는 서비스라고 해석할 수 있다.
  • VPC 리소스 맵으로 잘 설정했는지 시작적으로 확인할 수 있다.

VPC 출시 이전

  • VPC는 AWS의 처음부터 있던 서비스는 아니다. (2011년 출시)
  • AWS의 수많은 사용자의 네트워크가 격리되지 않은 채로 관리가 되었고, 기업들은 IP 주소 범위를 커스터마이징하고 강력하게 제어할 수 있기를 원해 VPC가 등장하게 되었다.

VPC 만들기

  • VPC는 기본적으로는 한 리전에 5개까지 만들 수 있다.
  • VPC는 Private IP 대역만 사용할 수 있다.
  • CIDR 블록을 5개까지 가질 수 있다. 각 CIDR 블록은 VPC 내에서 사용 가능한 IP 주소 범위를 결정한다.
  • VPC의 최대 크기는 /16 (10.0.0.0/15 안됨!)

Subnet : VPC의 작은 네트워크

  • Subnetting : IP 주소 공간을 나누는 것
  • VPC에 할당한 IP 대역을 쪼개서 리소스가 배치되는 물리적인 주소 범위를 뜻한다.
    ex. 대강당이 VPC라면, 학생들은 리소스이고 의자는 IP이다.
    대강당은 가, 나, 다 이렇게 구역이 나눠져있는데, 각 구역들은 Subnet이라고 볼 수 있다.
  • VPC는 리전에 속하고, Subnet은 AZ에 속한다.

Internet Gateway

  • 앞의 대강당 예시에서, 대강당에서 밖으로 나가려면 어떻게 해야할까?
    - 문으로 나가면 된다
  • VPC에서 이 문의 역할을 해 인터넷과 VPC를 연결하는 것이 바로 Internet Gateway이다.
    - 대강당의 2층에 있는 학생들은 1층을 거쳐야만 밖으로 나갈 수 있다. - 밖은 인터넷이고, 1층, 2층은 각각 서브넷 A, 서브넷 B이라면 서브넷 B에 속한 리소스(학생)는 서브넷 A를 거쳐야만 인터넷에 연결될 수 있다.
    즉, 프라이빗 서브넷에 속한 리소스는 퍼블릭 서브넷을 거쳐야만 인터넷에 연결될 수 있다.

Public / Private 서브넷의 차이

음 그러면 Private 서브넷에서도 그냥 바로 Internet Gateway로 연결을 하면 Public 서브넷이 되는건가...?

이런 의문을 가질 수 있다. 결론은 NO!

  • 서브넷에는 Route Table이라는 것이 연결되어있다.
    - Public Subnet : 연결된 라우트 테이블이 외부IP로 향하는 트래픽을 Internet Gateway로 보내도록 설정
    - Private Subnet : 연결된 라우트 테이블이 외부IP로 향하는 트래픽을 Internet Gateway로 보내도록 설정되지 않음!

  • Route Table은 라우터와 같은 역할을 하는 리소스이다.
    - Destination에 따른 루트를 지정한다.

    • VPC 대역은 VPC 내부를 향하고, 이외는 기본 Internet Gateway를 향한다.
    • 0.0.0.0/0 : 라우트 테이블에서 명시한 Destination을 제외한 모든 IP, 여기에 연결된 Subnet은 Public Subnet이다!
profile
🌱Connecting the dots🌱

0개의 댓글