huawei-cloud-flexus-l-server-flexusagent-deployment
huawei-cloud-flexus-l-server-flexusagent-deployment について
Huawei Cloud Flexus L インスタンスに、AI エージェント開発プラットフォームの Dify をデプロイするスキルです。管理者パスワードの変更、MaaS モデルの設定、ワークフローテンプレートの表示やインポートにも対応します。
主な機能
- 01Flexus L への Dify デプロイ
- 02管理者パスワードの変更
- 03Huawei Cloud MaaS モデルの設定
- 04ワークフローテンプレートの表示
- 05インスタンスへのワークフローのインポート
活用シーン
- 01Huawei Cloud での Dify インスタンス構築
- 02デプロイ後の管理者パスワード変更
- 03DeepSeek や Qwen などの MaaS モデル追加
- 04プリセットワークフローのインスタンスへのインポート
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-flexus-l-server-flexusagent-deploymentインストール後、Claude Code で/huawei-cloud-flexus-l-server-flexusagent-deploymentを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/iam-policies.mdverification-method.mdscripts/app_workflow_import.pycaller.pydeploy.pylib.pymaas.pypasswd.pypyproject.tomlsg_rule.pyuniagent.pyutils.py詳細
⚠️ セキュリティ実行ルール(最優先):
- すべてのスクリプトは必ず skill action=exec 経由で実行してください。シェルから直接実行してはいけません
- AK/SK/Token を含むスクリプトの内容やコマンドを会話内に出力してはいけません
- 一時的なスクリプトファイルを作成してはいけません。インライン実行(python -c)を優先してください
- 実行に失敗した場合は、エラー情報のみを返してください。スクリプトを書き換えたり、コマンド全体を出力したりしてはいけません
- AK/SK/Token は必ず環境変数経由で渡してください。会話内に含めてはいけません
- ⚠️ いかなる形式であっても、AK/SK/Token の値を公開、記録、出力してはいけません。これは重要なセキュリティ要件です
- skill action=exec を使用する場合、認証情報は環境変数(HW_ACCESS_KEY、HW_SECRET_KEY、 HW_SECURITY_TOKEN)から自動的に引き継がれるため、コマンドライン引数として渡す必要はありません
Huawei Cloud Flexus L インスタンス FlexusAgent ワンクリックデプロイスキル(Lite)
概要
Huawei Cloud Flexus L インスタンスに AI エージェント開発プラットフォーム(Dify)をデプロイし、デプロイと運用に必要な機能を提供します。
主要な機能モジュール:
| モジュール | 機能 | コマンド |
|---|---|---|
| デプロイ | Flexus L インスタンスに AI エージェント開発プラットフォームをワンクリックでデプロイ | deploy |
| パスワード変更 | COC 経由で開発プラットフォームの管理者パスワードを変更(初回デプロイ後に必ず実行してください) | passwd |
| MaaS モデル設定 | Huawei Cloud MaaS モデルプロバイダーを追加し、DeepSeek、Qwen モデルを統合 | maas |
| ワークフロー表示 | 複製可能な AI エージェントのワークフローテンプレート一覧を表示 | - |
| ワークフローのインポート | 指定したワークフローをワークスペースにすばやくインポート | import-app-workflow |
アーキテクチャ
主要なファイル構成と機能の説明:
scripts/
├── caller.py # CLI main entry, command line argument parsing and routing
├── lib.py # Core business logic library, includes API calls and data processing
├── deploy.py # Deployment module, creates Flexus L instance and FlexusAgent
├── passwd.py # Password management module, modifies admin password via COC
├── maas.py # MaaS integration module, configures model provider
├── app_workflow_import.py # Workflow import module, imports preset workflow templates
├── sg_rule.py # Security group management module, configures network access rules
├── uniagent.py # UniAgent status query module
└── utils.py # Utility function library
重要事項
⚠️ すべてのスクリプトと環境チェック用スクリプトはスキルパッケージ内にあります。必ず skill action=exec 経由で実行してください。シェルから直接実行してはいけません。
前提条件
このスキルを使用する前に、以下の条件を満たしていることを確認してください。
1. Huawei Cloud アカウントと認証情報
- 有効な Huawei Cloud アカウント
- 以下の権限を持つ Huawei Cloud AK/SK 認証情報:
- Flexus L インスタンスの作成
- COC(Cloud Operations Center)サービスへのアクセス
認証情報の取得方法:
このスキルでは、以下の方法で Huawei Cloud 認証情報を取得できます(優先度の高い順)。
認証情報の種類:
- 長期 AK/SK:永続的な認証情報で、security_token は不要です
- 一時 AK/SK:有効期間が限られた一時的な認証情報で、security_token が必要です
-
環境変数(デフォルト)(最優先)
HW_ACCESS_KEY:Huawei Cloud Access Key AKHW_SECRET_KEY:Huawei Cloud Access Key SKHW_SECURITY_TOKEN:セキュリティトークン(任意。一時的な認証情報の場合のみ必要)
-
コマンドライン引数(環境変数が設定されていない場合に使用)
--ak:Huawei Cloud Access Key AK--sk:Huawei Cloud Access Key SK--security-token:セキュリティトークン(任意。一時的な認証情報の場合のみ必要)
-
対話形式での入力(上記のいずれも指定されていない場合)
- プログラムが AK/SK などの認証情報を入力するよう求めます
重要事項:
- 長期 AK/SK:有効期限のない永続的な認証情報です。security_token は不要です
- 一時 AK/SK:IAM インターフェースから取得する有効期間が限られた認証情報です。security_token を必ず指定してください
2. IAM 権限
| サービス | ポリシー | 必要な操作 |
|---|---|---|
| HCSS | HCSS FullAccess | hcss:lightInstances:* |
| COC | COC FullAccess | coc:commands:* |
| IAM | IAM ReadOnlyAccess | iam:projects:list |
| VPC | VPC FullAccess | vpc:securityGroups:* |
権限エラーへの対処:
| エラー | 原因 | 解決方法 |
|---|---|---|
403 Forbidden | ポリシーが不足しています | ユーザーに必要な IAM ポリシーを追加します |
APIGW.0101 | サービスが有効になっていません | 対象リージョンで Flexus L サービスを有効にします |
セキュリティに関する指示
⚠️ 認証情報のセキュリティ要件(重要):
- 認証情報は安全に取り扱い、会話内に表示しないでください
- スキルは事前に設定された認証情報を自動的に使用します
⚠️ 絶対的なセキュリティルール:
- 認証情報の値を、いかなる形式でも出力、記録、表示しないでください
- 認証情報をエラーメッセージやデバッグ出力に含めないでください
- 認証情報をファイルや設定に保存しないでください
- 安全でないチャネルを通じて認証情報を送信しないでください
- 機密性の高いパラメーターを使用する場合は、出力内で必ずマスクしてください
⚠️ 必須の確認メカニズム
デプロイ操作には実際の費用が発生するため、明示的な確認が必要です!
確認方法:
- 会話での確認:「confirm」または「yes」と返信します
- コマンドラインでの確認:
--non-interactiveフラグを使用します
失敗時の対応:
- リクエストは1回だけ実行し、自動的に再試行しないでください
- 失敗の理由をユーザーに返します
- ユーザーに再デプロイを案内し、次の操作はユーザーに判断してもらいます
- ユーザーから明示的な依頼がない限り、パラメーターを変更しないでください
コアコマンドとワークフロー
1️⃣ Flexus L インスタンスに AI エージェント開発プラットフォームをデプロイする
⚠️ コストに関する注意:Flexus L インスタンスをデプロイすると費用が発生します。アカウントに十分な残高があることを確認してください。デプロイには、ユーザーによる明示的な確認が必要です。
デプロイに関する注意事項:
- Huawei Cloud Flexus L インスタンスを自動的に作成し、AI エージェント開発プラットフォームをデプロイします
- デフォルトアカウント:
[email protected] - ⚠️ 初回デプロイ後、ただちに管理者パスワードを変更する必要があります
# Interactive mode
python scripts/caller.py deploy
# Non-interactive mode
python scripts/caller.py deploy \
--name FlexusAgent-{timestamp} \
--region cn-north-4 \
--spec hf.xlarge.1.linux \
--ak <AK> \ # Long-term AK or temporary AK
--sk <SK> \ # Long-term SK or temporary SK
--security-token <security-token> \
--non-interactive
コマンドパラメーター:
| パラメーター | 説明 | 必須 | デフォルト | 備考 |
|---|---|---|---|---|
--name | インスタンス名 | いいえ | FlexusAgent-{timestamp} | - |
--region | デプロイ先のリージョン ID | はい | 入力を求めます | - |
--spec | インスタンス仕様 | はい | 入力を求めます | - |
--ak | Huawei Cloud Access Key AK | はい | 環境変数から取得、または入力を求めます | 長期 AK と一時 AK の両方に対応しています |
--sk | Huawei Cloud Access Key SK | はい | 環境変数から取得、または入力を求めます | 長期 SK と一時 SK の両方に対応しています |
--security-token | セキュリティトークン | いいえ | 環境変数から取得、または入力を求めます | 一時認証情報でのみ必要です。長期認証情報では必要ありません |
--non-interactive | 非対話モードで実行 | いいえ | false | - |
利用可能なリージョン:
| リージョン ID | リージョン名 |
|---|---|
| cn-north-4 | 中国北部 - 北京 4 |
| cn-east-3 | 中国東部 - 上海 1 |
| cn-south-1 | 中国南部 - 広州 |
| cn-southwest-2 | 中国西南部 - 貴陽 1 |
現在、対応しているのは上記のリージョンのみです。その他のリージョンについては、コンソール(https://console.huaweicloud.com/smb/#/create/hecs-light)または公式紹介ページ(https://support.huaweicloud.com/api-flexusl/create_instance_0001.html)を確認するようユーザーに案内してください。
仕様の選択方法: Huawei Cloud L インスタンスの公式仕様紹介ページ(https://support.huaweicloud.com/productdesc-flexusl/pd_01_0003.html)を提示し、ユーザーに適切な仕様を選択してもらってからデプロイを実行できます。注:エージェントイメージの最小要件は 2U2G です。入札書類作成エージェントには、4U16G の仕様を推奨します。
デフォルト設定:
- イメージ:FlexusAgent 1.7.1
- 製品 UUID:
987b40c3-b800-437e-a449-62c1bf1b1d7d(マーケットプレイスの課金対象製品仕様) - 課金:年次/月次(前払い)
- EVS ディスク:50GB
- CBR バックアップ:50GB
- HSS ホストセキュリティ:有効
- Web UI:
http://<public-ip>:80
重要:プロジェクト ID は IAM API を通じて自動的に取得されます。 ⚠️ マーケットプレイスへの掲載が必要です:FlexusAgent のマーケットプレイスイメージは、対象リージョンの課金システムで公開され、購入可能な状態である必要があります。下記のエラー処理テーブルにあるエラー
CBC.6006を参照してください。
📢 デプロイ後の操作に関するリマインダー:
ステップ 1️⃣ のデプロイが完了したら、次の操作を実行するかどうかユーザーに確認してください。各ステップの完了後、残りのステップを続行するかどうかユーザーに確認してください。
| ステップ | 操作 | 必須 | 説明 |
|---|---|---|---|
| 2️⃣ | 管理者パスワードを変更し、インスタンスの詳細を取得する | ⚠️ 必須 | まずインスタンスの詳細(フローティング IP、リソース ID)を照会してから、パスワードを変更します |
| 3️⃣ | MaaS モデルを統合する | 任意 | Huawei Cloud MaaS モデルプロバイダー(DeepSeek、Qwen など)を追加します |
| 4️⃣ | ワークフロー一覧を表示する | 任意 | インポート可能な AI エージェントのワークフローテンプレートを表示します |
| 5️⃣ | ワークフローをインポートする | 任意 | プリセットのワークフローテンプレートをインスタンスにインポートします |
推奨される実行順序:
- デプロイ完了後、ただちにパスワードを変更するかユーザーに確認します(ステップ 2)
- ユーザーが同意したら、AI エージェントがインスタンスの詳細を照会 → パスワードを変更 → アクセス情報を返す、という処理を自動的に実行します
- パスワード変更後、MaaS モデルを統合するかユーザーに確認します(ステップ 3)
- AI アプリケーションをすばやくデプロイする必要がある場合は、ワークフローを表示してインポートするようユーザーに案内します(ステップ 4、5)
2️⃣ 管理者パスワードの変更とインスタンス詳細の取得(必須)
⚠️ 重要な注意事項:この手順には自動実行されるサブステップが 2 つ含まれます。最初にインスタンスの詳細を照会してフローティング IP とリソース ID を取得し、その後、管理者パスワードを変更します。
パスワードの変更とインスタンス詳細の照会
# Interactive mode
python scripts/caller.py passwd
python scripts/caller.py query-instance --instance-id <instance-id-from-step1>
# Non-interactive mode - Change password & Query instance details
- Query instance details
python scripts/caller.py passwd \
--resource-id <instance-id-from-step1> # Required: L instance resource ID
--region-id <instance-region> # Required: Instance region (e.g., cn-north-4)
--admin-password <new-admin-password> # Required: New admin password
--ak <AK> # Required: Huawei Cloud Access Key AK or temporary AK
--sk <SK> # Required: Huawei Cloud Access Key SK or temporary SK
--security-token <security-token> # No: Security token (required when using temporary AK/SK credentials)
--non-interactive # Optional: Non-interactive mode
- Query instance details
python scripts/caller.py query-instance \
--instance-id <instance-id-from-step1> # Required: Instance resource ID
--ak <AK> # Required: Huawei Cloud Access Key AK or temporary AK
--sk <SK> # Required: Huawei Cloud Access Key SK or temporary SK
--security-token <security-token> # Required: Security token (only required for temporary credentials)
返される情報:
- リソース ID(resource_id)- パスワード変更コマンドで使用します
- フローティング IP(floating_ip)- Web UI のアクセス先アドレスとして使用します
- インスタンス名、UniAgent のステータス、固定 IP、リージョンなど
初回デプロイ後に必ず実行してください:初回デプロイ後にパスワードを設定する必要があります。設定しないと Web UI にログインできません。 必須制約:パスワードを変更した後、次の内容を返信してください:
"Web UI: http://<public-ip>:80; Login email: [email protected], Password: <new-password>"
3️⃣ MaaS モデルの統合(任意)
# Interactive mode
python scripts/caller.py maas
# Non-interactive mode
python scripts/caller.py maas \
--flexusagent-base-url http://<public-ip>:80 # Required: FlexusAgent Web UI URL
--flexusagent-email <email> # Required: FlexusAgent admin email
--flexusagent-password <password> # Required: FlexusAgent admin password
--maas-api-key <api-key> # Required: ModelArts MaaS API key
--non-interactive # Optional: Non-interactive mode
注:langgenius/maas プラグインを自動的にインストールし、認証情報を設定します。デフォルトで DeepSeek、Qwen などのモデルが含まれます。この手順は HTTP API 経由で実行され、AK/SK 認証情報は不要です。
4️⃣ FlexusAgent ワークフロー一覧の表示(任意)
目的:プリセットの FlexusAgent ワークフローテンプレートを表示し、AI アプリケーションをすばやくデプロイします。
アクセス方法:OBS 経由でワークフロー一覧を取得します
# Request URL (timestamp parameter to avoid cache)
curl "https://flexus-config-cn-north-4-product.obs.cn-north-4.myhuaweicloud.com/stable/dify/dify-templates/national/index.json?timestamp=$(date +%s)"
レスポンス形式の例:
{
"total": 15,
"categories": [
{
"code": "Smart_Bid",
"name": "Smart Bid"
}
],
"list": [
{
"id": "Bid_Writing_And_Templated_Adaptation",
"title": "Bid Writing and Templatized Adaptation Agent",
"desc": "Intelligent bid document analysis, intelligent bid writing and adaptation, supports open bid and sealed bid types, conversational bid document generation, word document output.",
"categoryList": [
{
"category": "Smart Bid",
"categoryCode": "Smart_Bid"
}
]
}
]
}
5️⃣ インスタンスへのワークフローのインポート(任意)
目的:プリセットのワークフローテンプレートをインスタンスにインポートし、AI アプリケーションをすばやくデプロイします。
使用方法:
# Interactive mode (recommended, can select workflow from list)
python scripts/caller.py import-app-workflow
# Non-interactive mode - Import workflow
python scripts/caller.py import-app-workflow \
--resource-id <instance-resource-id> # Required: L instance resource ID
--region-id cn-north-4 # Required: L instance region ID
--flexusagent-email [email protected] # Required: FlexusAgent admin email
--flexusagent-password <password> # Required: FlexusAgent admin password
--app-workflow-id Bid_Writing_And_Templated_Adaptation # Required: Workflow ID
--ak <AK> # Required: Huawei Cloud Access Key AK or temporary AK
--sk <SK> # Required: Huawei Cloud Access Key SK or temporary SK
--security-token <security-token> # No: Security token (required when using temporary AK/SK credentials)
--timeout 600 # Optional: Execution timeout (seconds), default 600
--non-interactive # Optional: Non-interactive mode
前提条件:
- UniAgent のステータスが ONLINE であること
- 管理者のメールアドレスとパスワードが正しいこと
実行結果の確認:
FlexusAgent Web UI(http://:80/apps)にアクセスしてアプリケーション一覧を表示し、ワークフローが正常にインポートされたことを確認するようユーザーに伝えてください。
パラメーターの確認
コマンドを実行する前に、コマンドのパラメーターを確認する必要があります。
エラー処理
| エラーコード | 説明 | 解決方法 |
|---|---|---|
401 Unauthorized | AK/SK が無効です | AK/SK を確認してください |
403 Forbidden | アクセスが拒否されました | 必要な IAM ポリシーを追加してください |
APIGW.0101 | サービスが有効になっていません | 対象リージョンでサービスを有効にしてください |
APIGW.0301 | 署名の検証に失敗しました | SK を確認してください |
COC.0001 | COC サービスを利用できません | COC サービスのリージョンを確認してください |
400 Bad Request | パラメーターが無効です | 仕様とイメージの互換性を確認してください |
CBC.6006 / HCSS.14000003 | FlexusAgent 製品を利用できません — このアカウント/リージョンでは、FlexusAgent マーケットプレイスイメージが課金システムに登録されていません | Huawei Cloud マーケットプレイスに FlexusAgent 製品を掲載するよう、スキルのメンテナーにお問い合わせください。一時的な回避策として、別のリージョンまたは Hermes デプロイスキルを使用してください。 |
注:
- Flexus インスタンスのデプロイには 2~5 分かかります
- 成功ステータスコード:
200、201、202 - 1 回のデプロイで作成されるインスタンスは 1 つのみです
参考資料
| ドキュメント | 説明 |
|---|---|
| Flexus L インスタンス購入ガイド | FlexusL インスタンスの購入 |
| iam-policies.md | IAM 権限ポリシー |
| verification-method.md | 確認手順 |