更新執行個體設定檔時,我在 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 執行個體上連接或取代執行個體設定檔?