RESTfulサービスを利用する時に使うゲートウェイは?

Amazon API Gateway

・Amazon API Gatewayを使用し、アプリケーション層としてAWS Lambda関数にトランザクションを直接渡します。アプリケーションサービス間の通信レイヤーとしてAmazon Simple Queue Service(Amazon SQS)を使用します

この選択肢が正解の理由は以下の通りです。

まず、Amazon API Gatewayは、機能としてトラフィック管理、APIバージョン管理、アクセス認証などを提供します。これにより、適度な負荷分散を実現し、適切なパフォーマンスを確保しながら、各レイヤ間の境界も明確にすることができます。

さらに、AWS Lambdaを使用することで、サーバーレスアーキテクチャを実現し、オペレーションの負荷を減らすことができます。何故なら、サーバのプロビジョニングやパッチ適用などの運用管理が要らず、コードの実行にだけ集中できるからです。

加えて、アプリケーションサービス間の通信にAmazon SQSを使用することで、メッセージの配信を確認し、パフォーマンスの向上を実現します。

また、SQSはフルマネージド型のサービスで、メッセージの順序付けや重複排除などの複雑な問題を解決してくれます。これらによりアプリケーションは過負荷状態になりにくくなり、全体のパフォーマンスを向上させることができます。

選択肢:Amazon Simple Queue Service(Amazon SQS)を使用して、Auto Scalingグループ内のAmazon EC2上で動作するアプリケーションサーバー間のメッセージングを処理します。Amazon CloudWatchを使用してSQSキューの長さを監視し、通信障害が検出されたらスケールアップします

この選択肢が正しくない理由は以下の通りです。

Auto ScalingグループとEC2を使用すると、サーバー管理やスケールアップのためのアラート設定などの運用オーバーヘッドが増えます。

対して、API GatewayとLambdaの組み合わせはサーバーレスなので、この運用負荷が低減され、より効率的です。

コメント

タイトルとURLをコピーしました