Q92 — AWS SAA-C03 第13章

第 92/100 問 | ← 第13章

Q992. ある企業が、各事業部門向けに複数のマイクロサービスで構成される非本番アプリケーションを開発しました。このアプリケーションは単一の開発チームによってすべてのマイクロサービスが保守されています。現在のアーキテクチャでは、静的ウェブフロントエンドと、アプリケーションロジックを含むJavaベースのバックエンドを使用しており、MySQLデータベースはAmazon EC2インスタンス上でホストされています。この企業は、アプリケーションをセキュアかつグローバルに利用可能にする必要があります。これらの要件を満たすとともに、運用上のオーバーヘッドを最小限に抑えるソリューションはどれですか?

正解: B. 静的ウェブフロントエンドのホスティングにAmazon CloudFrontおよびAmazon S3を使用します。マイクロサービスをAWS Lambda関数にリファクタリングし、それらをAmazon API Gateway経由でアクセスできるようにします。MySQLデータベースはAmazon RDS for MySQLに移行します。

解説

アプリケーションをセキュアかつグローバルに利用可能にし、かつ運用上のオーバーヘッドを最小限に抑えるには、以下の選択肢Bが最適です:静的ウェブフロントエンドのホスティングにAmazon CloudFrontおよびAmazon S3を使用します。マイクロサービスをAWS Lambda関数にリファクタリングし、それらをAmazon API Gateway経由でアクセスできるようにします。MySQLデータベースはAmazon RDS for MySQLに移行します。 理由: ・Amazon CloudFront:世界中のエッジロケーションでコンテンツをキャッシュするCDN(コンテンツデリバリネットワーク)であり、静的ウェブフロントエンドの可用性とパフォーマンスを向上させ、グローバルなユーザーに対して高速な配信を実現します。 ・Amazon S3:静的コンテンツのホスティングに最適で、コスト効率が高く、管理負荷が極めて小さいため、高い可用性と耐久性を提供します。 ・AWS LambdaおよびAmazon API Gateway:マイクロサービスをLambda関数にリファクタリングすることでサーバーレスアーキテクチャを実現でき、サーバー管理やスケーリングの手間が不要となり、運用オーバーヘッドを大幅に削減できます。また、API GatewayはLambda関数を安全かつスケーラブルにAPIとして公開するための最適なサービスです。 ・Amazon RDS for MySQL:バックアップ、パッチ適用、スケーリングなどのデータベース管理タスクを簡素化し、Multi-AZ展開などの機能により高可用性も確保できます。 他の選択肢の評価: A:AWS Amplifyはフロントエンドアプリケーションの開発に有用ですが、単なる静的ウェブフロントエンドのホスティングにはS3+CloudFrontの方がシンプルかつオーバーヘッドが少ないです。また、EC2リザーブドインスタンスへのデータベース移行は、RDSと比較して運用負荷が高くなります。 C:Lambda関数にNetwork Load Balancerを用いるのは、通常のサーバーレスアーキテクチャでは不適切であり、不要な複雑さを導入します。 D:CloudFrontを活用しないため、グローバルなパフォーマンス・可用性の向上が図れず、Application Load Balancerの使用はAPI Gatewayと比べて運用負荷が増加します。 以上より、選択肢Bは堅牢性・スケーラビリティ・コスト効率の面で優れており、企業の要件を満たしつつ運用オーバーヘッドを最小限に抑えます。