네트워킹 및 콘텐츠 전송 Part

박기원·2022년 8월 1일
0
post-thumbnail

📒 Amazon API Gateway

  • 어떤 규모에서든 개발자가 API를 손쉽게 게시, 유지 관리, 모니터링 및 보호할 수 있도록 지원하는 완전관리형 서비스
  • 몇 번의 클릭으로 애플리케이션 이 백엔드 서비스 (EC2, ECS 또는 Elastic Beanstalk)에서 실행되는 애플리케이션, Lambda에서 실행되는 코드, 기타 웹 애플리케이션의 데이터, 비즈니스 로직 또는 기능에 액세스 할 수 있도록 “현관문” 역할을 하는 API를 생성
  • 트래픽 관리, 권한 부여 및 액세스 제어, 모니터링, API 버전관리를 비롯해 최대 수십만 건의 동시 API 호출을 수락 및 처리하는데 관련된 모든 작업을 처리
  • HTTP API와 REST API의 경우 수신한 API 호출과 전송한 데이터 양에 대해서만 요금을 지불
  • 모든 API는 HTTPS 엔드포인트만 제공한다.
  • 암호화되지 않은 HTTP 엔드포인트를 지원하지 않는다.
API Gateway설명
RESTful APIHttp 기반, 상태 비저장 클라이언트-서버 통신을 활성화, 표준 HTTP 메서드를 구현
WebSocket API클라이언트와 서버 간에 상태를 저장하는 전이중 통신을 지원하는 WebSocket 프로토콜 준수, 수신 메세지를 메시지 콘텐츠에 따라 라우팅
  • WebSocket API의 경우 전송하고 수신한 메세지와 사용자 /디바이스가 WebSocket API에 연결한 시간에 대해서만 요금 지불
  • 기본적으로 API Gateway는 API Gateway 인증서를 자동으로 사용하는 API에 내부 도메인을 할당한다.
  • API가 커스텀 도메인 이름에서 실행되도록 구성할 때, 도메인에 대한 자체 인증서를 제공할 수 있다.

🔔 X-Ray

  • API Gateway REST API를 통해 기본 서비스로 이동하는 과정에서 사용자 요청을 추적하고 분석 가능
  • 전체 요청에 대한 엔드 투 엔드 가시성을 제공하므로 사용자의 API와 백엔드 서비스에서 지연 시간을 분석할 수 있다.
  • 서비스 맵을 사용하여 전체 요청에 대한 지연 시간과 X-Ray와 통합되는 다운스트림 서비스의 지연 시간을 볼 수 있다.

📒 Amazon CloudFront

  • 지나가는 엣지 로케이션의 수를 줄여 비용을 절감할 수 있다.
  • Price Class 3가지
  1. All : 모든 지역
  2. 200 : 가장 비싼 지역만 빼고
  3. 100 : 가장 싼 지역만
  • 보안은 Field Level로 사용자의 정보를 엣지 로케이션에서 공용키로 암호화하고 오직 웹 서버에서만 복호화할수 있게 한다.
  • AWS Edge 로케이션 대신 각 요청에 대해 애플리케이션의 오리진 서버가 요청을 처리하고 있다면 Cache-Control max-age 를 확인한다. 높여줘야함

🔔 프라이빗 콘텐츠 제공

  • CloudFront 캐시에 있는 파일에 대한 액세스를 제한한다.
    • 서명된 URL 또는 서명된 쿠키를 만들어 파일 액세스를 제어할 때 다음과 같은 제약 조건을 지정할 수 있다.
      • URL의 효력이 사라지는 종료 날짜 및 시간
      • (선택 사항) URL의 효력이 발생하는 날짜 및 시간
      • (선택 사항) 콘텐츠에 액세스할 때 사용할 수 있는 컴퓨터의 IP 주소 또는 주소 범위
  • 다음 중 하나를 수행하여 오리진의 파일에 대한 액세스를 제한한다.
    • Amazon S3 버킷의 원본 액세스 ID(OAI)를 설정한다.
    • 프라이빗 HTTP 서버(사용자 지정 오리진)에 대한 사용자 지정 헤더를 구성한다.

서명된 URL

  • 개별 파일에 대한 엑세스를 준다.
  • 파일별로 하나의 URL이 있다. / CloudFront 서명된 URL
  • 오리진에 상관없이 경로에 대한 액세스를 허용하기 때문에 서명된 URL은 S3 오리진 뿐만 아니라 원하는 모든 HTTP오리진에서 작동한다.
  • 루트만 관리가능하고 ip, 경로, 날짜, 만료 등으로 필터링할 수 있다.
  • CloudFront에 있는 모든 캐싱 기능을 활용할 수 있다.

S3 미리 서명된 URL

  • 사람으로서 요청을 발행한다. / 수명이 제한적이다.
  • 서명된 쿠키 : 다수의 파일에 액세스를 주고 쿠키는 재사용 가능하다.
  • 다수의 파일에 서명된 쿠키는 하나다.

📒 AWS Direct Connect

  • 인터넷이 아닌 다른 방법으로 AWS에 연결할 수 있는 네트워킹 서비스 / 고객시설과 AWS 간의 프라이빗 네트워크를 통해 전달
    ( 전송하는 동안 네트워크 트래픽은 AWS 글로벌 네트워크에 남아있으며 퍼블릭 인터넷에 닿지 않는다. )
  • 프라이빗 네트워크는 인터넷 기반 연결보다 비용이 적게 들고 대역폭이 늘어난다.
  • 생성되는데 수 개월이 걸린다.
  • 전송 중인 트래픽을 암호화하지 않는다.
  • 통과하는 전송 중인 데이터를 암호화하려면 해당 서비스에 대한 전송 암호화 옵션 을 사용해야 한다.
  • 비공개 터널을 통해 온프레미스를 VPC와 연결한다.

