Community程式設計與開發github.com

huaweicloud/huawei-cloud-ecs-manage

管理華為雲 ECS(彈性雲伺服器)**生命週期(建立/啟動/停止/重啟/刪除)、日常變更操作(調整規格/重裝OS/重設密碼/更換金鑰對/綁定與解綁EIP/更改安全群組/增刪NIC/掛載與卸載磁碟)、執行個體查詢、配額/規格/映像檢查、非同步任務強制輪詢,以及多步驟根本原因診斷。**

huawei-cloud-ecs-manage 是什麼?

此技能為 AI 代理程式提供華為雲 ECS(彈性雲伺服器)的完整管理與診斷能力。它不僅涵蓋了執行個體的完整生命週期管理(建立、啟動、停止、重啟、刪除),還支援日常變更操作,例如調整規格、重裝作業系統、重設密碼、更換金鑰對、綁定或解綁彈性公網IP (EIP)、增刪網路卡 (NIC),以及掛載或卸載雲端硬碟 (EVS)。 最重要的是,它包含一個獨特的 6 步驟根本原因診斷功能,用於處理 ECS 建立失敗問題。診斷會依序檢查配額、規格、映像、網路、金鑰對和磁碟,消除最常見的建立障礙。所有寫入操作(R1/R2 等級)都會透過預覽與確認機制確保安全,並強制執行非同步任務輪詢,直到任務真正完成。此技能支援多種平台(如 Claude Code、Cursor 等),透過 23 個 `huawei_*` 動作與底層的 `hcloud` CLI 互動,確保操作的準確性與可稽核性。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/huaweicloud/huaweicloud-skills/tree/HEAD/skills/computing/ecs/huawei-cloud-ecs-manage

Installed? Explore more 程式設計與開發 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Huawei Cloud ECS Manage (建立失敗診斷與執行個體管理)

注意:請勿根據一般知識回答。請遵循以下程序。

步驟 0:確保 skill-quality-cli(必要;首次使用時安裝)

bash scripts/ensure_cli.sh   # 有冪等性:僅在未安裝時安裝(不會自動升級)
export PATH="$HOME/.local/bin:$PATH"
skill-quality-cli version    # 確認其正常運作

請務必先執行此步驟:品質回報依賴於 skill-quality-cli,由 scripts/ensure_cli.sh 有冪等地確保(若遺失則安裝一次,若已存在則跳過;不會自動升級 — 請手動執行 skill-quality-cli upgrade 以進行更新)。 若處於離線狀態或下載失敗,技能會靜默降級(不影響業務流程);待恢復連線後重新執行此步驟。

請務必在執行任何 hcloud ECS <Operation> 命令前先查詢其幫助文件,以發現確切的參數名稱與要求。

總覽

本技能為 AI 代理程式提供華為雲 ECS(彈性雲伺服器)的管理能力: 執行個體生命週期管理(建立/啟動/停止/重啟/刪除)、執行個體/配額/規格/映像查詢,以及一個 6 步驟建立失敗根本原因診斷,按 配額 → 規格 → 映像 → 網路 → 金鑰對 → 磁碟 的順序,消除「ECS 執行個體建立失敗」最常見的原因。

它透過五個能力群組暴露 23 個 huawei_* 動作:

能力風險等級動作
查詢(唯讀)R3 — 自動執行huawei_list_ecs_instances、huawei_get_ecs_instance、huawei_list_ecs_flavors、huawei_list_ecs_images、huawei_list_ecs_quotas
診斷(唯讀)R3 — 自動執行huawei_diagnose_ecs_create_failure、huawei_analyze_ecs_health
管理 — 生命週期R2 — 預覽 + 確認huawei_create_ecs_instance、huawei_start_ecs_instance、huawei_stop_ecs_instance、huawei_restart_ecs_instance
管理 — 生命週期R1 — 預覽 + 確認huawei_delete_ecs_instance
管理 — 變更操作(§5)R2 — 預覽 + 確認huawei_resize_ecs_instance、huawei_reinstall_ecs_os、huawei_reset_ecs_password、huawei_replace_ecs_keypair、huawei_bind_ecs_eip、huawei_change_ecs_security_group、huawei_add_ecs_nic、huawei_attach_ecs_volume、huawei_detach_ecs_volume
管理 — 變更操作(§5)R1 — 預覽 + 確認huawei_unbind_ecs_eip、huawei_remove_ecs_nic

每個寫入操作都是非同步的:API 會回傳一個 job_id,真正的作業在背景繼續執行。輪詢該作業是強制的後續步驟,而非可選的附加項目 — 請參閱 §6 非同步任務輪詢。

