[AWS] AWS에서 Networking 처리

윤동환·2023년 1월 4일
0

AWS

목록 보기
17/30
post-thumbnail
post-custom-banner

AWS VPC 연결 용어

Amazon Virtual Private Cloud(Amazon VPC)

  • AWS에서의 사용자 고유 프라이빗 네트워크
  • AWS 리소스에 경계를 설정하는데 사용할 수 있는 네트워킹 서비스
  • AWS 리소스용 프라이빗 IP 범위를 정의하고 VPC에 EC2 인스턴스나 ELB 같은 요소를 배치할 수 있음
  • 하나의 Virtual Private Cloud(VPC) 내에서 여러 서브넷으로 리소스를 구성 가능
    (서브넷 : 리소스(ex: EC2 인스턴스)를 포함할 수 있는 VPC 섹션으로 생각 할 수 있음)
    • 사용자가 정의한 가상 네트워크에서 AWS 리소스를 실행할 수 있는, 논리적으로 격리된 AWS 클라우드 섹션을 프로비저닝 할 수 있다.
    • 퍼블릭 또는 프라이빗 리소스 그룹을 서브넷이라고 한다.
      (서브넷 : VPC에 있는 IP 주소의 범위)

인터넷 게이트웨이

  • 공개 인터넷의 트래픽이 VPC를 출입하도록 허용하려면 인터넷 게이트웨이,
    -> 즉 IGW를 VPC에 연결해야 함 - 인터넷 게이트웨이는 VPC와 인터넷 간의 연결
    ex) 인터넷 게이트웨이는 고객이 커피숍에 들어가기 위해 사용하는 출입문과 비슷

    가상 프라이빗 게이트웨이

  • VPC 내의 비공개 리소스에 액세스하려면 가상 프라이빗 게이트웨이

  • 가상 프라이빗 게이트웨이는 보호된 인터넷 트래픽이 VPC로 들어오도록 허용하는 구성 요소
    -> 승인된 네트워크에서 나오는 트래픽만 VPC로 들어가도록 허용
    ex) 커피숍에 가기 위해 건물에 들어간 다음 신원을 인증하고 건물 내부 사람만 이용할 수 있는 통로

AWS Direct Connect

  • 비공개 연결은 네트워크 비용을 절감하고 네트워크를 통과할 수 있는 대역폭을 늘리는 데 도움
    ex) 커피숍과 직접 연결되는 복도가 있는 아파트 건물이 있다면 아파트 입주민만 이용할 수 있는 복도

네트워크

vpc의 네트워크 트래픽 처리 방식

  1. 고객이 AWS 클라우드에서 호스팅되는 애플리케이션에 데이터를 요청하면 패킷으로 전송한다.
  2. 패킷은 인터넷 게이트웨이를 통해 VPC로 들어간다. (패킷의 권한을 확인함)
    -> 사용권한 : 패킷을 보낸 사람과 패킷이 서브넷의 리소스와 통신하려는 방법을 나타냄

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

Network Access Control List(NACL)

  • 서브넷 수준에서 인바운드 및 아웃바운드 트레픽을 제어하는 가상 방화멱
  • 각 AWS 계정에는 기본 NACL이 포함되어있다.
  • VPC를 구성할 때 계정의 기본 NACL을 사용하거나 사용자 지정 NACL을 생성할 수 있다.
  • 모든 NACL에는 명시적 거부 규칙이 존재하며 규칙을 추가하기 전에는 모든 인바운드 및 아웃바운드 트래픽을 거부한다.
  • NACL 규칙은 트래픽이 서브넷 내에서 라우팅될 때가 아니라 서브넷에 들어오고 나갈 때 평가된다.
  • NACL은 상태 비저장입니다. 즉, 허용되는 인바운드 트래픽에 대한 응답은 아웃바운드 트래픽에 대한 규칙을 따르고, 그 반대의 경우에도 마찬가지이다.
    -> HTTP의 stateless 와 유사하다.

    NACL 적용 규칙

    1. NACL은 규칙을 순차적으로 확인하기 때문에 순서를 확인하기 위한 시퀀스 넘버가 존재하며 가장 작은 숫자부터 순차적으로 확인
    2. 각 규칙별로 대상의 허용/거부를 저장할 수 있으며, 매칭되는 대상이 있으면 하위 규칙은 더 이상 확인하지 않음
    3. 마지막 규칙은 모든 트래픽에 대해 거부하는 규칙을 자동으로 가짐

    즉, 규칙을 정하지 않으면 거부되나 모든 규칙을 검사해야하므로 비효율적이다. 거부해야하는 대상은 명확하게 거부하는 것이 좋겠다.

