如何解決 EC2 執行個體上的錯誤「關聯 iip-assoc-xxxxxxxx 不是作用中關聯」?

1 分的閱讀內容
0

更新執行個體設定檔時,我在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上收到下列錯誤訊息: 「關聯 iip-assoc-xxxxxxxx 不是作用中關聯」。如何解決此錯誤?

簡短描述

當您嘗試更新執行個體設定檔而 API 仍未完成先前的解除關聯時,通常會發生此錯誤。您可以使用 AWS Command Line Interface (AWS CLI) 來識別未完成的解除關聯是否導致錯誤,並更正問題。

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版本的 AWS CLI

解決方法

1.    執行下列命令,以識別執行個體的執行個體設定檔關聯:

aws ec2 describe-iam-instance-profile-associations --filters "Name=instance-id,Values=i-xxxxxxxxxxxxxxxxx"

命令輸出具有多個關聯,每個關聯都有唯一的關聯 ID (AssociationID) 和狀態 (State)。有些關聯處於關聯狀態,有些處於取消關聯狀態,如下列範例輸出所示:

{
"IamInstanceProfileAssociations": [
  {
    "AssociationId": "iip-assoc-xxxxxxxxxxxxxxxx",
    "InstanceId": "i-xxxxxxxxxxxxxxxx",
    "IamInstanceProfile": {
      "Arn": "arn:aws:iam::xxxxxxxxxx:instance-profile/xxxxxxx",
      "Id": "xxxxxxxxxxxxxxxxxx"
     },
    "State": "disassociating"
  },
 {
    "AssociationId": "iip-assoc-xxxxxxxxxxxxxxxx",
    "InstanceId": "i-xxxxxxxxxxxxxxxx",
    "IamInstanceProfile": {
      "Arn": "arn:aws:iam::xxxxxxxxxxxx:instance-profile/xxxxxxxxx",
      "Id": "xxxxxxxxxxxxxxxx"
     },
    "State": "associating"
  }
 ]
}

2.    執行下列命令以將所有關聯 ID 取消關聯,包括處於關聯和解除關聯狀態的關聯 ID。使用適當的 association-id 取代 iip-assoc-xxxxxxxxxxxxxxxxxx。

aws ec2 disassociate-iam-instance-profile --association-id iip-assoc-xxxxxxxxxxxxxxxxxx

3.    將所有關聯 ID 取消關聯之後,嘗試再次更新執行個體設定檔

**注意:**如果在執行解決步驟後仍然發生錯誤,請停止並啟動執行個體。然後,再次執行 disassociate-iam-instance-profile 命令。請注意,當您停止執行個體時,儲存在執行個體儲存磁碟區中的資料會遺失。在停止執行個體之前,請先檢閱停止執行個體的影響清單


相關資訊

使用執行個體設定檔

如何在 Amazon EC2 執行個體上連接或取代執行個體設定檔?

AWS 官方
AWS 官方已更新 1 年前