Skip to main content

CLF-C02 Networking

· 12 min read
유기한
Principal Engineer @ Samsung

Virtual Private Networking (VPC)

AWS Site-to-Site VPN

  • AWS 리소스에 경계를 설정하는 데 사용할 수 있는 네트워킹 서비스가 VPC
  • 한 VPC내에서 여러 서브넷으로 리소스를 구성
  • 서브넷은 리소스(예 EC2)를 포함할 수 있는 VPC 섹션

NAT Gateway

  • 프라이빗 서브넷의 인스턴스를 활성화하여 인터넷이나 다른 AWS 서비스에 연결하는 데 사용되지만 인터넷이 인스턴스와의 연결을 시작하는 것을 방지

인터넷 게이트웨이

  • VPC의 인스턴스와 인터넷 간의 통신을 허용하는 수평 확장형, 중복성 및 가용성이 높은 VPC 구성 요소

가상 프라이빗 게이트웨이

  • VPC와 사내 네트워크 간 VPN연결을 생성
  • VPC내의 Private Resource에 엑세스 하려면 Virtual Resource Gateway를 사용할 수 있다.
  • 가상 프라이빗 게이트웨이는 보호된 인터넷 트래픽이 VPC로 들어오도록 허용하는 구성요소
  • 가상 프라이빗 게이트웨이를 사용하면 VPC와 Private 네트워크간에 가상 프라이빗 넷트워크(VPN)연결을 설정할 수 있다.
  • 가상 프라이빗 게이트웨이는 승인된 네트워크에서 나오는 트래픽만 VPC로 허용

AWS Direct Connect

  • 데이터 센터와 VPC간에 비공개 전용 연결을 설정하는 서비스

  • AWS Direct Connect가 제공하는 Private 연결은 네트워크 비용을 절감하고 네트워크를 통과할 수 있는 대역폭을 늘리는 데 도움이 된다.

AWS Directory Service

  • 디렉터리 서비스를 사용하면 AWS 클라우드에서 디렉터리를 쉽게 설정 및 실행하거나 AWS 리소스를 기존 온프레미스 Microsoft Active Directory와 연결

서브넷 및 네트워크 액세스 제어 목록

  • 인터넷 게이트웨이는 VPC로의 출입을 관리하는 네트워크 보안의 구성요소일 뿐이다.

  • 그외 다양한 도구가 있다.

    • 네트워크 강화
    • 어플리케이션 보안
    • 사용자 ID
    • 인증. 및 권한 부여
    • 분산. 서비스 거부 (DDoS) 방지
    • 데이터 무결성
    • 암호화 등등

서브넷

  • 서브넷은 보안 또는 운영 요구 사항에 따라 리소스를 그룹화 할 수 있는 VPC내의 한 섹션

  • 서브넷은 Public이거나 Private일 수 있다.

    • Public Subnet : 누구나 엑세스할 수 있어야 하는 리소스가 포함
    • Private Subnet : 개인정보가 포함된 데이터베이스와 같이 Private network를 통해서만 액세스 할 수 있는 리소스가 포함
    • VPC내 서브넷은 서로 통신할 수 있다. (public , private 간)

VPC의 네트워크 트래픽

  • 고객이 AWS 클라우드에서 호스팅되는 어플리케이션에 데이터를 요청하면, 이 요청은 패킷으로 전송

  • 패킷은 인터넷이나 네트워크를 통해 전송되는 데이터의 단위

  • 패킷은 인터넷 게이트웨이를 통해 VPC로 전송. 패킷이 서브넷으로 들어가거나 서브넷에서 나오려면 먼저 권한을 확인해야 함.

    • 서브넷 패킷 권한을 확인하는 VPC 구성요소는 ==네트워크 액세스 제어 목록(ACL)==

네트워크 ACL

  • 네트워크 ACL은 서브넷 수준에서 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽

  • 각 AWS 계정에는 기본 네트워크 ACL이 포함됨

  • VPC를 구성할 때 계정의 기본 네트워크 ACL을 사용하거나 사용자 지정 ACL 생성 가능

    • 기본 네트워크 ACL

      • 기본적으로 모든 인바운드, 아웃바운드 트래픽을 허용
      • 사용자가 자체 규칙을 추가 또는 수정 가능
    • 사용자 지정 네트워크 ACL

      • 기본적으로. 모든 인바운드, 아웃바운드 트래픽을 거부
      • 모든 네트워크 ACL에는 명시적 거부 규칙이 있음.
  • Network ACL의 Stateless Packet Filtering

    • 네트워크 ACL은 Stateless 패킷 필터링을 수행

      • 아무것도 기억하지 않고, 각 방향(인바운드, 아웃바운드)으로 서브넷 경계를 통과하는 패킷만 확인
    • 네트워크. ACL은 규칙 목록에 따라 패킷 응답을 확인하여 허용 또는 거부 여부를 결정

    • 패킷이 서브넷에 들어간 후에는 서브넷 내의 리소스에 대한 권한이 평가되어야 함

      • 패킷에서 EC2인스턴스에 대한 권한을 확인하는 VPC 구성요소는 ==보안그룹==

