一般
問:什麼是 Amazon MQ?
Amazon MQ 是一項適用於 Apache ActiveMQ 和 RabbitMQ 的受管訊息代理服務,可讓您輕鬆地在雲端設定及操作訊息代理程式。您可直接存取 ActiveMQ 主控台和 RabbitMQ 主控台,以及符合業界標準用於訊息的 API 及通訊協定,包括 JMS、NMS、AMQP 0.9.1、AMQP 1.0、STOMP、MQTTv3 和 WebSocket。您只需幾個步驟,即可使用這些標準建立新的 Amazon MQ 代理程式,或者將現有的訊息代理程式遷移至至 Amazon MQ,而無需重寫訊息程式碼。
問:誰應該使用 Amazon MQ?
Amazon MQ 適合企業 IT 專業人員、開發人員和架構師,他們計劃採用業界標準的傳訊 API 和通訊協定,在雲端分離和擴展其應用程式,而無需承受管理訊息代理程式本身的作業負擔。
問:Amazon MQ 可代我管理哪些項目?
Amazon MQ 管理設定訊息代理程式,以及佈建基礎設施和開放原始碼代理程式引擎軟體的程序。代理程式啟動並執行後,Amazon 會管理持續的軟體升級、安全性更新、錯誤偵測及復原。
只需幾個步驟,即可建立 Amazon MQ 多可用區域部署代理程式。 Amazon MQ 會自動管理部署中的節點、複寫資料以獲得高可用性、定期部署修補程式、管理與 AWS 服務的整合、顯示重要指標,並支援代理程式引擎版本升級,以便您充分利用開放原始碼版本的最新改進功能。
問:何時應使用 Amazon MQ?何時應自行於 Amazon EC2 管理 ActiveMQ 或 RabbitMQ?
使用 Amazon MQ,您不必為管理任務而擔憂,例如,代理程式佈建、安全修補、組態設定、代理程式版本升級或復原。當您想降低營運開銷和相關成本時,可能要考慮 Amazon MQ。如果是為了自訂功能和組態,或為了使用自訂的外掛程式而想要有更好的控制,則您可以考慮直接在 Amazon EC2 上安裝並執行訊息代理程式。
在某些使用案例中,RabbitMQ 的節點間資料傳輸可能會導致自我管理叢集具有較高成本。Amazon MQ 不收取 RabbitMQ 代理程式的節點間資料傳輸費用。
問:如何開始使用 Amazon MQ?
Amazon MQ 可讓您輕鬆地在雲端設定和操作訊息代理程式。使用 Amazon MQ,您可以透過 AWS 管理主控台、CLI 或 API 呼叫,在最短的時間內啟動生產就緒型訊息代理程式。在大部分情況下,您只要將 Amazon MQ 代理程式的端點更新為連接至現有的應用程式,即可開始傳送訊息。
嘗試簡短的教學課程,建立連接的訊息代理程式立即開始使用。
問:哪些 AWS 區域提供 Amazon MQ?
此處記錄了 Amazon MQ 區域可用性。
遷移至 Amazon MQ
問:如果我使用的是 ActiveMQ 或 RabbitMQ 以外的訊息代理程式,要如何移轉?
Amazon MQ 相容於與最常見的簡訊 API (例如 Java 訊息服務 (JMS) 和 .NET 訊息服務 (NMS)) 與通訊協定 (包括 AMQP、STOMP、MQTT 及 WebSocket)。因此,從任一標準訊息代理程式都能輕鬆切換到 Amazon MQ,無須重新編寫應用程式中的簡訊程式碼。在大部分情況下,您只要將 Amazon MQ 代理程式的端點更新為連接至現有的應用程式,即可開始傳送訊息。
Apache ActiveMQ
問:什麼是 Apache ActiveMQ?
Apache ActiveMQ 是開放原始碼、多通訊協定、以 Java 為基礎訊息代理程式。
問:Amazon MQ 支援何種版本的 ActiveMQ?
Amazon MQ 預設會支援 ActiveMQ Classic 5.17 版。客戶可選擇較舊版本,例如 ActiveMQ 5.15 或 5.16,但不推薦搭配這些版本使用 Amazon MQ。
問:如何在 Amazon MQ 上支援新版 ActiveMQ?
Amazon MQ 將不斷為新的 ActiveMQ 版本新增支援。支援的新版本數目根據開放原始碼維護者發行版本的發行頻率和內容而有所差異。
問:如何為我的代理程式指定受支援的 ActiveMQ 版本?
透過 AWS 管理主控台或 CreateBroker API 建立新代理程式時,您可指定 ActiveMQ 版本 (例如 ActiveMQ 5.17.6)。Amazon MQ 將提供預設可在 AWS 管理主控台使用的最新版本。
問:如何將我的代理程式升級至受支持的最新 ActiveMQ 版本?
您可隨時手動將您的代理程式升級至下一個受支援的主要版本、次要版本或修補版本。您開啟次要版本自動升級後,Amazon MQ 將會在下一個維護時段期間,將您的代理程式升級至受支援的最新修補程式版本。目前的次要版本支援結束後,Amazon MQ 會將所有代理程式升級至下一個受支援的次要版本。
問:Amazon MQ 支援結束後,ActiveMQ 版本會怎樣?
在 ActiveMQ 版本支援行事曆中指明的支援結束日期之前,Amazon MQ 仍支援 ActiveMQ 版本。Amazon MQ 將在版本支援結束之前至少 90 天提供通知。目前的次要版本支援結束後,Amazon MQ 會將所有代理程式升級至下一個受支援的版本。
問:我為什麼不能在特定版本上建立 ActiveMQ 代理程式?
在某些情況下,Amazon MQ 可能會終止對特定版本的支援,而不事先通知您,例如,當某版本不符合我們的高品質、高效能或安全標準時。在不太可能發生的這種情況下,Amazon MQ 將阻止建立使用這些版本的新代理程式,並將現有代理程式升級至符合我們標準的下一個受支援版本。在特定情況下可能會指定不同的時間,這取決於所發生的問題。
問:Amazon MQ for ActiveMQ 可以使用哪些儲存類型?
Amazon MQ for ActiveMQ 支援兩種類型的代理程式儲存 – 使用 Amazon Elastic File System (Amazon EFS) 的最佳化耐久性和使用 Amazon Elastic Block Store (EBS) 的最佳化輸送量。若要充分利用高耐久性和跨多個可用區域複制,請使用由 Amazon EFS 提供支援的耐久性最佳化代理程式。若要在高容量應用程式中充分利用高輸送量,請使用由 EBS 提供支援的輸送量最佳化代理程式。
問:什麼是 Amazon MQ 代理程式網路?
Amazon MQ for ActiveMQ 使用的「代理程式網路」功能屬於 Apache ActiveMQ 的一部分。代理程式網路包含多個連接交織的代理程式。網路中的代理程式可共用有關每個代理程式所代管的用戶端和目標的資訊。代理程式使用此資訊來透過網路路由訊息。使用 Amazon MQ,網路中的代理程式可以是作用中-待命的代理程式 (網路中的每個作用中代理程式都有待命模式,具有共用的儲存空間,如果作用中節點失敗,它將接管),也可以是單一執行個體代理程式 (如果節點失敗,它將無法使用,除非重新啟動)。網路中的每個代理程式都會維護自己獨特的訊息儲存,這會在區域內多個可用區域 (AZ) 複寫,以便主動/待命代理程式使用耐久性優化儲存。網路中的節點將訊息相互轉送,因此,在任何指定時間,訊息由單一代理程式儲存。如果您在發生代理程式故障時需要高可用性和快速重新連線,或者如何您需要能夠水平擴充,則應使用代理程式網路。
RabbitMQ
問:什麼是 RabbitMQ?
RabbitMQ 是一個開放原始碼、多通訊協定訊息代理程式,支援各種訊息使用案例。
問:Amazon MQ 支援何種版本的 RabbitMQ?
Amazon MQ 預設會支援 RabbitMQ 3.13 版。客戶可選擇較舊版本,例如 RabbitMQ 3.8、3.9、3.10、3.11 或 3.12,但不推薦搭配這些版本使用 Amazon MQ。
問:如何在 Amazon MQ 上支援新版 RabbitMQ?
Amazon MQ 將不斷為新的 RabbitMQ 版本新增支援。支援的新版本數目根據開放原始碼維護者發行版本的發行頻率和內容而有所差異。
問:如何為我的代理程式指定受支援的 RabbitMQ 版本?
透過 AWS 管理主控台或 CreateBroker API 建立新代理程式時,您可指定 RabbitMQ 版本 (例如 RabbitMQ 3.13)。Amazon MQ 將提供預設可在 AWS 管理主控台使用的最新版本。
問:如何將我的代理程式升級至受支持的最新 RabbitMQ 版本?
您可隨時手動將您的代理程式升級至下一個受支援的主要版本或次要版本。您開啟次要版本自動升級後,Amazon MQ 將會在下一個維護時段期間,將您的代理程式升級至受支援的最新修補程式版本。目前的次要版本支援結束後,Amazon MQ 會將所有代理程式升級至下一個受支援的次要版本。從 RabbitMQ 3.13 版開始,Amazon MQ 將為您管理修補程式版本,並確保所有代理程式均為次要版本的最新修補程式版本。
問:Amazon MQ 支援結束後,RabbitMQ 版本會怎樣?
在 RabbitMQ 版本支援行事曆中指明的支援結束日期之前,Amazon MQ 仍支援 RabbitMQ 版本。Amazon MQ 將在版本支援結束之前至少 90 天提供通知。支援結束後,Amazon MQ 會將版本上的所有代理程式升級至下一個受支援的版本。當今所有受支援的 RabbitMQ 版本相互相向後相容。
問:我為什麼不能在特定版本上建立 RabbitMQ 代理程式?
在某些情況下,Amazon MQ 可能會終止對特定版本的支援,而不事先通知您,例如,當版本有影響代理程式效能、可靠性或安全性的問題時。在不太可能發生的這種情況下,Amazon MQ 將阻止建立使用受影響版本的新代理程式,並將現有代理程式升級至下一個受支援的版本。在特定情況下可能會指定不同的時間,這取決於所發生的問題。
問:哪些外掛程式可用於 RabbitMQ on Amazon MQ?
Amazon MQ for RabbitMQ 在所有代理程式上包含管理、Shovel、聯合和一致雜湊交換外掛程式。
整合
問:Amazon MQ 如何與其他的 AWS 服務搭配使用?
在 Amazon EC2、Amazon ECS 或 AWS Lambda 等 AWS 運算服務上執行的任何應用程式,都可使用 Amazon MQ。Amazon MQ 也與以下 AWS 服務整合:
- Amazon CloudWatch – 監控指標和產生警示
- Amazon CloudWatch Logs – 將日誌從您的 Amazon MQ 代理程式發佈到 Amazon CloudWatch Logs
- AWS CloudTrail – 記錄、持續監控和保留 Amazon MQ API 呼叫
- AWS CloudFormation – 自動化建立、更新和刪除訊息代理程式的程序
- AWS EventBridge 管道 – 使用 Amazon MQ 訊息代理程式做為來源
- AWS Lambda – 使用 Amazon MQ 訊息代理程式做為來源
- AWS Identity and Access Management (IAM) – 服務 API 的身份驗證和授權
- AWS 金鑰管理服務 (KMS) – 建立和控制用於加密資料的金鑰
可用性
問:如何確保 Amazon MQ 的高可用性?
在 AWS 管理主控台按幾下或使用 AWS SDK,即可建立多可用區域代理程式。首先,在 Amazon MQ 主控台中選取 AWS 區域和代理程式引擎類型,以在其中建立 Amazon MQ 叢集。您可選擇 RabbitMQ 的三節點叢集部署、主動-待命部署或 ActiveMQ 的代理程式網格網路。
問:當我建立 Amazon MQ 叢集時,其包含的基礎資源 (如 Amazon EC2 執行個體) 是否會顯示在我的 EC2 主控台中?
否,EC2 帳戶中不會顯示 EC2 執行個體,因為這些執行個體由 Amazon MQ 服務管理。Amazon EC2 帳戶中會顯示某些聯網資源 (彈性網絡介面 (ENI)、VPC 端點),供您連線至代理程式。
問:我必須在 Amazon MQ 代理程式中佈建什麼?
每次建立代理程式時,您都必須佈建代理程式執行個體和代理程式儲存空間。您可選擇選取現有的 VPC、子網路、安全群組或客戶受管金鑰,而不選擇 Amazon MQ 服務提供的選項。
組態
問:我是否可以變更預設代理程式組態,或將新組態上傳至 Amazon MQ?
是,Amazon MQ 可讓您建立自訂組態,並將其套用至全新和現有的叢集。若需自訂組態的詳細資訊,請參閱組態說明。
加密
問:如何使用自己的自訂金鑰加密 Amazon MQ 中的資料?
Amazon MQ 支援 AWS Key Management Service (AWS KMS),以建立和管理 Amazon MQ 中資料的靜態加密金鑰。建立代理時,可以從以下三個選項選擇加密資料所要使用的 KMS 金鑰:Amazon MQ 服務帳戶中的 KMS 金鑰、Amazon MQ 在您的帳戶建立和管理的 KMS 金鑰,或者您在自己帳戶中建立和管理的 KMS 密鑰。除了靜態加密之外,Amazon MQ 與用戶端應用程式之間的所有資料傳輸都使用 TLS/SSL 安全地傳輸。
監控
問:如何監控我的 Amazon MQ 代理程式?
Amazon MQ 和 Amazon CloudWatch 已整合,因此您可以檢視和分析代理執行個體的指標,以及您的佇列。您可透過 API,從 Amazon MQ 主控台、CloudWatch 主控台、命令列或以程式設計方式檢視和分析指標。指標每分鐘自動收集並推送至 CloudWatch。
定價
問:Amazon MQ 如何計費?
使用 Amazon MQ,您只需按實際用量付費。您的費用是依代理程式執行個體使用量和儲存體使用量計費,另會收取標準數據傳輸費用。您可使用免費方案一年,輕鬆開始使用 Amazon MQ。請參閱 Amazon MQ 定價以了解詳細資訊。
問:我是否需要為 Amazon MQ for RabbitMQ 的節點間資料傳輸付費?
否,服務包含所有節點間資料傳輸,不會另外收費。
問︰Amazon MQ 是否提供預留執行個體定價?
否,Amazon MQ 不提供預留執行個體定價。
問:我需要佈建和支付代理程式啟動磁碟區的費用嗎?
不用,您所佈建的所有代理程式都包括使用 Amazon MQ 服務所管理的啟動磁碟區儲存。
合規
問:哪些合規計劃在 Amazon MQ 的適用範圍內?
Amazon MQ 符合或適用於以下計劃:
- 符合 HIPAA 規範
- 符合 PCI DSS 規範
- 符合 SOC 1,2,3 規範
- 獲得 ISO 9001、27001、27017 和 27018 認證
如需 AWS 服務和合規計劃的完整清單,請參閱合規計畫 AWS 服務範圍。
服務水準協議
問:Amazon MQ SLA 能保證什麼?
Amazon MQ SLA 保證 Amazon MQ 每個月正常執行時間百分比至少為 99.9%。
問:如何知道我是否符合 SLA 服務抵扣的資格?
如果 Amazon MQ 上的多可用區域代理程式在任何每月帳單週期的每月正常執行時間百分比低於 99.9%,您即符合 Amazon MQ SLA 抵扣資格。
如需 SLA 條款與條件的詳細資訊,以及如何提交索賠的詳細資訊,請參閱 Amazon MQ SLA 詳細資訊頁面。