範圍邊界:

  • ✅ 查詢 ECS 執行個體、規格、映像、配額(唯讀)
  • ✅ 診斷 ECS 建立失敗(配額 → 規格 → 映像 → 網路 → 金鑰對 → 磁碟)並分析執行個體健康狀態(狀態/磁碟/網路)
  • ✅ 建立(後付費)、啟動、停止、重啟、刪除 ECS 執行個體(R2/R1:始終預覽 + 確認)
  • ✅ 變更現有執行個體:調整規格、重裝 OS、重設密碼、更換金鑰對、綁定/解綁 EIP、掛載/卸載現有安全群組、新增/移除 NIC、掛載/卸載磁碟(R2/R1:始終預覽 + 確認)
  • ❌ 絕不建立、刪除或重新配置 VPC / 子網 / 安全群組資源或 EVS 磁碟資源本身。本技能僅將現有資源掛載或卸載到執行個體;請使用專用的 VPC / EVS 技能進行資源層級的變更。
  • ❌ 絕不未經使用者明確確認就執行任何寫入操作
  • ❌ 絕不在其非同步任務達到 SUCCESS 狀態前(且對於 create,還必須在執行個體達到 ACTIVE 狀態前)將寫入操作報告為「已完成」
  • ❌ 絕不在任何輸出或報告中回顯憑證(AK/SK、密碼、令牌)
  • ➡️ 不屬於範圍:RDS / 資料庫查詢。本技能僅管理運算資源。當使用者詢問某個 ECS 執行個體依賴的資料庫時,請將問題交回給使用者,並指向專用的 RDS 技能或華為雲 RDS 控制台 — 本技能永不呼叫其他技能。請參閱 references/related-skills.md 了解交接措辭。

依賴項:品質遙測資料透過 skill-quality-cli 自動收集(若遺失,由 scripts/ensure_cli.sh 安裝)。

重要警告

陷阱原因
配額耗盡是 #1 建立失敗原因Insufficient quota/Quota exceeded 表示執行個體/核心/RAM/磁碟已達到專案限制 — 請先檢查 ShowServerLimits
規格必須存在於目標區域/AZ中規格可能全域存在,但在所選 AZ 中已售罄或不可用 — 使用 --availability_zone 過濾 ListFlavors
映像必須是 active 且與規格架構相符已刪除/私有映像的 __os_type/architecture(x86 vs ARM)錯誤會導致佈建失敗 — 檢查 IMS ListImages --status=active
沒有可用 IP 的子網會阻止建立若子網 CIDR 已耗盡或 dhcp 已停用,則 NIC 分配會失敗
安全群組必須在建立前存在引用不存在的安全群組 ID 會導致請求失敗
金鑰對錯誤具有誤導性若設定了 key_name 但金鑰對不存在,建立會因 KeypairNotFound 失敗 — 使用 KPS ListKeypairs 驗證
磁碟/AZ 可用性根/資料磁碟類型 (SATA/SAS/GPSSD) 可能在目標 AZ 中不可用 — 檢查 EVS ListVolumes 和磁碟配額
刪除是不可逆的R1:先驗證執行個體,確認沒有資料依賴,然後要求使用者明確確認

先決條件

  1. hcloud CLI(KooCLI 7.2.x 或更新版本)已安裝並通過驗證。
    • 安裝與配置指南:請參閱 references/cli-installation-guide.md
    • 兩種支援的驗證模式:
      • AK/SK 憑證:環境變數 HUAWEICLOUD_SDK_AK/HUAWEICLOUD_SDK_SK(或 HUAWEI_ACCESS_KEY/HUAWEI_SECRET_KEY),或透過 hcloud 配置精靈進行互動式設定
      • 本機 hcloud 設定檔:執行「hcloud configure list」;必須顯示一個有效的設定檔,模式為 AKSK 且具有真實的 accessKeyId
    • 使用「hcloud configure list」驗證驗證
  2. 區域:ECS 是區域特定的。請始終傳遞 --cli-region={region}(例如 cn-north-4)。 當省略 --project_id 時,會從設定檔自動填入。
  3. IAM 權限:最小權限政策提供於 references/iam-policies.md。
    • 查詢/診斷:ecs:cloudServers:list、ecs:cloudServers:get、ecs:cloudServerFlavors:list、 ecs:cloudServerImages:list、ecs:jobs:get、ecs:serverVolumes:list、ims:images:list、 vpc:subnets:list、vpc:securityGroups:list、vpc:publicIps:list、evs:volumes:list、 kps:keypairs:list(診斷步驟 5,hcloud KPS ListKeypairs)
    • 管理:ecs:cloudServers:create、ecs:cloudServers:action(啟動/停止/重啟、調整規格、 重裝、重設密碼、NIC 和安全群組變更)、ecs:cloudServers:delete
    • 變更操作(§5)還需要它們所觸及的每個資源的寫入動作,例如 evs:volumes:delete 搭配 --delete_volume=true、vpc:publicIps:delete 搭配 --delete_publicip=true; 確切列表在 references/iam-policies.md 中。
  4. skill-quality-cli — 由 bash scripts/ensure_cli.sh 確保(有冪等性,若存在則跳過)
    • 升級:手動執行 skill-quality-cli upgrade(無自動升級)
    • 停用遙測報告:設定 SKILL_QUALITY_REPORT=0

