天天看點

運維編排場景系列-----一鍵批量重置執行個體密碼

當需要在頁面上就可以實作批量選擇執行個體,并輸入執行個體需要重置的密碼,簡便化重置多台執行個體密碼。此時使用 OOS服務 可以實作此功能。

前提條件

  1. 執行個體狀态為啟動中(

    Starting

    )時,無法重置執行個體密碼
  2. 安全控制 的ECS執行個體的

    OperationLocks

    不能标記為

    "LockReason" : "security"

模版說明:

本模版主要功能為:

  1. 擷取執行個體
  2. 檢查執行個體運作狀态是否符合修改密碼
  3. 修改密碼
  4. 重新開機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角色執行運維任務。

目前賬号的已有權限

操作步驟

  1. 請通路 運維編排OOS的控制
    運維編排場景系列-----一鍵批量重置執行個體密碼
  2. 單擊我的模版,單擊建立模闆按鈕,選取空白模闆。
    運維編排場景系列-----一鍵批量重置執行個體密碼
  3. 将上述提供的模闆粘貼到yaml欄,輸入名稱ResetPasswordAndRebootInstance或自定義名稱,點選建立模闆。
    運維編排場景系列-----一鍵批量重置執行個體密碼
  4. 單擊建立執行。
    運維編排場景系列-----一鍵批量重置執行個體密碼
  5. 保持基本資訊的預設設定,單擊下一步:設定參數。
  6. 完成參數設定填寫,單擊下一步:确認。
    運維編排場景系列-----一鍵批量重置執行個體密碼
  7. 檢視參數設定是否無誤,确認無誤後單擊建立執行。
    運維編排場景系列-----一鍵批量重置執行個體密碼
  8. 在執行管理中檢視建立的運維任務。
    運維編排場景系列-----一鍵批量重置執行個體密碼
  9. 執行結果
    運維編排場景系列-----一鍵批量重置執行個體密碼

系列文章

主題文章

阿裡雲重磅釋出雲上自動化利器——運維編排OOS

最佳實踐

玩轉運維編排服務的權限:Assume Role+Pass Role 阿裡雲運維編排新功能:一鍵批量克隆ECS 批量在多台ECS内執行指令

場景系列

運維編排場景系列----更新ECS鏡像 運維編排場景系列----給ECS執行個體自動打TAG 運維編排場景系列----從執行個體中拷貝檔案到OSS 運維編排場景系列----給執行個體加到SLS機器組 運維編排場景系列----檢測MFA功能狀态 運維編排場景系列----每日統計多Region執行個體的運作狀态 運維編排場景系列----如何使用jq 運維編排場景系列----分批到機器上運作指令 運維編排場景系列----更新鏡像後自動更新伸縮配置鏡像 運維編排場景系列----向Linux執行個體上傳檔案 運維編排場景系列----運作遠端shell腳本 運維編排場景系列----在ECS執行個體上運作Ansible-playbook 運維編排場景系列----下載下傳JVM堆棧到OSS 運維編排系列場景----将執行個體的固定公網IP轉換為其它新EIP 運維編排場景系列----自動定時更新臨時帶寬 運維編排場景系列----批量更新雲助手用戶端 運維編排系列場景----批量釋放執行個體 運維編排場景系列----ECS執行個體系統快照下載下傳到本地 運維編排場景系列----批量更換系統盤 運維編排場景系列----自動建立多個區域同類型存儲空間