반응형

AWS에서 효율적으로 Global Infra 구성하기 (채널톡)

개요

  • 글로벌 서비스
  • 글로벌 서비스를 구성하기 위한 AWS Service

느리다…

채널톡의 AWS Infra

  • 여기서 중요한건, DB는 다 ap-northeast-2에 존재한다.
  • 어떻게 하면 미국에 있는 사용자가 효율적으로 Serving이 가능할까?

문제를 해결하는 여러가지 방법

1) Application Side

  • Bundle Size 줄이기
  • Caching 잘 이용하기
  • Request를 병렬로 처리
  • UX도 개선 (빠르게 느끼게 하기 위해서…)

2) Infra Side

  • 최적의 지연시간
  • Request Caching

CloudFront

  • CDN 서비스
  • Content Delivery 해주는 서비스
  • 이미지, 동영상 뿐만 아니라 HTTP도 Content로 제공해준다
  • 즉, CF → 뒤에 ALB를 붙혀서 사용할 수도 있다.
  • 근데… 많이 비쌈… → Caching 서버 → 웹 서비스의 경우 HTTP라서 Caching을 못한다 → 그럼 비용이 너무 비쌈

Global Accelerator

  • 최대 60% 가까이 빨라짐
  • 그리고 테스트를 할수있는 페이지도 있음이것만 앞에 붙히면 되겠다. → 끝?
  • 근데 AWS Global Accelerator의 동작방식과 VPC Peering을 보면?
    • 똑같다.
    • 그리고 채널톡에서 원한거 → Caching을 원했었다.
    • 그럼 중간에 proxy 서버를 하나 두면되는거 아닌가?
    • 보통 HTTP는 Cors과정에서 OPTION method를 먼저 요청한다 이걸 (preflight 라고한다)
    • 그래서 보통 CORS과정은 브라우저단에서 1개의 POST요청을 보내는것 같지만
      • OPTION → PreFlight → 요청 받음 → CORS 허용?
      • POST → 요청
    • 그 얘긴 즉슨 미국으로 요청할때, OPTIONS + POST 두번 허용하는데 이걸 한번으로 줄이면 어떨까?

개선된 인프라

  • 값싸고
  • Caching이 가능하고
  • OPTIONS + POST 통신이 아닌 한번의 통신이 가능한 인프라구조
    • Route53의 GeoLocation을 사용하면 각각 연결하게 된다.
      • 한국 → 한국
      • 미국 → 미국

  • VPC Peering이 더 빠르다…
  • OPTION 메서드를 빼고 + VPC Peering이 더 빠르다

Wrap up

  • 인프라를 변경한다거나, 백엔드를 변경할 순 없다
  • 인프라를 변경하지 않고도 해결하는 방법을 고민해봐야 한다
  • 문제를 해결하는 방법은 여러가지다.
  • AWS Managed Service를 잘 조합하면 더 좋은 결과를 얻을 수 있다.
  • VPC Peering + HTTP 기반의 CORS PreFlight OPTION 메서드제외

Reference

[Global Expansion] Show Me Your Startup! Channel Corp. - AWS에서 효율적으로 글로벌 인프라 사용하기

반응형

+ Recent posts