AWS Certified Solutions Architect Associate(SAA-C03) 練習問題 62:アプリケーション統合:メッセージング
AWSにおけるメッセージングサービスの選択と利用について、正しい説明はどれか。
- Amazon MQは、既存のオンプレミスアプリケーションが使用している業界標準のメッセージングAPI(JMSやAMQPなど)との互換性があり、コードの大規模な変更を最小限に抑えて移行できる。
- Amazon SQSは、既存のオンプレミス環境で稼働するActiveMQブローカーと完全に互換性があり、設定ファイルを変更するだけでシームレスに直接クラウドへ移行することが可能である。
- Amazon MQは、完全にサーバーレスなアーキテクチャを採用しているため、利用者がブローカーのインスタンスタイプやバックエンドのストレージ容量をプロビジョニングする必要が一切ない。
- Amazon SNSを利用すると、キューに蓄積されたメッセージを複数のコンシューマーが順番にポーリングして取得できるため、大規模な分散処理システムの負荷分散用途に最適化されている。
- Amazon SQSの標準キューは、メッセージの順序を厳密に保証し、かつ各メッセージが確実に一回だけ処理されることを保証するため、金融取引などの厳格な要件を持つシステムに適している。
正解と解説を見る
Amazon MQは、ActiveMQやRabbitMQなどのオープンソースメッセージブローカー用のマネージド型サービスであり、オンプレミスからの移行を容易にします。正解はこの説明の通りです。
【正解の理由】
Amazon MQはJMS、NMS、AMQP、STOMP、MQTT、WebSocketなどの業界標準のAPIやプロトコルをサポートしているため、既存のオンプレミスアプリケーションのコードを大きく書き換えることなくクラウドへ移行できるからです。
【不正解の理由】
• 「Amazon SQSは、既存のオンプレミス環境で稼働するActiveMQブローカーと完全に互換性があり〜」という説明は誤り。SQSは独自のHTTP APIを使用するサービスであり、ActiveMQとの互換性はないため、移行にはコードの書き換えが必要になる
• 「Amazon MQは、完全にサーバーレスなアーキテクチャを採用しているため、利用者がプロビジョニングする必要が一切ない」という説明は誤り。MQはブローカーのインスタンスタイプを指定してプロビジョニングする必要がある。完全なサーバーレスメッセージングはSQSやSNSである
• 「Amazon SNSを利用すると、キューに蓄積されたメッセージを複数のコンシューマーが順番にポーリングして取得できるため〜」という説明は誤り。SNSはパブリッシュ/サブスクライブ(プッシュ型)のモデルであり、メッセージをキューに蓄積してポーリングする(プル型)のはSQSの役割である
• 「Amazon SQSの標準キューは、メッセージの順序を厳密に保証し、かつ各メッセージが確実に一回だけ処理されることを保証する」という説明は誤り。順序の保証とExactly-Once(厳密に1回)の処理を提供する要件に適しているのは、標準キューではなくSQS FIFOキューである