當我建立新的 Amazon Elastic Container Service (Amazon ECS) 服務時,收到以下錯誤: 「服務建立非冪等。」
解決方法
注意: 如果您在執行 AWS Command Line Interface (AWS CLI) 命令時收到錯誤訊息,則請參閱對 AWS CLI 進行錯誤疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本。
當您建立與 Amazon ECS 資料庫中現有服務同名的服務時,會發生非冪等錯誤。若要解決此錯誤,請執行下列操作。
確認您未使用現有的叢集名稱
如果您嘗試建立與現有叢集同名的叢集,則會遇到下列其中一個錯誤:
「InvalidParameterException: 服務建立非冪等。」
- 或 -
「提供的請求無效: CreateService 錯誤: 服務建立非冪等」
若要解決該錯誤,請確定現有服務未具有相同的名稱。如果您最近刪除了具有相同名稱的服務,請確認該服務的狀態是是否為已刪除。
注意: 即使刪除現有叢集,也可能發生非冪等錯誤,因為叢集可能仍處於刪除階段。
如果服務處於取消佈建狀態,請檢查服務中是否有任何任務卡在取消配置狀態。若要查看叢集中所有任務的狀態,請執行 Describe Tasks API。或者,完成下列步驟:
- 開啟 Amazon ECS 主控台。
- 在導覽窗格中,選擇叢集。
- 選取您的叢集。
- 選擇任務索引標籤。
檢查已刪除服務的 UpdateService API 呼叫,以檢查服務是否仍處於作用中狀態。另外,檢查刪除服務 API 呼叫中是否有「服務包含已註冊執行個體;刪除服務之前先刪除執行個體」的原因。如果刪除服務 API 包含此原因,請刪除執行個體。
重新建立已刪除的 IAM 角色
如果您對某項任務使用 AWS Identity and Access Management (IAM) 角色,則必須先刪除該任務,然後再刪除該角色。IAM 角色必須在任務的整個生命週期中可用。這包括資源取消佈建。
如果您先刪除了 IAM 角色,請完成以下步驟以重新建立該角色:
- 若要取得先前的 IAM 角色名稱,請執行以下 describe-services 命令:
aws ecs describe-services --cluster clustername --services servicename
注意: 將 clustername 替換為您的叢集名稱,將 servicename 替換為您的服務名稱。
- 重新建立具有相同名稱的 IAM 角色。如需有關必要權限的資訊,請參閱 Amazon ECS 的服務相關角色權限。
注意: 若要尋找有關刪除角色的使用者資訊,請檢查 AWS CloudTrail DeleteRole 事件。
使用不同名稱建立新服務
如果仍然無法建立與已刪除服務同名的新服務,請建立具有不同名稱的新服務。
相關資訊
CreateService