工作流程

1. 識別目標 → 區域、instance_id / flavor_id / image_id / vpc_id / subnet_id / key_name、意圖關鍵字
2. 分類意圖 →
     - 查詢/診斷 (R3):list / show / analyze / diagnose — 自動執行
     - 管理生命週期 (R2):create / start / stop / restart — 始終顯示預覽並要求明確確認
     - 管理生命週期 (R1):delete — 始終顯示執行個體詳細資訊、不可逆警告、明確確認
     - 管理變更操作 (R2):resize / reinstall / reset password / replace keypair / bind EIP /
       change security group / add NIC / attach volume — 始終預覽 + 確認
     - 管理變更操作 (R1):unbind EIP / remove NIC / delete keypair — 始終顯示目前
       的連接狀態、不可逆警告、明確確認
3. 飛行前檢查 → 對於建立操作和每個變更操作,先執行相關的唯讀檢查
   (配額、規格、映像、網路、金鑰對、磁碟),以便使用者根據實際狀態進行確認
4. 執行 → 從下面驗證過的模板建構 hcloud 命令
5. 捕獲 job id → 寫入 API 會立即回傳一個 job_id;作業仍在執行中
6. 輪詢非同步任務 → `hcloud ECS ShowJob` 直到 `status=SUCCESS|FAIL`;對於建立操作,還需
   輪詢 `hcloud ECS ShowServer` 直到 `status=ACTIVE`;然後將**最終**狀態報告給使用者