📒 AWS Global Accelerator

  • AWS Global Accelerator는 글로벌 사용자에게 제공하는 애플리케이션의 가용성과 성능을 향상하는 데 도움이 되는 네트워킹 서비스다.
  • 애니캐스트 IP 개념을 사용하여 가까운 서버로 접속한다.
  • 가장 가까운 엣지 로케이션으로 가서 사설 AWS 네트워크를 통해 ALB 도착한다.
  • AWS Global Accelerator는 손쉽게 설정, 구성 및 관리할 수 있습니다.
  • 아무것도 캐시하지 않고 DDoS 보호도 자동으로 받는다
  • 고정 IP 주소를 통해 애플리케이션에 고정된 진입점을 제공하고, 서로 다른 AWS 리전 및 가용 영역별로 특정 IP 주소를 관리하는 복잡성을 없앤다.
  • AWS Global Accelerator는 애플리케이션 상태, 사용자의 위치 및 고객이 구성하는 정책의 변경에 즉각적으로 대응하여 항상 성능에 기반한 최적의 엔드포인트로 사용자 트래픽을 라우팅한다.
  • 속도 비교 도구를 사용하여 사용자 위치에서 성능 혜택을 테스트할 수 있다.
  • 다른 AWS 서비스와 마찬가지로 AWS Global Accelerator는 장기 약정 또는 최소 요금이 필요 없고 사용량에 따라 비용을 지불하는 셀프 서비스다.

CloudFront vs Global Accelerator

Services설명
CloudFront이미지나 비디오처럼 캐시 가능한 내용과 API 가속 및 동적 사이트 전달 같은 동적 내용 모두에 대해 성능을 향상, 가끔 한 번씩 엣지 로케이션으로부터 내용을 가져온다, 대부분 캐시된 내용을 엣지로부터 가져옴
Global AcceleratorTCP/UDP 상의 다양한 애플리케이션 성능을 향상시킨다. 패킷은 엣지 로케이션으로부터 받아오므로 비HTTP에 적합하다. 고정IP

📒 Amazon Route53

🔔 라우팅 정책

  • 단순 라우팅
    도메인에 대해 특정 기능을 수행하는 하나의 리소스만 있는 경우(예: example.com 웹 사이트의 콘텐츠를 제공하는 하나의 웹 서버)에 사용합니다.
    단순 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성할 수 있습니다.

  • 가중치 기반
    사용자가 지정하는 비율에 따라 여러 리소스로 트래픽을 라우팅하려는 경우에 사용합니다.
    가중치 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성할 수 있습니다.

  • 지리적 위치
    사용자의 위치에 기반하여 트래픽을 라우팅하려는 경우에 사용합니다.
    지리적 위치 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성할 수 있습니다.

  • 지연 시간
    여러 AWS 리전에 리소스가 있고 최상의 지연 시간을 제공하는 리전으로 트래픽을 라우팅하려는 경우에 사용합니다.
    지연 시간 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성할 수 있습니다.

  • 장애 조치
    액티브-패시브 장애 조치를 구성하려는 경우에 사용합니다.
    장애 조치 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성할 수 있습니다.

  • 다중값 응답
    Route 53이 DNS 쿼리에 무작위로 선택된 최대 8개의 정상 레코드로 응답하게 하려는 경우에 사용합니다.
    다중 값 응답 라우팅을 사용하여 프라이빗 호스팅 영역에서 레코드를 생성할 수 있습니다.

  • IP 기반
    사용자의 위치에 기반하여 트래픽을 라우팅하고 트래픽이 시작되는 IP 주소가 있는 경우에 사용합니다.

📒 AWS Transit Gateway

  • VPC와 온프레미스 네트워크를 상호 연결하는데 사용할 수 있는 네트워크 전송 허브이다.
  • 복잡한 피어링 관계를 제거하여 네트워크를 간소화
  • 클라우드 라우터 역할을 하므로 새로운 연결을 한번만 추가하면 됨
  • 글로벌 확장 시 리전 간 피어링을 사용하면 AWS 글로벌 네트워크에서 Transit Gateway를 하나로 연결 가능
  • 클라우드 라우터 역할을 하므로 네트워크 아키텍처가 간소화
  • 중앙 콘솔에서 VPC 및 엣지 연결을 손쉽게 모니터링 가능
  • 멀티캐스트 지원은 동일한 콘텐츠를 다수의 특정 대상으로 분산
  • 광범위한 온프레미스 멀티캐스트 네트워크가 필요하지 않으며 화상 회의 미디어 또는 전화회의와 같은 처리량이 많은 애플리케이션에 필요한 대역폭 감소
  • 미사용 시 확장할 때마다 복잡성이 증가

🔔 연결할 수 있는 대상

  • 하나 이상의 VPC
  • Connect SD-WAN/서드 파티 네트워크 어플라이언스
  • AWS Direct Connect 게이트웨이
  • 다른 Transit Gateway와의 피어링 연결
  • Transit Gateway에 대한 VPN 연결

0개의 댓글