View a markdown version of this page

CloudFront를 사용하는 다중 리전 GraphQL API - CloudFront를 사용하는 다중 리전 GraphQL API

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudFront를 사용하는 다중 리전 GraphQL API

게시일: 2022년 4월 25일(다이어그램 기록)

이 아키텍처는 애플리케이션의 가용성을 높이는 동시에 최종 사용자의 지연 시간을 줄이는 방법을 보여줍니다. Amazon DynamoDB 글로벌 테이블에서 지원하는 활성/활성 실시간 데이터 동기화를 통해 여러 AWS 리전의 GraphQL API 엔드포인트를 제공할 수 있습니다.

CloudFront를 사용하는 다중 리전 GraphQL API

CloudFront, Amazon AppSync, DynamoDB 글로벌 테이블 및 Lambda가 포함된 다중 리전 GraphQL API를 보여주는 아키텍처 다이어그램입니다.

다음 단계에서는 아키텍처를 설명합니다.

  1. Amazon AppSync를 사용하여 두 개 이상의 AWS 리전에 GraphQL API를 배포한 다음 DynamoDB 데이터베이스에 연결된 AWS Lambda 해석기를 사용하여 AppSync 명령 및 쿼리를 처리합니다.

  2. 클라이언트에게 모든 리전의 데이터 변경 사항을 알리려면 DynamoDB 글로벌 테이블을 활성화하여 리전 간에 데이터를 동기화된 상태로 유지합니다. Lambda 핸들러로 DynamoDB 데이터 스트림을 처리하여 의도적으로 구축된 GraphQL 스키마 구독을 트리거합니다.

  3. 사용자 지정 도메인을 지원하려면 도메인의 SSL 인증서를 AWS Certificate Manager(ACM)에 업로드하고 Amazon CloudFront 배포에 연결합니다.

  4. Amazon Route 53을 DNS 이름 확인 서비스로 사용하여 도메인 이름을 CloudFront로 지정합니다.

  5. Route 53에서 라우팅 규칙을 설정하여 위치 지연 시간이 가장 짧은 리전으로 글로벌 클라이언트를 라우팅합니다.

  6. 클라이언트를 모든 리전의 AppSync 엔드포인트에 원활하게 인증하려면 Lambda@Edge를 사용하여 요청을 전달할 최적의 리전에 대해 Route 53를 쿼리하고 각 리전 AppSync의 특이도를 추상화하여 권한 부여를 정규화합니다.

  7. 그러면 전 세계의 클라이언트가 엣지 로케이션에서 사용할 수 있는 단일 엔드포인트에서 GraphQL API에 연결할 수 있습니다.

  8. CloudFront는 지연 시간이 가장 짧은 리전의 API로 클라이언트 요청을 원활하게 라우팅합니다.

참조 자료

자세한 내용은 다음 리소스를 참조하세요.

다이어그램 기록

이 참조 아키텍처 다이어그램의 업데이트에 대한 알림을 받으려면 RSS 피드를 구독하세요.

변경 사항설명날짜

최초 게시

참조 아키텍처 다이어그램이 처음 게시되었습니다.

2022년 4월 25일

참고

RSS 업데이트를 구독하려면 사용 중인 브라우저에 대해 RSS 플러그인이 활성화되어 있어야 합니다.