[AWS] 네트워크 구성 - VPC, Route53

Jiwoo Jung·2025년 3월 21일
0

Amazon Cloud Club

목록 보기
1/6

Amazon Cloud Club Ewha 3기 핸즈온 세션 이론 정리
Week 1 - 네트워크 구성 - VPC, Route53

1. Route53

1-1. Route53 개요

: AWS의 DNS 서비스

주요 기능

  • 도메인 등록
  • DNS 라우팅
  • 리소스 상태 확인

1-2. IP(Internet Protocol)

인터넷에 연결되어 있는 모든 장치를 식별할 수 있도록 각각의 장비에게 부여되는 고유 주소

  • state ↔ dynamic
  • public ↔ private
    • cmd ipconfig → private ip 주소

1-3. DNS(Domain Name System)

DHCP(L3 ip주소 할당) → ARP(L4 mac주소 조회) → DNS(L3 ip 주소 조회) → TCP(L2 연결) → HTTPS(L5 통신)

  • Forwarding DNS
    도메인 네임(aws.amazon.com)을 네트워크 주소(192.168.1.0)으로 변환

  • Reverse DNS

  • 분산형 데이터베이스 시스템
    Root DNS로부터 .com DNS(TLD DNS) 를 찾고, .com DNS로부터 amazon.com DNS(Authoritative DNS)를 찾아, amazon.com DNS에서 aws.amazon.com의 IP주소 획득(계층적)

  • DNS Routing

  • DNS 레코드
    Request 패킷을 받았을때, 어떻게 처리할지 정해둔 지침으로, RR(Name, Value, Type, TTL)의 형식
    AWS 는 alias 레코드 제공 → AWS 리소스로 라우팅 가능


1-4. 라우팅 정책

docs.aws.amazon.com

  • 단순 라우팅 정책(Simple routing policy)
  • 장애 조치 라우팅 정책(Failover routing policy)
  • 지리 위치 라우팅 정책(Geolocation routing policy)
  • 지리 근접 라우팅 정책
  • 지연 시간 라우팅 정책
  • IP 기반 라우팅 정책
  • 다중 응답 라우팅 정책(Multivalue answer routing policy)
  • 가중치 기반 라우팅 정책(Weighted routing policy)

2. VPC

2-0. 배경지식

💡 IP 주소(revisit)

  • 32비트(IPv4)
  • 8비트씩 표현
  • 255.255.255.255(11111111.11111111.11111111.11111111)

💡 CIDR(Classless Inter-Domain Routing)

aws.amazon.com

  • 라우팅 효율성을 향상시키는 ip주소 할당 방식
  • ip 주소 = 네트워크주소 + 호스트주소
    • 이 네트워크 주소와 호스트 주소가 특정 개수의 비트로 할당되지 않고(Classless), 가변 길이 서브넷 마스킹(Variable Length Subnet Mask, VLSM)에 의해 결정됨
  • 장점
    • IP 주소 낭비 감소
    • 데이터를 빠르게 전송
    • Virtual Private Cloud 생성
    • 슈퍼넷을 유연하게 생성
  • AWS의 CIDR Block

💡 AWS 구조

aws.amazon.com

  • Region(리전)
    • AWS가 전 세계에서 데이터 센터를 클러스터링하는 물리적 위치
    • AWS의 데이터센터들을 지리적으로 나눈 단위
    • 각 AWS 리전은 지리적 영역 내에서 격리되고 물리적으로 분리된 최소 3개의 AZ로 구성
  • AZ(Availability Zone, 가용 영역)
    • 여러 데이터 센터들을 묶은 단위
    • 논리적 데이터 센터의 각 그룹
    • AWS 리전의 중복 전력, 네트워킹 및 연결이 제공되는 하나 이상의 개별 데이터 센터로 구성

2-1. VPC (Virtual Priavate Cloud)

docs.aws.amazon.com
medium.com/harrythegreat
: 나만의 독립된 가상 네트워크 망

⬆️ VPC 이전

⬆️ VPC 등장
-> VPC별로 네트워크 구성, 설정 가능. 각각의 VPC는 완전히 독립된 네트워크처럼 작동.

  • 리전당 5개 설계 가능(리전 단위로 생성)
  • VPC당 5개의 CIDR 설정 가능
  • 사설 IPv4 범위만 할당 가능
  • VPC CIDR는 다른 VPC나 네트워크와 범위가 겹치면 안됨
  • 계정을 만들면 Default VPC 생성됨

✅ Subnet

: IP 네트워크 논리적인 영역을 쪼개서 만든 하위 네트워크망

  • Public Subnet ↔ Private Subnet
  • VPC의 IP 범위 안에서 서브넷의 IP 범위 지정. 상위 네트워크보다 subnet mask 더 길고, ip 범위 작음.
  • VPC가 하나의 리전에 존재하는 것처럼, 서브넷은 하나의 AZ에만 존재

Why subnetting?

  • 더 많은 네트워크망을 만들기 위해서.
  • 필요한 host 개수만큼만 host ip 배정하고, subnetting을 통해 더 많은 네트워크 망 생성

