type
status
date
slug
summary
tags
category
icon
password
理論
AWS Global AcceleratorとAmazon API Gatewayのエッジ最適化されたAPIエンドポイントには、それぞれ異なる特性があります。以下に、これらのサービスの主要な違いを表形式で比較します。
特徴 | AWS Global Accelerator | Amazon API Gateway(エッジ最適化APIエンドポイント) |
目的 | ユーザーのリクエストを最適なAWSリージョンのエンドポイントにルーティングし、全体的なパフォーマンスを向上させる | ユーザーがAPIに到達する距離を最短にすることでAPIレスポンスの高速化 |
利用シナリオ | - アプリケーションのエンドポイント(ALB、EC2、ELBなど)へのトラフィック最適化 - 複数リージョンにまたがるアプリケーション | - RESTful APIを公開 - APIのパフォーマンスを最適化するためにエッジ最適化を使用 |
トラフィックのルーティング | AWSのグローバルネットワークを使用し、最適なリージョンにトラフィックをルーティング | エッジロケーションを使用し、APIへのアクセスを最適化 |
非標準RESTメソッドのサポート | サポートあり (LINK, UNLINK, LOCK, UNLOCKなどに対応) | 標準的なRESTメソッド(GET, POST, PUTなど)には対応しているが、非標準メソッドはサポートが限定的 |
グローバルなネットワークの利用 | あり (AWSグローバルネットワークでルーティング) | あり (API Gatewayのエッジロケーションを利用) |
接続先の設定 | 複数のAWSリージョンにまたがるサービスに接続可能 | 単一のAPI Gatewayエンドポイントに接続 |
遅延低減 | グローバルに最適なエンドポイントにトラフィックをルーティングして遅延を低減 | エッジ最適化により、ユーザーの最寄りのエッジロケーションでAPIリクエストを処理 |
用途に適したターゲット | アプリケーション全体のパフォーマンスを向上させる | APIのパフォーマンス向上に特化 |
トラフィックの分散 | 複数リージョンに対してトラフィックを分散し、最適化 | 一つのリージョンに対してAPIリクエストを処理 |
コスト | 地理的に分散されたエンドポイントにトラフィックをルーティングするためコストが発生 | エッジ最適化の使用においてはAPI Gatewayのコストが発生 |
要点
- AWS Global Accelerator は、アプリケーション全体のトラフィックを最適化し、複数リージョンでの高可用性や低遅延を実現するために使用されます。非標準RESTメソッドのサポートがあり、グローバルなアプリケーションパフォーマンスを向上させます。
- Amazon API Gatewayのエッジ最適化APIエンドポイント は、主にAPIの遅延を低減するために使用され、世界中のユーザーに対してAPIのパフォーマンスを最適化します。ただし、非標準RESTメソッドへの対応には限界があります。
これらのサービスは、使用目的やアプリケーションの要件に応じて適切に選択することが重要です。
ユーザーのリクエストは基本的には同じです。しかし、そのリクエストがどのように処理されるかは、AWS Global AcceleratorとAmazon API Gatewayで異なります。
ユーザーのリクエストの流れ(比較)
AWS Global Acceleratorの場合:
- ユーザーがリクエストを送信します。
- リクエストは、最寄りのAWSのエッジロケーションに到達します。
- AWS Global Acceleratorが、最適なリージョンにリクエストをルーティングします(例えば、ユーザーが日本からアクセスしていれば、東京リージョンのサーバーにルーティング)。
- 最適なサーバーから応答が返され、ユーザーに届けられます。
Amazon API Gatewayの場合:
- ユーザーがリクエストを送信します。
- リクエストはAPI Gatewayに到達します。
- API Gatewayは、そのリクエストに応じて、バックエンド(例えば、Lambda関数やEC2インスタンス)に処理を委任します。
- バックエンドからの応答をユーザーに返します。
重要な違い:
- Global Acceleratorは、リクエストを最適なリージョンにルーティングして、全体のパフォーマンスを向上させます。ユーザーは最寄りのエッジロケーションを通じて、最速で応答を受けます。
- API Gatewayは、APIリクエストを管理し、適切なバックエンドに処理を委託する役割を果たします。APIの管理や認証、スロットリングなどを行います。
要するに:
- Global Acceleratorは、リクエストの「ルーティングの最適化」や「パフォーマンス向上」を担います。
- API Gatewayは、リクエストを受けて、アプリケーションに必要なデータやサービスを提供する「API管理」や「処理」の部分を担当します。
つまり、ユーザーのリクエストの最終的な目標は同じですが、それを実現する方法が異なるのです。
実践
略
一問道場
問題 #208
トピック 1
あるソフトウェア・アズ・ア・サービス(SaaS)プロバイダーは、Application Load Balancer(ALB)を通じてAPIを公開しています。ALBは、us-east-1リージョンに展開されたAmazon Elastic Kubernetes Service(Amazon EKS)クラスターに接続しています。公開されたAPIには、LINK、UNLINK、LOCK、UNLOCKという非標準のRESTメソッドが含まれています。米国以外のユーザーからは、これらのAPIに対して応答時間が長く、一貫性がないという報告があります。ソリューションアーキテクトは、運用オーバーヘッドを最小限に抑えつつ、この問題を解決する必要があります。
どのソリューションがこれらの要件を満たしますか?
A. Amazon CloudFrontディストリビューションを追加し、ALBをオリジンとして設定する。
B. Amazon API Gatewayのエッジ最適化されたAPIエンドポイントを追加し、ALBをターゲットとして設定する。
C. AWS Global Acceleratorにアクセラレーターを追加し、ALBをオリジンとして設定する。
D. APIを2つの追加AWSリージョン(eu-west-1とap-southeast-2)に展開し、Amazon Route 53にレイテンシーに基づくルーティングレコードを追加する。
解説
C
AWS Global Acceleratorを使用することで、APIのパフォーマンスを向上させることができます。以下のポイントに関して解説します:
- AWS Global Acceleratorの概要: AWS Global Acceleratorは、AWSのグローバルネットワークを活用して、トラフィックを最適なリージョンのエンドポイントにルーティングするサービスです。このルーティングは、クライアントの場所、エンドポイントのヘルス、設定されたポリシーに基づいて最適化されます。これにより、世界中のユーザーに対して低レイテンシで高パフォーマンスなアクセスを提供することができます。
- ALBをオリジンとして設定する: Global Acceleratorを利用する場合、ALB(Application Load Balancer)をオリジン(接続先)として設定することができます。これにより、Global Acceleratorがユーザーからのリクエストを最適なALBエンドポイントに転送し、APIへのアクセスのパフォーマンスを改善します。
- 非標準RESTメソッドへの対応: APIで使用される非標準RESTメソッド(LINK、UNLINK、LOCK、UNLOCK)についても、AWS Global Acceleratorはサポートしています。これらのメソッドがAPIに組み込まれている場合でも、Global Acceleratorを使用して、ユーザーが安定した応答を得られるようにすることができます。
このソリューションの利点:
- パフォーマンスの向上:AWSのグローバルネットワークを活用することで、APIリクエストの遅延を削減できます。特に、米国以外のユーザーに対しても、より高速で安定したアクセスを提供できます。
- 運用オーバーヘッドの削減:Global Acceleratorは、トラフィックルーティングを自動的に最適化し、管理の手間を最小限に抑えることができます。
- 非標準RESTメソッドのサポート:APIで非標準メソッドを使用していても、Global Acceleratorは問題なく機能し、全てのHTTPメソッドをサポートします。
したがって、このソリューションは、APIのパフォーマンス向上と運用効率化を実現し、特に地理的に分散したユーザー向けに最適です。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/171d7ae8-88e2-80cb-a2b9-c904ae0abe7c
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章