MQ

【VPC内リージョンサービス】

MQ は、マネージドな Message Broker(メッセージブローカー) サービスであり、ActiveMQ および RabbitMQ に互換性を持っています。

JMS, AMQP, MQTT, STOMP, OpenWire などの標準プロトコルをそのまま利用できるため、オンプレミス環境からクラウドへの移行を最小限の変更で実現できます。

運用面では、ブローカー管理、パッチ適用、障害復旧、および モニタリング自動化 がマネージド化されており、高可用構成で安定したメッセージ配信を行うことができます。メッセージは キュー や トピック を介してやり取りされ、永続メッセージ や 非同期通信 に対応しているため、分散システム間の高信頼なデータ伝達を実現します。

永続化ストレージ によってメッセージを安全に保持し、障害時には DLQ(デッドレターキュー)再送制御 により確実なメッセージ処理を行えます。

セキュリティ面では暗号化通信に対応しており、データの完全性を維持します。

Lambda, SQS, SNS, EventBridge, ECS, EKS などのAWSサービスと連携することで、イベント駆動型アーキテクチャやマイクロサービス間通信を柔軟に構築できます。

重要用語

ブローカー管理
DLQ
再送制御
関連サービス

ユースケース

既存オンプレアプリとのメッセージ連携JMSやAMQPなどの標準プロトコルに対応したマネージドメッセージブローカーとして利用し、オンプレミスアプリとクラウドアプリをキューやトピックでつなぐ。
レガシーシステムの段階的クラウド移行既存のメッセージブローカー(ActiveMQ等)をAmazon MQに置き換え、アプリケーション側の改修を最小限にしながらクラウドへの移行を進める。
複雑なルーティングを持つメッセージ基盤トピックやキューを組み合わせた柔軟なルーティングルールを使い、多数のコンシューマーに対して異なる配信パターンでメッセージを届ける。

ベストプラクティス

マルチAZブローカー配置冗長構成でメッセージングの可用性を確保する。
クライアント接続の再試行設計アプリ側で接続切断時のリトライロジックを実装する。
監視とアラートキュー深さや接続数を監視し、異常を早期検知する。

高可用性・バックアップ・リトライ

高可用性・バックアップ・リトライ設計のポイント
【アクティブ/スタンバイブローカー】(デフォルトはシングルインスタンスブローカー)
 ・異なる2つのAZに自動的にブローカーインスタンスが配置
 ・ストレージ(EFSを使用してメッセージデータを保存し複数AZ間で自動レプリケーション)
 ・フェイルオーバーの自動実施
 ・メタデータ(ブローカー設定、ユーザー情報などのメタデータがEFSを通じて自動的に冗長化)
 ・ネットワークエンドポイント(フェイルオーバー時に同じエンドポイントURLが維持)
MQ for ActiveMQ
【自動バックアップ 】/ デフォルトでオン(PITRなし:日次スナップショット)
MQ for ActiveMQ
【ブローカーの再配信機能】(Redelivery Policy) / デフォルトオン(6回再配信)
MQ for RabbitMQ
【自動バックアップ】なし(バックアップの考慮が必要)
MQ for RabbitMQ
【ブローカーの再配信機能】(Manual Ack + Nack/Requeue) / デフォルト(クライアントに依存)

セキュリティ

関連サービス設定内容
CloudTrail(操作履歴の記録・監査・追跡)【自動記録】
作成・更新・削除・設定変更は自動記録される。(コントロールプレーンAPI)
データ操作は追跡できない(データプレーンAPI)
Config(リソースの構成状態・設定変更を記録)【Configが有効な場合】
ブローカー設定変更履歴・暗号化/パブリックアクセスの準拠評価
GuardDuty(脅威を自動検出)【GuardDutyが有効な場合】
ブローカー操作のAPI異常検知-

ログ・監視

標準メトリクス
メトリクス名説明

制限値(固定値/ハードリミット/ソフトリミット)

固定値制限値
ブローカーあたりの接続数(ActiveMQ)1,000
ブローカーあたりの接続数(RabbitMQ)1,000
キュー数/ブローカー1,000
トピック数/ブローカー1,000

ソフトリミット制限値
ブローカー数/リージョン50

AWS CLIのサンプルコード

CloudFormationのサンプルコード

Terraformのサンプルコード

料金計算

課金項目説明
ブローカーインスタンスブローカーインスタンスの時間課金
ストレージブローカーストレージの容量
データ転送インターネットへのデータ転送
料金計算ツール

公式ページ

AWSドキュメント MQ