✅ Internet Gateway(IGW)

: VPC와 인터넷을 연결해주는 관문

  • VPC의 리소스를 인터넷에 연결하도록 허용하는 EC2 인스턴스나 람다 함수
  • VPC 기본적으로 격리된 네트워크 환경 → VPC 리소스들은 기본적으로 인터넷 연결 X
  • IGW와 Subnet 연결해야 인터넷 연결 가능, 이를 위해 Subnet의 Routing Table 설정 필요

✅ Routing Table

  • ⬆️ Routing table
    • 모든 ip → IGA A
    • private subnet ip → Local(IGA A로 안감, longest prefix match)
  • A는 private subnet, B는 public subnet

private subnet 내부의 리소스(e.g., RDS)가 인터넷 연결이 필요한 상황

  • private subnet 내부에서 조건적으로 외부와 통신할 수 있는 방법?
    • NAT Gateway
    • Bastion Host

✅ NAT Gateway

  • public subnet 내에 NAT Gateway 설정
  • private subnet이 외부 라우팅이 필요할 때, NAT Gateway를 거치도록 라우팅테이블 설정
  • Private Subnet의 AWS 리소스 → Public Subnet의 NAT Gateway → IGW → 외부 연결
  • 특정 AZ에서 생성, Elasic IP 사용(: 고정 public ip)
  • 여러 개의 AZ에 생성해 내결함성(fault torelance) 강화 가능: 다중 NAT Gateway

✅ Bastion Host

  • Public Subnet에 위치해 외부에서 Private Subnet으로의 통신을 도와주는 대리인(Public Subnet 내부의 EC2 Instance)
  • Bastion Host 설정
    1. Bastion Host Security Group
      Bastion Host의 보안 그룹은 제한된 CIDR(외부)로부터 Private Subnet으로의 접근을 허용해야 함.
    2. EC2 instance Security Group
      private subnet의 instance의 보안 그룹은 Bastion Host의 보안 그룹 혹은 Bastion Host의 개인 ip에 대해 SSH 연결을 허용해야 함.

✅ Security Group(보안 그룹)

  • 인스턴스 단위로 적용할 수 있는 네트워크 보안 기술
  • 인스턴스 inbound, outbound 트래픽 허용(Allow) 규칙 모음집
  • 기본 설정 → 모든 허용 차단

✅ NACL(Network ACL)

  • Subnet을 오고가는 모든 트래픽에 대해 허용(allow)하거나 거부(deny)
  • 기본 NACL(Default NACL) → 모든 요청 허용
  • 직접 NACL 설정 → inbound, outbound 요청 모두 거부된 상태로 설정
  • 우선순위
    • 규칙마다 숫자(1~32766) 부여하여 우선순위 지정
    • 숫자가 낮을수록 우선순위 높음
    • 보통 100단위로 설정
Security GroupNACL
인스턴스 단위 보안Subnet 단위 보안
statefulstateless
모든 규칙이 평가되고 허용/거부 여부 결정가장 높은 우선순위를 가진 규칙이 우선 평가되며, 첫 번째 비교로 허용/거부 결정
ec2 인스턴스 하나에만 적용subnet안의 모든 ec2에 적용
허용(allow)규칙만 설정 가능허용(Allow), 거부(Deny) 규칙 모두 설정 가능
모든 허용 차단하도록 기본 설정모든 요청 허용하도록 기본 설정

*네트워크ACL과 보안그룹이 충돌 → 보안그룹이 우선


✅ VPC Peering

: Private IPv4/v6 주소를 사용해 두 VPC 간 트래픽을 라우팅 → 두 VPC 간 통신을 가능하게 하는 서비스

  • AWS 네트워크를 통해 연결되므로 안전
  • VPC의 CIDR가 서로 겹치면 안됨
  • VPC 피어링 관계는 전이되지 않음
  • 피어링을 활성화하고 싶다면 VPC 서브넷의 라우팅 테이블도 통신이 가능하도록 업데이트 필요
  • 서로 다른 계정, 서로 다른 리전에서도 가능

✅ VPC Endpoint

: VPC 내부 리소스가 외부 AWS 서비스와 통신할 때, 외부 인터넷을 거치지 않고 AWS 백본 네트워크를 통해 서비스에 도달할 수 있도록 지원하는 서비스
Public IP 없어도 AWS 서비스 사용 가능

초록색 → public ip를 가진 인스턴스만 IGW를 통해 인터넷에 연결되어 AWS 서비스 사용 가능
파란색 → public ip가 없는 인스턴스도 VPC Endpoint를 통해 AWS 서비스 사용 가능


-1. 정리

Route53: AWS의 DNS 서비스
AWS 구조 - 리전, AZ
VPC

  • Subnet
  • Internet Gateway
  • Routing Table
  • NAT Gateway & Bastion Host
  • Security Group & NACL
  • VPC Peering
  • VPC Endpoint

개념 까먹었을 땐 -> medium.com/harrythegreat

0개의 댓글