API Gateway REST APIとLambda関数で構築されたレポート生成サービスがあります。ほとんどのリクエストは数秒で完了しますが、大規模データセットのレポート生成には35〜50秒かかる場合があり、ユーザーが504 Gateway Timeoutエラーを受け取っています。この問題を根本的に解決するアーキテクチャとして最も適切なものはどれですか?
API Gateway REST APIの統合タイムアウトは最大29秒のハードリミットがあり、コンソールからもAWS APIからも変更できない。HTTP APIも最大30秒が上限。35〜50秒かかる処理には非同期パターンへの変更が必要。Lambda関数を非同期呼び出し(InvocationType=Event)に変更してAPIが即時ジョブIDを返し、クライアントが別APIエンドポイントへのポーリングかSNS/WebSocket通知で結果を受け取るパターンがこの問題の標準的な解決策。 選択肢AのLambdaメモリ最大化でCPU性能は向上するが、35〜50秒かかる複雑なデータ処理が確実に29秒以内に収まる保証はなく、根本的な解決策にならない。 選択肢BのAPI Gatewayタイムアウト変更は29秒がサービス仕様のハードリミットであり、コンソール・API・CLIのいずれからも29秒を超える値は設定できない。 選択肢CのHTTP APIへの移行はタイムアウト上限が30秒であり、35〜50秒の処理には依然として対応できない。REST APIからHTTP APIへの移行ではこの問題は解消されない。