Q43 — AWS SAA-C03 第12章

第 43/100 問 | ← 第12章

Q843. ある企業は、自社のデータセンター内の Kubernetes クラスター上でコンテナアプリケーションを実行しています。このアプリケーションは、メッセージキューとの通信に Advanced Message Queuing Protocol (AMQP) を使用しています。しかし、データセンターは企業の拡大するビジネスニーズに応じて十分なスピードでスケールできません。同社はワークロードを AWS へ移行したいと考えています。 これらの要件を満たすうち、運用オーバーヘッドが最も少ないソリューションはどれですか?

正解: B. コンテナアプリケーションを Amazon Elastic Kubernetes Service (Amazon EKS) に移行します。メッセージの取得には Amazon MQ を使用します。

解説

AMQP を使用するコンテナアプリケーションを AWS へ移行し、運用オーバーヘッドを最小限に抑えるには、以下の選択肢 B が推奨されます。 B:コンテナアプリケーションを Amazon Elastic Kubernetes Service (Amazon EKS) に移行し、メッセージの取得に Amazon MQ を使用する。 理由: ・Amazon EKS は、Kubernetes クラスターのコントロールプレーンを完全にマネージド(管理)するサービスであり、インフラストラクチャの運用負荷(ノード管理、アップグレード、パッチ適用など)を大幅に軽減します。 ・Amazon MQ は、AMQP を含む複数のメッセージングプロトコルをサポートするマネージド型メッセージブローカーです。既存の AMQP ベースのアプリケーションとの互換性を保ちながら、キューの運用・監視・スケーリングを AWS が代行します。 ・この組み合わせにより、コンテナオーケストレーションとメッセージブローカーの両方をマネージドサービスで活用でき、自前でのインフラ管理やミドルウェア保守の手間を最小限に抑えられます。 一方、他の選択肢は以下のような課題があります: ・A:Amazon ECS はマネージドですが、Amazon SQS は AMQP をサポートしておらず、アプリケーション側でのプロトコル変更(例:AMQP → HTTP/REST)やアダプターの導入が必要になる可能性があり、追加の開発・テスト負荷や互換性リスクを伴います。 ・C:EC2 インスタンスの可用性確保(Auto Scaling、ロードバランシング、障害検知・復旧など)や、Amazon MQ 以外のミドルウェア管理(例:RabbitMQ のクラスタリング)を自社で行う必要があり、運用オーバーヘッドが顕著に増加します。 ・D:AWS Lambda は長時間実行やステートフルなコンテナアプリケーション(特に Kubernetes 上で動作していたもの)への適合性が低く、コンテナイメージの直接実行やネットワーク構成、セッション維持などの制約から、移行コストと運用複雑さが高まります。 したがって、AMQP を利用する既存のコンテナアプリケーションを、最小限の運用負荷で AWS へ移行するには、Amazon EKS と Amazon MQ を組み合わせたソリューションが最も適しています。