兔子 MQ 的 Amazon MQ:無效的密鑰 AWS Key Management Service - Amazon MQ

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

兔子 MQ 的 Amazon MQ:無效的密鑰 AWS Key Management Service

當使用客戶受管 AWS KMS key(CMK) 建立的代理程式偵測到 (KMS) 金鑰已停用時,適用於 RabbitMQ 的 Amazon MQ 會引發無效的關鍵動作所需程式碼。 AWS Key Management Service 具有 CMK 的 RabbitMQ 代理程式會定期驗證 KMS 金鑰是否已啟用,且代理程式具有所有必要的授權。如果 RabbitMQ 無法驗證金鑰是否已啟用,則代理程式會被隔離,而 RabbitMQ 會傳回 INVALID_KMS_KEY。

如果沒有作用中的 KMS 金鑰,代理程式就沒有客戶受管 KMS 金鑰的基本許可。在您重新啟用金鑰且代理程式重新啟動之前,代理程式無法使用您的金鑰執行加密作業。系統會隔離具有已停用 KMS 金鑰的 RabbitMQ 代理程式,以防止惡化。RabbitMQ 判斷 KMS 金鑰再次處於作用中狀態之後,您的代理程式就會從隔離區中移除。Amazon MQ 不會重新啟動具有已停用 KMS 金鑰的代理程式,而且只要代理程式持續擁有無效的 KMS 金鑰,就會傳回 RebootBroker API 操作的例外狀況。

診斷和解決 INVALID_KMS_KEY

若要診斷和解決 INVALID_KMS_KEY 動作所需的程式碼,您必須使用 AWS 命令列介面 (CLI) 和主控台。 AWS Key Management Service

若要重新啟用您的 KMS 金鑰
  1. 呼叫 DescribeBroker 方法以擷取您 CMK 代理程式的 kmsKeyId

  2. 登入 AWS Key Management Service 主控台。

  3. 客戶受管金鑰 頁面上,找出有問題的代理程式的 KMS 金鑰 ID,並確認狀態為 已啟用

  4. 如果您的 KMS 金鑰已停用,請選擇 金鑰動作,然後選擇 啟用,以重新啟用金鑰。重新啟用金鑰後,您必須等待 RabbitMQ 從隔離區中刪除代理程序。

要驗證必要的授權仍與代理的 KMS 密鑰相關聯,請調用該ListGrantListGrant 方法以驗證mq_rabbit_grantmq_grant且存在。如果 KMS 授權或金鑰已刪除,則必須刪除該代理程式,並建立一個具有一切必要授權的新代理程式。如需刪除代理程式的步驟,請參閱刪除代理程式

若要避免 INVALID_KMS_KEY 需要關鍵動作程式碼,請勿手動刪除或停用 KMS 金鑰或 CMK 授權。如果您想要刪除金鑰,請先刪除代理程式。