보안 그룹 (Security Group)

  • 보안 그룹은 Amazon EC2 인스턴스에 대한 인바운드 및 아웃바운드 트래픽을 제어하는 가상 방화벽

  • 기본적으로 보안 그룹은

    • 모든 인바운드 트래픽을 거부
    • 모든 아웃바운드 트래픽을 허용

보안 그룹의 Stateful Packet Filtering

  • 보안 그룹은 Stateful패킷 필터링을 수행, 즉, 들어오는 패킷에 대한 이전 결정을 기억

    • 예를 들어, EC2인스턴스에서 인터넷으로 요청을 전송할때 보안그룹은 이 요청을 기억한다.
    • 보안 그룹은 인바운드 보안그룹 규칙에 관계없이 이 응답이 진행되도록 허용
  • 네트워크 ACL과 보안 그룹을 모두 사용하면 VPC에서 트래픽에 대한 사용자 지정 규칙을 구성할 수 있음

  • 아래 그림을 통해 네트워크 ACL과 보안그룹의 차이점을 이해해야 한다.

  • 패킷은 인터넷을 통해 클라이언트에서 인터넷 게이트웨이, VPC로 이동

  • 그런 다음 패킷은 네트워크 액세스 제어 목록을 거쳐 두개의 EC2 인스턴스가 있는 퍼블릭 서브넷에 연결

Global networking

Domain Name System (DNS)

  1. 브라우저에 도메인 이름을 입력하면 이 요청이 고객 DNS 확인자로 전송
  2. 고객 DNS 확인자는 회사 DNS 서버에 웹 사이트에 해당하는 IP 주소를 요청합니다.
  3. 회사 DNS 서버는 웹 사이트의 IP 주소인 192.0.2.0을 제공하여 응답합니다.

Amazon Route 53

  • Amazon Route 53은 DNS 웹 서비스 입니다.

  • Route53의 또다른 기능

    • DNS 레코드를 관리
    • 직접 새 도메인 이름을 등록 가능
    • 다른 도메인 등록 대행자가 관리하는 기존 도메인 이름의 DNS 레코드를 전송
    • 단일 위치에서 모든 도메인 이름 관리
  • 라우팅 정책

    • 단순 라우팅 정책(Simple routing policy)

      • 도메인에 대해 특정 기능을 수행하는 하나의 리소스에 단순 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성
    • 장애 조치 라우팅 정책(Failover routing policy)

      • 액티브-패시브 장애 조치를 구성하려는 경우에 사용
      • 장애 조치 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성
    • 지리 위치 라우팅 정책(Geolocation routing policy)

      • 사용자의 위치에 기반하여 트래픽을 라우팅하려는 경우에 사용
      • 지리적 위치 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성
    • 지리 근접 라우팅 정책 (동적 설정)

      • 리소스의 위치를 기반으로 트래픽을 라우팅
      • 필요에 따라 한 위치의 리소스에서 다른 위치의 리소스로 트래픽을 보내려는 경우에 사용
    • 지연 시간 라우팅 정책

      • 여러 AWS 리전에 리소스가 있고 최상의 지연 시간을 제공하는 리전으로 트래픽을 라우팅
    • IP 기반 라우팅 정책

      • 사용자의 위치에 기반하여 트래픽을 라우팅하고 트래픽이 시작되는 IP 주소가 있는 경우에 사용
    • 다중 응답 라우팅 정책(Multivalue answer routing policy)

      •  Route 53이 DNS 쿼리에 무작위로 선택된 최대 8개의 정상 레코드로 응답하게 하려는 경우에 사용
    • 가중치 기반 라우팅 정책(Weighted routing policy)

      • 사용자가 지정하는 비율에 따라 여러 리소스로 트래픽을 라우팅하려는 경우에 사용

예: Amazon Route 53 및 Amazon Cloud Front가 컨텐츠를 전송하는 방식

  1. 고객이 AnyCompany의 웹 사이트로 이동하여 애플리케이션에서 데이터를 요청
  2. Amazon Route 53은 DNS 확인을 사용하여 AnyCompany.com의 IP 주소인 192.0.2.0을 식별합니다. 이 정보는 고객에게 다시 전송
  3. 고객의 요청은 Amazon CloudFront를 통해 가장 가까운 엣지 로케이션으로 전송
  4. Amazon CloudFront는 수신 패킷을 Amazon EC2 인스턴스로 전송하는 Application Load Balancer에 연결