type
status
date
slug
summary
tags
category
icon
password
 

理論

グローバルアーキテクチャにおける低レイテンシーの実現

  1. データベースのグローバル分散
      • Amazon DynamoDB Global TablesAmazon Aurora Global Databaseは、複数のAWSリージョンでデータを同期し、低レイテンシーでグローバルなアクセスを実現。データは最寄りのリージョンから即座に取得され、レイテンシーが最小化される。
  1. エッジコンピューティング
      • Lambda@EdgeCloudFront Functionsを使用すると、リクエストが最寄りのAWSエッジロケーションで処理され、バックエンドAPIを通さずにロジックを実行できるため、レイテンシーが劇的に低減される。
  1. トラフィックの最適化
      • AWS Global AcceleratorAmazon Route 53を利用して、ユーザーのリクエストを最寄りのリージョンやエッジロケーションにルーティングし、アプリケーションのパフォーマンスを向上させる。
  1. サーバーレスアーキテクチャ
      • Lambda@EdgeCloudFront Functionsは、インフラの管理を最小限に抑え、スケーラビリティとコスト効率を高めるため、特にトラフィックの多いグローバルアプリケーションに適している。
これらの技術を組み合わせることで、グローバルアーキテクチャにおいて低レイテンシー、スケーラビリティ、効率的な運用が可能になります。

実践

一問道場

質問 #426

あるグローバル企業が、チケットのバーコードを表示するモバイルアプリを運営しています。顧客はアプリのチケットを使ってライブイベントに参加します。イベントのスキャナーはチケットのバーコードを読み取り、バックエンドAPIを呼び出して、データベースのデータとバーコードのデータを照合します。バーコードがスキャンされた後、バックエンドのロジックはデータベースの単一テーブルに書き込み、バーコードを使用済みとしてマークします。
この企業は、AWS上でアプリを展開し、DNS名を api.example.com として設定する必要があります。データベースは世界中の3つのAWSリージョンにホストされます。
どのソリューションが最も低いレイテンシーでこの要件を満たしますか?
A. データベースを Amazon Aurora Global Database クラスターにホストします。バックエンドは、データベースと同じリージョンにある3つの Amazon Elastic Container Service(Amazon ECS)クラスターにホストします。AWS Global Acceleratorでアクセラレータを作成し、リクエストを最寄りのECSクラスターにルーティングします。api.example.com をアクセラレータのエンドポイントにマッピングする Amazon Route 53 レコードを作成します。
B. データベースを Amazon Aurora Global Database クラスターにホストします。バックエンドは、データベースと同じリージョンにある3つの Amazon Elastic Kubernetes Service(Amazon EKS)クラスターにホストします。3つのクラスターをオリジンとして Amazon CloudFront ディストリビューションを作成します。リクエストを最寄りのEKSクラスターにルーティングします。api.example.com を CloudFront ディストリビューションにマッピングする Amazon Route 53 レコードを作成します。
C. データベースを Amazon DynamoDB Global Tables にホストします。Amazon CloudFront ディストリビューションを作成します。CloudFront ディストリビューションに、バーコードを検証するバックエンドロジックを含む CloudFront Function を関連付けます。api.example.com を CloudFront ディストリビューションにマッピングする Amazon Route 53 レコードを作成します。
D. データベースを Amazon DynamoDB Global Tables にホストします。Amazon CloudFront ディストリビューションを作成します。CloudFront ディストリビューションに、バーコードを検証するバックエンドロジックを含む Lambda@Edge 関数を関連付けます。api.example.com を CloudFront ディストリビューションにマッピングする Amazon Route 53 レコードを作成します。

解説

オプションDが正解である理由について、さらに詳細な解説を行います。

