

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

# Amazon MQ 上的 RabbitMQ：無效的 AWS Key Management Service 金鑰 Amazon MQ
<a name="troubleshooting-action-required-codes-invalid-kms-key"></a>

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

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

## 診斷和解決 INVALID\$1KMS\$1KEY
<a name="w2aac40c21b7"></a>

 若要診斷和解決 INVALID\$1KMS\$1KEY 動作所需的程式碼，您必須使用 AWS 命令列界面 (CLI) 和 AWS Key Management Service 主控台。

**若要重新啟用您的 KMS 金鑰**

1. 呼叫 `DescribeBroker` 方法以擷取您 CMK 代理程式的 `kmsKeyId`。

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

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

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

 若要驗證必要的授權仍與代理程式的 KMS 金鑰相關聯，請呼叫 `ListGrant` ListGrant 方法以驗證 `mq_rabbit_grant` 和 `mq_grant` 均存在。如果 KMS 授權或金鑰已刪除，則必須刪除該代理程式，並建立一個具有一切必要授權的新代理程式。如需刪除代理程式的步驟，請參閱[刪除代理程式](https://docs.aws.amazon.com//amazon-mq/latest/developer-guide/amazon-mq-deleting-broker.html)。

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