7. 輸出 → 結構化的 JSON 摘要 + 可讀的診斷報告
8. 報告品質 → 透過 `skill-quality-cli` run 包裹自動進行(請參閱步驟 0 / 先決條件 #4)

確認關卡(絕不可跳過):

  • R2 動作(huawei_create_ecs_instance、huawei_start_ecs_instance、huawei_stop_ecs_instance、 huawei_restart_ecs_instance):顯示完整命令、目標執行個體,並在執行前詢問「確認?」。
  • R1 動作(huawei_delete_ecs_instance):先執行唯讀檢查 (ShowServer 以確認執行個體存在並記錄其狀態/規格/磁碟)。顯示包含不可逆刪除警告的完整命令, 並要求明確確認後再執行。
  • 變更操作動作(R2:huawei_resize_ecs_instance、huawei_reinstall_ecs_os、 huawei_reset_ecs_password、huawei_replace_ecs_keypair、huawei_bind_ecs_eip、 huawei_change_ecs_security_group、huawei_add_ecs_nic、huawei_attach_ecs_volume): 顯示目前狀態(透過 ShowServer/ListServerVolumeAttachments/ListServerInterfaces)、 完整命令和預期的最終狀態,然後詢問「確認?」。
  • 變更操作動作(R1:huawei_unbind_ecs_eip、huawei_remove_ecs_nic):顯示將要 卸載的內容以及連線影響(解綁 EIP 會失去公開存取;移除 NIC 會失去該網路路徑及其私有 IP), 需要明確確認,且絕不與刪除操作串聯。對於 huawei_detach_ecs_volume (R2),警告 --delete_flag=1 會刪除資料磁碟。
  • 建立前飛行檢查:在 huawei_create_ecs_instance 之前,始終執行 huawei_diagnose_ecs_create_failure(或至少執行配額 + 規格 + 映像檢查),以便使用者 看到環境已就緒,然後再確認。
  • 非同步任務輪詢是強制的:在任務達到終端狀態之前,絕不完結一個寫入操作。未經輪詢的 job_id 是一個不完整的動作,而非成功。

寫入操作在下面的命令區塊中標記為 [W] / 寫操作(檢測關鍵字: create / start / stop / restart / delete — 與測試管線的寫入操作檢測器所使用的動詞相同)。

核心命令

以下所有命令以雙重形式顯示:裸可執行檔 hcloud <Service> <Operation> 命令,以及為品質報告而包裹了 skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- ... 的相同承載。 它們需要安裝並驗證 KooCLI (hcloud CLI)(請參閱先決條件);任何業務命令都不需要 Python SDK 套件。

⚠️ 強制要求:本技能中的每個 hcloud 命令都必須使用skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- <command> 包裹 — 嚴禁使用裸 hcloud 呼叫。

1. 查詢 (R3 — 唯讀,自動執行)

huawei_list_ecs_instances — 列出 ECS 執行個體及其狀態:

# 可選項:--limit={n} --offset={n} --status={ACTIVE|SHUTOFF|ERROR|BUILD|...} --name={name} --server_id={id1,id2}
hcloud ECS ListServersDetails --cli-region={region}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ListServersDetails --cli-region={region}

huawei_get_ecs_instance — 查詢一個執行個體的完整詳細資訊(狀態、位址、規格、磁碟、錯誤):

hcloud ECS ShowServer --cli-region={region} --server_id={server_id}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ShowServer --cli-region={region} --server_id={server_id}

huawei_list_ecs_flavors — 列出可用的規格(可選擇限定於一個 AZ):

# 可選項:--availability_zone={az} --flavor_id={flavor_id} --limit={n} --marker={marker}
hcloud ECS ListFlavors --cli-region={region}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ListFlavors --cli-region={region}

huawei_list_ecs_images — 列出可用的映像(按 OS 類型/架構/狀態過濾):

# 可選項:--__os_type={Linux|Windows} --architecture={x86|arm} --status={active} --name={name} --limit={n}
hcloud IMS ListImages --cli-region={region}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud IMS ListImages --cli-region={region}

huawei_list_ecs_quotas — 查詢專案配額使用情況:

hcloud ECS ShowServerLimits --cli-region={region}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud ECS ShowServerLimits --cli-region={region}

ShowServerLimits 回傳絕對限制和使用情況(maxTotalInstances/totalInstancesUsed、 maxTotalCores/totalCoresUsed、maxTotalRAMSize/totalRamUsed、maxTotalKeypairs)。請注意它沒有磁碟欄位 — 對於磁碟配額,請額外使用:

# 必要:--target_project_id={project_id} --usage=True
hcloud EVS CinderListQuotas --target_project_id={project_id} --usage=True --cli-region={region}
skill-quality-cli run --skill-name huawei-cloud-ecs-manage -- hcloud EVS CinderListQuotas --target_project_id={project_id} --usage=True --cli-region={region}

2. 診斷 (R3 — 唯讀,自動執行)

huawei_diagnose_ecs_create_failure — 6 步驟建立失敗診斷

…

[為翻譯而截斷]

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

huaweicloud/huawei-cloud-dws-io-diag

DWS cluster I/O overload root cause diagnosis skill, based on KooCLI v3.2.0+ and DWS Autopilot MCP Server. Automatically collects I/O metrics, analyzes root causes (customer-side / system-side) via three-stage decision tree, and outputs a standardized diagnosis report. Applicable to DWS cluster I/O usage too high, I/O alarms, disk I/O load anomaly scenarios. Trigger words: "I/O高", "I/O告警", "I/O诊断", "I/O过载", "IO高", "IO告警", "IO诊断", "IO过载", "磁盘IO负载异常", "util打满", "await高", "high I/O", "I/O alarm", "I/O diagnosis"

huaweicloud/huawei-cloud-ges-graph

Provides access guide for Huawei Cloud Graph Database GES service. Covers Cypher queries, GQL queries, schema/label management, summary info queries, graph data editing and more. Use this skill when users want to operate Huawei Cloud graph database GES service via terminal.

huaweicloud/huawei-cloud-obs-upload

Upload a local file or directory to a specified Huawei Cloud OBS (Object Storage Service) bucket with obsutil, and set up a scheduled/periodic upload task (crontab) that syncs a local directory to an OBS bucket. Also lists OBS buckets with storage capacity and object count. Use this skill when the user wants to: (1) upload a specific local file or directory to a named OBS bucket, (2) set up a scheduled/periodic upload task that automatically syncs a local directory to a named OBS bucket, (3) list their OBS buckets and check capacity and object count. Triggers include: user mentions "upload to OBS bucket", "上传文件到OBS", "上传目录到OBS", "定时上传到OBS", "目录同步到OBS桶", "OBS scheduled upload", "OBS周期上传", "OBS bucket capacity check", "OBS桶容量查询". Generic phrases such as "object storage", "upload file" or "upload directory" alone are NOT sufficient to trigger this skill.

huaweicloud/huawei-cloud-obs-website-host

Configure Huawei Cloud OBS static website hosting with Python SDK and a custom domain. Use when the user needs to enable or repair OBS website hosting, set index or error pages, expose an existing bucket for public website access through a custom domain, or connect that domain through Huawei Cloud DNS when Huawei manages the zone. Triggers include OBS static website hosting, website endpoint, index page, error page, public-read bucket website access, custom domain CNAME, Huawei Cloud DNS, setBucketWebsite. 中文触发词包括:OBS 静态网站托管、网站托管、自定义域名解析。

相關技能