Communityコーディング&開発github.com

Huawei Cloud ECS 管理 (创建失败诊断与实例管理)

Huawei Cloud ECS(弹性云服务器)实例的生命周期管理(创建/启动/停止/重启/删除)、日常变更操作(变配/重装系统/重置密码/替换密钥对/绑定与解绑EIP/变更安全组/添加与移除网卡/挂载与卸载云硬盘)、实例查询、配额/规格/镜像检查、异步任务轮询以及多步骤创建失败根因诊断。

Huawei Cloud ECS 管理 (创建失败诊断与实例管理) とは?

このスキルは、Huawei Cloud ECS(Elastic Cloud Server)インスタンスの包括的な管理をAIエージェントに提供します。インスタンスのライフサイクル管理(作成、起動、停止、再起動、削除)から、日常の変更操作(スペック変更、OS再インストール、パスワードリセット、キーペア交換、EIPバインド/アンバインド、セキュリティグループ変更、NIC追加/削除、ボリュームのアタッチ/デタッチ)まで、23のアクションを5つの機能グループにまとめて提供します。特に重要なのは、6ステップの作成失敗診断機能で、クォータ不足→フレーバー不適合→イメージエラー→ネットワーク問題→キーペアミス→ディスク問題の順に原因を調査し、ECSインスタンス作成失敗の一般的な原因を特定します。すべての書き込み操作は非同期で実行され、ジョブIDが返された後、バックグラウンドで処理が継続されるため、ジョブのポーリング(`hcloud ECS ShowJob`)は必須のステップです。Huawei Cloud CLI(hcloud/KooCLI)を使用し、認証にはAK/SKまたはローカルプロファイルをサポートします。

対応~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に質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Huawei Cloud ECS 管理 (作成失敗診断とインスタンス管理)

注意 - 一般的な知識から回答しないでください。以下の手順に従ってください。

ステップ 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> --help を実行して正確なパラメータ名と要件を確認してください。

概要

このスキルは、Huawei Cloud ECS(Elastic Cloud Server)向けのAIエージェント機能を提供します: インスタンスライフサイクル管理(作成/起動/停止/再起動/削除)、インスタンス/クォータ/フレーバー/イメージ のクエリ、および 6ステップの作成失敗の根本原因診断 により、「ECSインスタンスの作成に失敗しました」という 最も一般的な原因を クォータ → フレーバー → イメージ → ネットワーク → キーペア → ディスク の順序で排除します。

5つの機能グループに分けて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 スキルまたは Huawei Cloud RDS コンソールを参照するように伝えてください — このスキルは他のスキルを呼び出しません。 引き継ぎの文言については references/related-skills.md を参照してください。

依存関係: 品質テレメトリは skill-quality-cli を介して自動的に収集されます (scripts/ensure_cli.sh によってインストールされます。存在しない場合)。

重要な警告

罠理由
クォータ不足は作成失敗の第一位Insufficient quota / Quota exceeded は、インスタンス/コア/RAM/ボリュームがプロジェクト制限に達したことを意味します — 最初に ShowServerLimits を確認してください
フレーバーは 対象リージョン/AZ に存在する必要がありますグローバルに存在するフレーバーでも、選択したAZでは販売終了または利用不可の場合があります — ListFlavors を --availability_zone でフィルタリングしてください
イメージは 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 を参照
    • サポートされる認証モードは2つ:
      • AK/SK 資格情報: 環境変数 HUAWEICLOUD_SDK_AK / HUAWEICLOUD_SDK_SK (または HUAWEI_ACCESS_KEY / HUAWEI_SECRET_KEY)、あるいは hcloud configure ウィザードによる対話型設定
      • ローカル 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 (起動/停止/再起動, スペック変更, OS再インストール, パスワードリセット, 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): 一覧表示 / 表示 / 分析 / 診断 — 自動実行
     - ライフサイクル管理 (R2): 作成 / 起動 / 停止 / 再起動 — 常にプレビューを表示し、明示的な確認を求める
     - ライフサイクル管理 (R1): 削除 — 常にインスタンスの詳細、元に戻せない警告、明示的な確認を表示
     - 変更操作管理 (R2): スペック変更 / OS再インストール / パスワードリセット / キーペア交換 / EIPバインド /
       セキュリティグループ変更 / NIC追加 / ボリュームアタッチ — 常にプレビュー + 確認
     - 変更操作管理 (R1): EIPアンバインド / NIC削除 — 常に現在の
       アタッチメント、元に戻せない警告、明示的な確認を表示
3. 事前チェック → 作成およびすべての変更操作について、最初に関連する読み取り専用チェックを実行
   (クォータ、フレーバー、イメージ、ネットワーク、キーペア、ディスク)して、ユーザーが実際の状態に基づいて確認できるようにする
4. 実行 → 以下の検証済みテンプレートから hcloud コマンドを構築
5. ジョブ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 — 1つのインスタンスの完全な詳細(ステータス、アドレス、フレーバー、ボリューム、障害)をクエリ:

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 — 利用可能なフレーバーを一覧表示(オプションで1つの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 静态网站托管、网站托管、自定义域名解析。

関連スキル