當需要在頁面上就可以實作批量選擇執行個體,并輸入執行個體需要重置的密碼,簡便化重置多台執行個體密碼。此時使用 OOS服務 可以實作此功能。
前提條件
- 執行個體狀态為啟動中(
)時,無法重置執行個體密碼Starting
- 被 安全控制 的ECS執行個體的
不能标記為OperationLocks
。"LockReason" : "security"
模版說明:
本模版主要功能為:
- 擷取執行個體
- 檢查執行個體運作狀态是否符合修改密碼
- 修改密碼
- 重新開機ECS執行個體
FormatVersion: OOS-2019-06-01
Description:
en: Reset ECS instance password and reboot instance.
zh-cn: 重置執行個體密碼,并重新開機ECS執行個體。
name-en: ResetPasswordAndRebootInstance
name-zh-cn: 重置執行個體密碼及重新開機執行個體
Parameters:
Targets:
Type: Json
AssociationProperty: Targets
AssociationPropertyMetadata:
ResourceType: ALIYUN::ECS::Instance
Password:
Type: String
Description:
en: The ECS instance, 8 to 30 characters in length, which must include three types of characters:uppercase and lowercase letters, numbers, and special symbols.
zh-cn: 執行個體密碼,長度為8至30個字元,必須同時包含大小寫英文字母、數字和特殊符号中的三類字元。
MinLength: 8
MaxLength: 30
RateControl:
Description:
en: Concurrency ratio of task execution.
zh-cn: 任務執行的并發比率。
Type: Json
AssociationProperty: RateControl
Default:
Mode: Concurrency
MaxErrors: 0
Concurrency: 10
OOSAssumeRole:
Description: The RAM role to be assumed by OOS.
Type: String
Default: OOSServiceRole
RamRole: '{{ OOSAssumeRole }}'
Tasks:
- Name: getInstance
Description:
en: Views the ECS instances.
zh-cn: 擷取ECS執行個體。
Action: ACS::SelectTargets
Properties:
ResourceType: ALIYUN::ECS::Instance
Filters:
- '{{ Targets }}'
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[].InstanceId
- Name: checkInstanceReady
Action: ACS::CheckFor
Description: Check the ECS instance is running status.
Properties:
Service: ECS
API: DescribeInstances
Parameters:
InstanceIds:
- '{{ ACS::TaskLoopItem }}'
NotDesiredValues:
- Starting
PropertySelector: Instances.Instance[].Status
Outputs:
instanceIds:
Type: List
ValueSelector: Instances.Instance[]
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
- Name: ModifyInstanceAttribute
Action: ACS::ExecuteAPI
Description:
en: Upgrade ECS instance temporary bandwidth.
zh-cn: 更新ECS執行個體臨時帶寬。
Properties:
Service: ECS
API: ModifyInstanceAttribute
Parameters:
InstanceId: '{{ ACS::TaskLoopItem }}'
Password: '{{ Password }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
- Name: rebootInstance
Action: ACS::ECS::RebootInstance
Description:
en: Restarts the ECS instances.
zh-cn: 重新開機執行個體。
Properties:
instanceId: '{{ ACS::TaskLoopItem }}'
Loop:
RateControl: '{{ rateControl }}'
Items: '{{ getInstance.instanceIds }}'
模版參數說明:
參數 | 說明 | 示例 |
---|---|---|
Targets | 根據執行個體标簽(tags)或執行個體ID(InstanceId)標明需要的執行個體。 | i-11111111111 |
Password | 執行個體的密碼。長度為8至30個字元,必須同時包含大小寫英文字母、數字和特殊符号中的三類字元。特殊符号可以是: ~!@#$%^&*-_+={}[]:;'<>,.?/` | qwer1234Q |
RateControl | 固定參數。 - 速率控制類型:并發控制 - 并發速率:1 - 最大錯誤次數:0 | |
OOSAssumeRole | 可選參數。 - (預設設定)目前賬号的已有權限:執行您使用的賬号的權限動作。請確定您擁有建立自定義鏡像涉及的所有ECS API調用權限。 - 指定RAM角色,使用該角色的權限:如果指定了RAM角色名稱,OOS扮演該RAM角色執行運維任務。 | 目前賬号的已有權限 |
操作步驟
- 請通路 運維編排OOS的控制
運維編排場景系列-----一鍵批量重置執行個體密碼 - 單擊我的模版,單擊建立模闆按鈕,選取空白模闆。
運維編排場景系列-----一鍵批量重置執行個體密碼 - 将上述提供的模闆粘貼到yaml欄,輸入名稱ResetPasswordAndRebootInstance或自定義名稱,點選建立模闆。
運維編排場景系列-----一鍵批量重置執行個體密碼 - 單擊建立執行。
運維編排場景系列-----一鍵批量重置執行個體密碼 - 保持基本資訊的預設設定,單擊下一步:設定參數。
- 完成參數設定填寫,單擊下一步:确認。
運維編排場景系列-----一鍵批量重置執行個體密碼 - 檢視參數設定是否無誤,确認無誤後單擊建立執行。
運維編排場景系列-----一鍵批量重置執行個體密碼 - 在執行管理中檢視建立的運維任務。
運維編排場景系列-----一鍵批量重置執行個體密碼 - 執行結果
運維編排場景系列-----一鍵批量重置執行個體密碼