1. Amazon DynamoDB Global Tables

  • DynamoDB Global Tablesは、複数のリージョンにわたって自動的にデータを同期し、世界中どこからでもアクセスできるデータベースを提供します。これにより、ユーザーの最寄りのリージョンから迅速にデータを取得することができます。特に、グローバルな分散アプリケーションにおいて、データベースの可用性とレイテンシーを最適化するために非常に有効です。

2. Lambda@Edge

  • Lambda@Edgeは、CloudFrontのエッジロケーションでサーバーレスコードを実行できるAWSサービスです。ユーザーがリクエストを送信すると、そのリクエストは最寄りのエッジロケーションで処理されます。これにより、バックエンドサーバーにリクエストを送る前に、エッジで直接処理が行われるため、レスポンス時間が大幅に短縮され、低レイテンシーを実現できます。
  • このサービスは、APIリクエストに対して即座にロジックを実行することが可能で、バーコードの検証のようなリアルタイムのバックエンド処理を迅速に行えます。特に、データベースとの連携が重要な処理であっても、Lambda@Edgeはエッジでの処理をサポートします。

3. CloudFrontとの統合

  • Amazon CloudFrontは、グローバルなコンテンツ配信ネットワーク(CDN)であり、ユーザーに最寄りのエッジロケーションを通じてコンテンツを提供することで、パフォーマンスを向上させます。Lambda@Edgeは、CloudFrontのリクエスト処理に組み込まれて、リクエストが最寄りのエッジロケーションで処理されるときにコードを実行します。これにより、グローバルなパフォーマンスの向上が実現します。

4. 低レイテンシーと効率性

  • Lambda@Edgeを使用することで、バックエンドAPIやデータベースにアクセスせずに、エッジロケーションで即座に処理を完了させることが可能です。これにより、全体的なレイテンシーが最小限に抑えられ、ユーザーのリクエストに対するレスポンス時間が短縮されます。
  • DynamoDB Global Tablesとの組み合わせにより、データは全リージョンで即座に同期され、必要なデータがユーザーに最寄りのリージョンから迅速に取得されます。

5. スケーラビリティと管理の簡便さ

  • Lambda@Edgeはサーバーレスでスケーラブルなサービスであり、負荷が増加しても自動的にスケールします。インフラの管理を心配することなく、コードを変更するだけでスケーラビリティが確保できます。
  • DynamoDBも完全マネージド型であり、スケーラビリティを気にすることなく使用でき、特にトラフィックの多いグローバルアプリケーションに最適です。

6. 他の選択肢との比較

  • オプションAは、AWS Global Acceleratorを使用して最寄りのECSクラスターにリクエストをルーティングします。Global Acceleratorは低レイテンシーを提供しますが、ECSクラスターはコンテナオーケストレーションが必要で、設定や管理が少し複雑です。また、ECSはAPIリクエストの処理をバックエンドで行うため、Lambda@Edgeに比べてエッジでの直接処理という利点はありません。
  • オプションBは、EKSを使用し、CloudFrontディストリビューションを使ってリクエストをルーティングします。EKSは複雑で、クラスター管理が必要です。特に、Lambda@Edgeのようにエッジで直接バックエンドロジックを処理することができないため、オプションDのように低レイテンシーを実現するのには向いていません。
  • オプションCは、CloudFront Functionを使用していますが、CloudFront Functionは軽量な処理に特化しており、バーコードの検証など複雑なバックエンドロジックには向いていません。Lambda@Edgeの方が、より高度で柔軟なバックエンド処理を実行できるため、オプションDの方が優れています。

結論

オプションDは、DynamoDB Global TablesLambda@Edge を組み合わせることで、グローバルに分散されたデータベースとエッジでの迅速なロジック実行を実現し、最も低レイテンシーで効率的なソリューションを提供します。サーバーレスでスケーラビリティも確保でき、運用負荷も低く、最適な選択肢です。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
427-AWS SAP AWS 「理論・実践・一問道場」Secrets Manager425-AWS SAP AWS 「理論・実践・一問道場」SMB経由
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签