Domain Name System(DNS)

AWS 자료링크

Domain Name System의 약자로 호스트의 도메인 이름을 호스트의 네트워크 주소로 바꾸거나 그 - 반대의 변환을 수행할 수 있도록 하기 위해 개발되었다.

  • DHCP 를 통해 DNS가 설정된다.
  • 인터넷 도메인 주소 체계로서의 응용에서, www.example.com과 같은 주 컴퓨터의 도메인 이름을 192.168.1.0과 같은 IP 주소로 변환하고 라우팅 정보를 제공하는 분산형 시스템이다.
  • Forward Zone(도메인 이름 → IP)과 Reverse Zone(IP → 도메인 이름)을 가진다.
    • Forward Zone에는 도메인을 구성하는 호스트에 대한 정보를, Reverse Zone에는 DNS 서버 자기 자신에 대한 정보를 기록한다.
  • 도메인 구성 요소
    branch.co.kr이라는 전체를 묶어 도메인이라고 하지만 구성 요소마다 별도의 이름이 있다.
    • branch : 등록명 또는 3단계 도메인
    • co : 2 단계 도메인
    • kr : 최상위 도메인 또는 1단계 도메인, 국가 도메인

Amazon Route 53

사용자 요청을 AWS 또는 온프레미스에서 실행되는 인터넷 애플리케이션에 연결합니다.

  • AWS의 DNS 웹 서비스
  • 가용성과 확정성이 뛰어나다.
  • 최종 사용자를 AWS에서 호스팅되는 인터넷 애플리케이션으로 라우팅 할 수 있는 안정적인 방법을 제공
  • 사용자 요청을 AWS에서 실행되는 인프라 (ex. Amazon EC2 및 ELB)에 연결
  • 사용자를 AWS 외부의 인프라로 라우팅 할 수 있음
  • 도메인 이름의 DNS 레코드를 관리하는 기능이 존재하여 AWS에서 자체 도메인 이름을 바로 구매하고 관리 가능
  • 다른 도메인 등록 대행자가 관리하는 기존 도메인 이름의 DNS 레코드를 전송이 가능하여 단일 위치에서 모든 도메인 이름을 관리 가능

Amazon Route 53로 콘텐츠 전송 방식 예시

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

AWS 네트워킹 및 콘텐츠 전송 서비스 종류

사용 사례AWS 서비스기능
네트워크 기반Amazon VPCAWS 리소스를 위한 로컬 격리 네트워크를 정의하고 프로비저닝
AWS Transit Gateway중앙 허브를 통해 VPC와 온프레미스 네트워크를 연결
AWS PrivateLinkVPC, 서비스 및 온프레미스 애플리케이션을 연결하는 프라이빗 연결 제공
애플리케이션 네트워킹Elastic Load Balancing인스턴스, 컨테이너, IP 주소 및 Lambda 함수와 같은 리소스 풀로 트래픽을 자동으로 분산
AWS App Mesh컨테이너 및 마이크로서비스를 위한 애플리케이션 수준 네트워킹 제공
Amazon API Gateway모든 규모의 API를 생성, 유지 관리 및 보호
AWS Cloud Map애플리케이션에 연결된 AWS 서비스 검색
엣지 네트워킹Amazon CloudFront짧은 지연 시간과 빠른 전송 속도로 데이터, 동영상, 애플리케이션 및 API를 전 세계 고객에게 안전하게 전송
Amazon Route 53관리형 DNS 서비스를 사용하여 사용자를 인터넷 애플리케이션으로 라우팅
AWS Global AcceleratorAWS 글로벌 네트워크를 통해 트래픽을 연결하여 글로벌 애플리케이션 성능 개선
네트워크 보안AWS ShieldAWS에서 실행되는 애플리케이션을 DDoS 공격으로부터 보호
AWS WAF일반적인 웹 으로부터 웹 애플리케이션 보호
AWS Firewall Manager방화벽 규칙을 중앙에서 구성하고 관리
하이브리드 연결AWS Direct ConnectAWS와 데이터 센터, 사무실 또는 콜로케이션 환경 간의 프라이빗 전용 연결을 설정
AWS Virtual Private Network(VPN) - 클라이언트Virtual Private Network를 사용하여 사용자를 AWS 또는 온프레미스 리소스에 연결
AWS Virtual Private Network(VPN) - 사이트 간네트워크와 Amazon VPC 또는 AWS Transit Gateway 간의 암호화된 연결 생성
profile
모르면 공부하고 알게되면 공유하는 개발자
post-custom-banner

0개의 댓글