Amazon MQ の特徴
マネージドサービス
Amazon MQ を使用すれば、AWS マネジメントコンソール、AWS CloudFormation、コマンドラインインターフェイス (CLI)、シンプルな API コールを使用して、本番環境に対応したメッセージブローカーを数分で起動できます。ハードウェアのプロビジョン、ブローカーの設定、ソフトウェアのアップグレード、障害の検出とリカバリといった管理タスクは Amazon MQ によって処理されます。
セキュリティ
Amazon MQ では、保管中と転送中のメッセージを暗号化できます。メッセージが暗号化されたフォーマットで安全に保存されるようにすることも簡単です。ブローカーへの接続には SSL が使用され、Amazon VPC 内のプライベートエンドポイントのみにアクセスを限定できるため、独自の仮想ネットワーク内にブローカーを隔離できます。
Amazon MQ は AWS Identity and Access Management (IAM) と統合されており、IAM ユーザーやグループが特定の Amazon MQ ブローカーで利用できるようにアクションをコントロールできます。アプリケーションからブローカー自体への認証は、ユーザー名とパスワードベースの認証を使用して提供され、オプションで ActiveMQ ブローカーの LDAP (Lightweight Directory Access Protocol) を使用します。
モニタリング
Amazon MQ は Amazon CloudWatch および AWS CloudTrail と統合されています。CloudWatch では、ブローカー、キュー、トピックスのメトリクスをモニターできます。例えば、キューの深さをモニタリングし、メッセージが詰まったときにアラームを生成できます。CloudTrail では、Amazon MQ API コールをログ記録し、連続的にモニター、保持できます。
ブローカーのインスタンスタイプ
Amazon MQ は現在、mq.t3.micro、mq.m5.large、mq.m5.xlarge、mq.m5.2xlarge、mq.m5.4xlarge の 5 つのブローカーインスタンスタイプをサポートしています/mq.t3.micro インスタンスは製品評価用に設計されており、mq.m5 インスタンスタイプは本番ワークロード用に設計されています。Amazon MQ は、評価とテストに推奨される単一インスタンスのデプロイモードと、本番に推奨されるレプリケートされた高可用性のデプロイモードをサポートしています。
従量制料金
Amazon MQ ではコスト効率に優れた柔軟なキャパシティーが提供され、最低料金もありません。お支払いいただくのは、ブローカーインスタンスを実行した時間数と月ごとに使用したストレージに対する料金です。ブローカーを新しく作成してキャパシティーを増やすことも簡単かつ安価に実行できます。詳細については、Amazon MQ 料金を参照してください。
無料でお試しください
AWS 無料利用枠には、1 年間にわたり、最大 750 時間のシングルインスタンス mq.t2.micro または mq.t3.micro ブローカーと、ActiveMQ ブローカーの場合は 1 か月あたり最大 5GB の Amazon EFS ストレージ、RabbitMQ ブローカーの場合は最大 20GB の Amazon EBS ストレージが含まれます 。
RabbitMQ の特徴
高可用性、スループット、メッセージの耐久性
Amazon MQ 上の RabbitMQ クラスターブローカーは Amazon EBS を利用しており、高可用性とメッセージの耐久性を実現するためにマルチ AZ レプリケーションを使用します。ノード間レプリケーションのデータ転送は追加料金なしで含まれています。クラスターは、高可用性、シンプルな管理、およびアプリケーションからの接続を簡単にするために、単一のエンドポイントの背後に作成されます。
高度なメッセージルーティング
RabbitMQ ブローカーのメッセージは、キューに到着する前にエクスチェンジを通じてルーティングされます。RabbitMQ は、一般的なルーティングロジック用のいくつかの組み込みエクスチェンジタイプを備えています。Amazon MQ での RabbitMQ は、クラシックキュー、クラシックミラーリングキュー、クォーラムキューなど、複数のキュータイプもサポートしています。クォーラムキューは、RabbitMQ 3.13 以降でのみサポートされています。Amazon MQ では、ワークロードのデフォルトのレプリケートキュータイプとしてクォーラムキューを使用することを推奨しています。
幅広いクライアント言語サポート
次を含む、お気に入りのプログラミング言語を使用して開発できます: Python、.NET、PHP、Python、JavaScript、Ruby、Java、Go。
RabbitMQ 他の特徴
RabbitMQ の特徴の詳細な説明については、RabbitMQ のウェブサイトをご覧ください。
ActiveMQ の特徴
高可用性、スループット、メッセージの耐久性
Amazon MQ for ActiveMQ は、高可用性とメッセージの耐久性をサポートするために、Amazon Elastic File System (Amazon EFS) を利用する耐久性最適化ブローカーを提供します。Amazon Elastic File System (Amazon EFS) を利用する耐久性最適化ブローカーは、複数のアベイラビリティーゾーン (AZ) にわたって冗長的にメッセージを保存します。アクティブスタンバイブローカーは、ブローカーまたは AZ に障害が発生した場合にスタンバイインスタンスに自動的にフェイルオーバーするため、メッセージの送受信を継続できます。
また、Amazon MQ は、Amazon Elastic Block Store (EBS) を利用するスループット最適化メッセージブローカーの作成もサポートします。Amazon Elastic Block Store (EBS) は、大量注文の処理、株式取引、テキストの処理など、高スループットを必要とするユースケースに最適です。スループット最適化メッセージブローカーは、必要なブローカーの数と、Amazon MQ を利用する大容量アプリケーションの運用コストを削減します。
業界標準の API とプロトコル
ActiveMQ は Java Message Service (JMS v1.1 および JMS v2.0)、.NET Message Service (NMS) などの幅広いクライアントをサポートしており、Node.js、Go、Python、Ruby、C++ など多数の他の言語に対応しています。AMQP、STOMP、OpenWire、WebSocket、MQTT などのワイヤレベルプロトコルも ActiveMQ でサポートされています。業界標準との互換性があることから、既存のメッセージブローカーからの移行に有利であり、ベンダー間の相互運用性が実現され、ベンダー依存を防止できます。
JMS メッセージング機能
ActiveMQ では、ポイントツーポイント (メッセージキュー)、パブリッシュ/サブスクライブ (トピック)、リクエスト/応答、永続モードと非永続モード、JMS トランザクション、分散 (XA) トランザクションなど、標準的な JMS 機能すべてが提供されています。ベーシックなキューとトピックに加えて、ActiveMQ では複合送信先 (プロデューサーが同一メッセージを複数の送信先に送ることができ、リアルタイム分析に便利である) や仮想送信先 (キューによってサブスクライブする受信者のプールに対し、発行者がトピックによってメッセージをブロードキャストする) など、より複雑なパターンもサポートされています。
ActiveMQ の他の特徴
ActiveMQ の特徴の詳細な説明については、Apache ActiveMQ のウェブサイトをご覧ください。