Q39 — AWS SAP-C02 第1章

第 39/75 問 | ← 第1章

Q114. 国際的な宅配会社が、AWS上で宅配管理システムをホストしています。ドライバーはこのシステムを使用して、配達完了の確認(受取人の署名または受取人と一緒に撮影された荷物の写真)をアップロードします。ドライバーの携帯端末は、FTP経由で単一のAmazon EC2インスタンスに署名および写真をアップロードします。各携帯端末は、ログイン中のユーザーに基づいたディレクトリにファイルを保存し、ファイル名は配達番号と一致します。その後、EC2インスタンスは中央データベースをクエリして配達情報を取得し、その情報をファイルのメタデータとして追加します。最後に、ファイルはアーカイブ用にAmazon S3に配置されます。 会社の拡大に伴い、ドライバーから「システムが接続を拒否する」という報告が寄せられています。FTPサーバーは接続切断やメモリ不足などの問題を抱えており、システムエンジニアはこれを受けて、EC2インスタンスを30分ごとに再起動するcronタスクを設定しました。しかし、請求チームからは「アーカイブにファイルが常に保存されていない」「中央システムが常に更新されていない」という報告が上がっています。ソリューションアーキテクトは、アーカイブが常にファイルを受け取り、関連システムが常に更新されるよう、スケーラビリティを最大限に高めるソリューションを設計する必要があります。なお、携帯端末は変更不可であり、新しいアプリケーションをデプロイすることもできません。 これらの要件を満たすソリューションはどれですか?

正解: C. AWS Transfer Familyを使用してFTPサーバーを作成し、ファイルをAmazon S3に直接保存するように設定します。Amazon S3のイベント通知をAmazon Simple Notification Service(Amazon SNS)経由で設定し、その通知によってAWS Lambda関数を呼び出します。Lambda関数には、メタデータの追加および配達システムの更新処理を実装します。

解説

要件に基づき、スケーラビリティを確保し、アーカイブが常にファイルを受け取り、関連システムが常に更新されるソリューションは、選択肢Cです。 C:AWS Transfer Familyを使用してFTPサーバーを作成し、ファイルをAmazon S3に直接保存する——AWS Transfer Familyは、クラウド上で完全にマネージドされたFTPサービスを提供します。これにより、既存の問題のあるEC2インスタンスおよびそのFTPサーバーを不要とし、スケーラブルかつ信頼性の高いファイル受信基盤を構築できます。 Amazon S3のイベント通知をAmazon SNS経由で設定し、AWS Lambda関数を呼び出す——指定されたS3バケットへのファイルアップロードをトリガーとして、自動的にLambda関数を起動できます。これにより、新規ファイルの到着を確実に検知・処理できます。 Lambda関数でメタデータの追加および配達システムの更新を実装——Lambda関数内で、ファイル名に含まれる配達番号を用いて中央データベースから配達情報を取得し、メタデータを付与したうえで配達システムを更新する処理を実装できます。 選択肢Aは不適切です。Application Load Balancerの背後にAuto Scalingグループを配置しても、FTPサーバーの接続切断やメモリ不足といった根本原因は解消されず、ワークロード増加へのスケーラブルな対応にもなりません。 選択肢Bは不適切です。Amazon EFSを既存EC2インスタンスにマウントしても、スケーラビリティの課題は解決せず、アーカイブへの確実なファイル保存およびシステムの確実な更新を保証するソリューションにはなりません。 選択肢Dは不適切です。問題文で明記されている通り、「携帯端末は変更不可」であり、アプリケーションの再デプロイも許可されていないため、現実的ではありません。 よって、正解はCです:AWS Transfer FamilyでS3へ直接ファイルを保存するFTPサーバーを構築し、S3イベント通知(Amazon SNS経由)でAWS Lambda関数を呼び出し、Lambda関数でメタデータの付与および配達システムの更新を行います。