日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

將ECS實例自動加入和移出MongoDB實例白名單

本教程介紹如何使用彈性伸縮生命周期掛鉤掛起ECS實例,并結合系統運維管理 OOS(CloudOps Orchestration Service)的模板,實現將ECS實例自動加入和移出MongoDB實例白名單。

前提條件

  • 已創建伸縮組,并且伸縮組處于啟用狀態。

  • 已創建MongoDB實例。

  • 已為OOS服務創建RAM角色。該RAM角色的可信實體必須為阿里云服務,受信服務為系統運維管理,并且擁有執行OOS模板的權限。具體操作,請參見為OOS服務設置RAM權限

    說明

    本教程中使用的示例RAM角色為OOSServiceRole,您也可以使用其他自定義的RAM角色。

背景信息

伸縮組支持關聯負載均衡實例和RDS實例,但是暫時不能關聯MongoDB實例。如果您有業務數據存儲在MongoDB實例上,手動配置ECS實例加入或移出MongoDB實例白名單,操作效率較低。您可以通過生命周期掛鉤和OOS模板將ECS實例自動加入和移出MongoDB實例白名單,但需要注意以下內容:

  • 如果伸縮組已有存量的ECS實例,您需要手動將相關ECS實例的IP添加至MongoDB實例白名單。否則,當移除一個MongoDB白名單中不存在的實例的私網IP時,將出現錯誤。

  • 您需要通過生命周期掛鉤的通知標識(NotificationMetadata,簡稱metadata)為創建OOS執行指定所需的參數。

    • metadata必須為JSON字符串格式。

    • metadata中的鍵,必須與OOS模板參數一一對應。

    • OOS模板中不存在默認值的參數必須指定,存在默認值的參數可選擇是否指定以覆蓋默認值。

操作步驟

本教程以OOS公共模板ACS-ESS-LifeCycleModifyMongoDBIPWhitelist為例,實現在擴容時將ECS實例加入MongoDB實例白名單。步驟如下:

說明

如果需要在縮容時將ECS實例移出MongoDB實例白名單,創建適用于彈性收縮活動的生命周期掛鉤并觸發縮容即可。

步驟一:對RAM角色授予OOS服務權限

您需要擁有OOS的執行權限才能執行OOS的模板。執行ACS-ESS-LifeCycleModifyMongoDBIPWhitelist中定義的運維操作時涉及云服務器ECS、彈性伸縮、云數據庫MongoDB的資源。

  1. 登錄RAM控制臺

  2. 創建權限策略。

    1. 在左側導航欄,單擊權限管理 > 權限策略

    2. 單擊創建權限策略

    3. 創建權限策略頁面,選擇權限策略的配置模式為腳本編輯后,設置其他參數項,然后單擊確定

      本教程中使用的配置如下表所示,未提及的配置保持默認即可。

      配置項

      說明

      名稱

      填寫ESSHookPolicyForMongoDBWhitelist。

      策略內容

      輸入以下內容:

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "ecs:DescribeInstances"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "dds:ModifySecurityIps"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              },
              {
                  "Action": [
                      "ess:CompleteLifecycleAction"
                  ],
                  "Resource": "*",
                  "Effect": "Allow"
              }
          ]
      }
  3. 為OOSServiceRole授予權限策略。

    1. 在左側導航欄,單擊身份管理 > 角色

    2. 找到OOSServiceRole,在操作列,單擊新增授權

      為OOS服務扮演的RAM角色OOSServiceRole添加所需權限即可完成授權。

    3. 新增授權頁面,指定資源范圍和權限配置,然后單擊確認新增授權

      本教程中使用的配置如下表所示,未提及的配置保持默認即可。

      配置項

      說明

      資源范圍

      選擇賬號級別

      權限策略

      添加自定義策略ESSHookPolicyForMongoDBWhitelist。

