type
status
date
slug
summary
tags
category
icon
password
理論
グローバルアーキテクチャにおける低レイテンシーの実現
- データベースのグローバル分散
- Amazon DynamoDB Global TablesやAmazon Aurora Global Databaseは、複数のAWSリージョンでデータを同期し、低レイテンシーでグローバルなアクセスを実現。データは最寄りのリージョンから即座に取得され、レイテンシーが最小化される。
- エッジコンピューティング
- Lambda@EdgeやCloudFront Functionsを使用すると、リクエストが最寄りのAWSエッジロケーションで処理され、バックエンドAPIを通さずにロジックを実行できるため、レイテンシーが劇的に低減される。
- トラフィックの最適化
- AWS Global AcceleratorやAmazon Route 53を利用して、ユーザーのリクエストを最寄りのリージョンやエッジロケーションにルーティングし、アプリケーションのパフォーマンスを向上させる。
- サーバーレスアーキテクチャ
- Lambda@EdgeやCloudFront 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 Tables と Lambda@Edge を組み合わせることで、グローバルに分散されたデータベースとエッジでの迅速なロジック実行を実現し、最も低レイテンシーで効率的なソリューションを提供します。サーバーレスでスケーラビリティも確保でき、運用負荷も低く、最適な選択肢です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/17ad7ae8-88e2-8089-b2a7-e10460de5cce
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章