[AWS Cloud Clubs] 3. Route 53, VPC

akim·2024년 4월 9일

AWS Cloud Clubs

목록 보기
3/6

Route53

Route53

  • Route53: AWS의 DNS 서비스
  • 도메인을 타깃으로 분산 처리 가능(!=로드밸런서)

DNS

  • DNS(Domain Name System): 도메인네임(aws.amazon.com)을 네트워크 주소(192.168.1.0)으로 변환(Forwarding DNS)하거나, 그 반대의 역할(Reverse DNS)을 수행하는 분산형 데이터베이스 시스템

DNS 레코드

  • DNS 레코드: Request 패킷을 받았을때 어떻게 처리할지 정해둔 지침으로, RR(Name, Value, Type, TTL)의 형식
  • A: 도메인 네임과 IP간의 연결 (IPv4버전)
  • CNAME: 도메인 주소를 또 다른 도메인 주소로 이중 매핑
    (www.movie.com, KOREA-CDN.movie.com, CNAME, 20),
    (www.movie.com, US-CDN.movie.com, CNAME, 20)
  • NS: 네임 서버 레코드로 도메인에 대한 네임 서버의 권한을 누가 관리하고 있는지 알려주는 방법
  • Alias: Route53에서만 제공하는 특별한 레코드로 도메인네임과 AWS리소스간의 연결

VPC

CIDR

  • CIDR(Classless Inter-Domain Routing): IP 주소에서 네트워크 ID와 호스트 ID의 주소 범위를 구분하기 위한 하나의 표기법
    ex) 192.168.0.0/24 -> IP 주소 중 24개의 비트를 네트워크ID로 mask하여, 나머지 비트를 호스트ID로 활용한다는 뜻

AWS 구조

  • 리전: 전 세계에서 데이터 센터를 클러스터링하는 물리적 위치. 즉, AWS의 데이터센터들을 지리적으로 나눈 단위
  • AZ (가용 영역, Availability Zone): 여러 데이터 센터들을 묶은 단위로, AZ 여러 개가 모여 리전을 구성

VPC

  • VPC (Virtual Private Cloud): 독립된 가상 네트워크망
  • 리전 당 5개 설계 가능 (즉, 리전 단위로 생성이 되며, 리전을 지정해 생성 가능)
  • VPC 당 5개의 CIDR 설정 가능
  • 사설 IPv4 범위만 할당 가능
  • VPC CIDR는 다른 VPC나 네트워크와 범위가 겹치면 안됨
  • 계정을 만들면 Default VPC가 생성이 됨

VPC 별로 네트워크 구성 가능 -> VPC는 완전하게 독립적인 하나의 네트워크로 작동 -> 시스템 의존도 ↓, 유지보수 용이

Subnet과 Subnetting

  • Subnet: VPC의 IP 주소를 나눠 리소스가 배치되는 물리적인 주소 범위 IP 네트워크 논리적인 영역을 쪼개서 만든 하위 네트워크망
  • Subnetting: VPC를 쪼개는 것
  • IP 주소들을 낭비없이 효율적으로 사용하기 위해 subnetting이 필요함
  • VPC의 IP 범위 안에서 서브넷의 IP 범위를 지정해야 함
  • VPC가 하나의 리전에 존재하는 것처럼, 서브넷은 하나의 AZ에만 존재

IGW

  • IGW(Internet Gateway): VPC의 리소스를 인터넷에 연결하도록 허용하는 EC2 인스턴스나 람다 함수
  • VPC는 기본적으로 격리된 네트워크 환경으로, 기본적으로 인터넷과 연결되어 있지 않음
  • IGW를 설정했다고 자동으로 인터넷으로 연결이 되는 것은 아님 (IGW와 Subnet들을 연결해주는 과정이 필요)

Route Table

  • Route Table: 서브넷 혹은 게이트웨이의 네트워크 트래픽이 어디로 전송되어야 될 지에 관한 라우팅 규칙을 포함한 테이블
  • 서브넷에는 각각 라우트 테이블이 연결되어 있음

NAT Gateway

  • NAT Gateway: 인터넷 접속이 가능한 Public Subnet에 NAT Gateway를 설정해두고, Private Subnet이 외부 인터넷이 필요할 때 NAT Gateway을 거치도록 라우팅을 추가
  • Private Subnet이라는 망 구조를 유지하면서 외부와 조건적으로 데이터 통신이 가능하게 하는 방법
  • Private Subnet의 AWS 리소스 -> Public Subnet의 NAT Gateway -> IGW -> 외부 연결 가능
  • 반대로 외부 -> Private Subnet으로 연결은 X
  • 특정 AZ에서 생성이 되며, Elastic IP 사용
  • 여러 개의 AZ에 생성해(=다중 NAT Gateway) 내결함성(fault tolerance) 강화 가능
  • 비용은 시간 당 비용 + 전달되는 데이터 양에 따라 책정

Bastion Host

  • Bastion Host: Public Subnet에 위치해 외부에서 Private Subnet으로의 통신을 도와주는 대리인
  • 내부와 외부 네트워크 사이에서 일종의 게이트웨이 역할을 수행
  • 역시 Private Subnet이라는 망 구조를 유지하면서 외부와 조건적으로 데이터 통신이 가능하게 하는 방법
  • Bastion Host를 사용하고 싶으면 해야하는 설정들
    1. Bastion Host Security Group: 보안 그룹은 인터넷에서 제한된 CIDR(외부)로부터 Private Subnet으로의 접근을 허용해야 함
    2. EC2 Security Group: Bastion Host의 보안 그룹 혹은 Bastion Host의 개인 IP에 대해 SSH 연결을 허용해야 함

NACL

  • NACL: Subnet을 오고가는 모든 트래픽에 대해 허용(allow)하거나 거부(deny)하여 트래픽을 제어하는 역할
  • Security Group과 달리 인스턴스 단위가 아닌 Subnet 단위로 보안
  • 서브넷이 생기면 ‘기본 NACL(Default NACL)’에 연결됨
  • 규칙마다 숫자(1 ~ 32766)를 부여해 우선 순위를 지정

VPC Peering

  • VPC Peering: Private IPv4 주소 혹은 IPv6 주소를 사용해 두 VPC 간 트래픽을 라우팅 할 수 있도록 해줘 두 VPC 간의 연결을 이루는 서비스
  • AWS 네트워크를 통해 연결되므로 안전
  • VPC 피어링 관계는 전이되지 않음
  • 서로 다른 계정, 서로 다른 리전에서도 가능
  • 피어링을 활성화하고 싶다면 VPC 서브넷의 라우팅 테이블도 통신이 가능하도록 업데이트를 해줘야 함

VPC 엔드포인트

  • Private Subnet의 EC2 인스턴스가 Amazon SNS 서비스에 접근하려면?
    NAT Gateway에서 Internet Gateway를 거쳐 인터넷 외부로 나가고 Amazon SNS에 액세스할 수 있음 -> 비용, 보안 이슈..
  • VPC 엔드포인트를 VPC 내부에 설정함으로써 AWS 내부 네트워크를 이용해 안전하고 효율적이게 리소스 간 연결을 할 수 있음
profile
학교 다니는 개발자

0개의 댓글