步驟二:為擴容活動創建生命周期掛鉤并觸發擴容

  1. 登錄彈性伸縮控制臺
  2. 在左側導航欄中,單擊伸縮組管理
  3. 在頂部菜單欄處,選擇地域。
  4. 找到待操作的伸縮組,選擇任一種方式打開伸縮組詳情頁面。
    • 伸縮組名稱/ID列,單擊伸縮組ID。
    • 操作列,單擊查看詳情
  5. 為擴容活動創建生命周期掛鉤。

    1. 在頁面上方,單擊生命周期掛鉤頁簽。
    2. 單擊創建生命周期掛鉤

    3. 指定生命周期掛鉤配置,然后單擊確認

      本教程中使用的配置如下表所示,未提及的配置保持默認即可。

      配置項

      說明

      名稱

      輸入ESSHookForAddMongoDBWhitelist。

      適用的伸縮活動類型

      選擇彈性擴張活動

      超時時間

      輸入適當的超時時間,例如300秒。

      說明

      超時時間即用于執行自定義操作的時間,若超時時間過短,可能導致自定義操作失敗,請評估自定義操作耗時并設置適當的超時時間。

      默認執行策略

      選擇繼續

      掛鉤期間執行的動作

      模板配置如下:

      • 通知方式:選擇OOS模板

      • OOS模板類型:選擇公共模板

      • 公共模板:選擇ACS-ESS-LifeCycleModifyMongoDBIPWhitelist。

      ACS-ESS-LifeCycleModifyMongoDBIPWhitelist的執行參數配置如下:

      • MongoDB實例ID:輸入MongoDB實例的ID。本教程中以MongoDB副本集實例為例。

      • 修改IP白名單的方式:選擇Append,對應彈性擴張活動,將ECS實例加入MongoDB實例白名單。

      • OOS扮演的RAM角色:選擇OOSServiceRole,操作步驟中已為RAM角色OOSServiceRole添加操作ECS、彈性伸縮、MongoDB資源的權限,OOS服務扮演該RAM角色即可擁有相關權限。

  6. 觸發擴容。

    本教程中以手動執行伸縮規則為例,您也可以通過定時任務、報警任務等方式觸發擴容。

    說明

    手動執行伸縮規則觸發擴縮容時,生命周期掛鉤會生效,但手動添加或移出已有ECS實例時,生命周期掛鉤不會生效。

    1. 在頁面上方,單擊伸縮規則與報警任務頁簽。

    2. 伸縮規則頁簽下,單擊創建伸縮規則

    3. 設置伸縮規則的屬性,然后單擊確認

      本教程中使用的配置如下表所示,未提及的配置保持默認即可。

      配置項

      說明

      規則名稱

      輸入Add1。

      伸縮規則類型

      選擇簡單規則

      執行的操作

      設置為增加1臺。

    4. 在伸縮規則列表下,找到新建的伸縮規則Add1,在操作區域,單擊執行

    5. 單擊確定

    執行伸縮規則后自動創建1臺ECS實例,由于伸縮組內已創建生命周期掛鉤ESSHookForAddMongoDBWhitelist,ECS實例會被掛起,同時自動通知OOS服務執行ACS-ESS-LifeCycleModifyMongoDBIPWhitelist中定義的運維操作。

步驟三:查看MongoDB實例白名單

  1. 登錄云數據庫MongoDB管理控制臺

  2. 在左側導航欄,單擊副本集實例列表

  3. 找到MongoDB實例,在實例ID/名稱區域,單擊實例ID。

  4. 在左側導航欄,單擊數據安全性 > 白名單設置

    • 如果MongoDB實例白名單中加入了新建ECS實例的私有IP,符合使用公共模板ACS-ESS-LifeCycleModifyMongoDBIPWhitelist的預期。

    • 如果成功創建了ECS實例,但是新建ECS實例的私有IP并沒有加入MongoDB實例白名單,請前往OOS控制臺查看運維任務執行情況。具體操作,請參見(可選)步驟四:查看OOS執行情況

(可選)步驟四:查看OOS執行情況

  1. 登錄OOS管理控制臺

  2. 在左側導航欄,選擇自動化任務 > 任務執行管理

  3. 按開始時間找到執行,然后在操作列,單擊詳情

  4. 進入執行詳情頁面,查看執行的相關信息。

    例如,您可以基本信息區域查執行ID、執行狀態等,也可以在執行結果區域,單擊任務節點查看執行詳情。具體操作,請參見查看執行詳情

    說明

    如果執行失敗,在執行詳情頁面也會顯示相關的報錯信息。

常見問題

如果運維任務執行失敗,請根據執行結果中的報錯信息排查原因。更多信息,請參見常見問題

常見的報錯信息如下:

報錯信息

原因

解決方案

Forbidden.Unauthorized message: A required authorization for the specified action is not supplied.

您并未向彈性伸縮授權操作當前Action。

請檢查是否為RAM角色OOSServiceRole添加了相應的權限。

Forbidden.RAM message: User not authorized to operate on the specified resource, or this API doesn't support RAM.

RAM用戶或RAM角色沒有操作對應資源的權限。

請檢查是否為RAM角色OOSServiceRole添加了相應的權限。例如為RAM角色授予OOS服務的示例權限。您需要為RAM角色添加操作權限,確保OOS服務能夠操作OOS模板中涉及的資源。

LifecycleHookIdAndLifecycleActionToken.Invalid message: The specified lifecycleActionToken and lifecycleActionId you provided does not match any in process lifecycle action.

正在進行的生命周期動作已經過期或中止。

請評估生命周期掛鉤的超時時間,確保在超時時間內可以執行完OOS模板中定義的運維任務。