返回技能市场
开发运维 安全

实例生命周期管理

@aliyun/alibabacloud-elasticsearch-instance-manage

用于管理阿里云 Elasticsearch 实例的生命周期(如创建、重启、扩缩容)及核心配置(如快照备份、分词词典)。

云Skills门户 热度 86v0.0.5

Elasticsearch 实例与配置管理

通过阿里云 CLI 管理阿里云 Elasticsearch 实例和实例侧配置:实例生命周期(创建 / 查询 / 列出 / 重启 / 升级 / 降级 / 节点信息)和实例配置(快照备份、分析器词典)。

此 skill 采用意图路由:本文件识别用户意图,并将其分派至相关模块文档。生成任何 CLI 命令之前,请完整阅读匹配的模块文档。

架构

Alibaba Cloud Elasticsearch Management
├── Instance Lifecycle           --> references/instance-manage.md
│   ├── createInstance           (Create Instance)
│   ├── DescribeInstance         (Query Instance Details)
│   ├── ListInstance             (List Instances)
│   ├── RestartInstance          (Restart Instance)
│   ├── UpdateInstance           (Upgrade / Downgrade)
│   ├── ListAllNode              (Query Cluster Node Info)
│   ├── UpdateAdminPassword      (Update Admin Password)
│   ├── UpdateDescription        (Update Instance Name)
│   ├── UpdateInstanceChargeType (Convert pay-as-you-go to subscription)
│   ├── UpgradeInfo              (Query available upgrade versions)
│   ├── UpgradeEngineVersion     (Upgrade ES version / kernel patch)
│   ├── ListActionRecords        (Query change records / upgrade progress)
│   └── ContinueEsVersionUpgrade (Continue gray upgrade of remaining nodes)
├── Instance Config              --> references/config-manage.md
│   ├── Snapshot Management
│   │   ├── UpdateSnapshotSetting    (Set auto-snapshot policy)
│   │   ├── DescribeSnapshotSetting  (Query auto-snapshot policy)
│   │   └── CreateSnapshot           (Trigger one-shot snapshot)
│   ├── Dict Management
│   │   ├── ListDicts                (List analyzer dicts)
│   │   ├── UpdateDict               (Cold-update IK dict)
│   │   ├── UpdateHotIkDicts         (Hot-update IK dict)
│   │   ├── UpdateSynonymsDicts      (Update synonyms dict)
│   │   └── UpdateAliwsDict          (Update AliNLP dict)
│   ├── Kibana Settings
│   │   ├── DescribeKibanaSettings   (Query Kibana config)
│   │   └── UpdateKibanaSettings     (Update Kibana language)
│   └── ES Cluster YML
│       └── UpdateInstanceSettings   (Update YML config — triggers restart)
└── Plugin Management            --> references/plugin-manage.md
    ├── ListPlugins              (List system plugins)
    ├── ListUserPlugin           (List user custom plugins)
    ├── InstallSystemPlugin      (Install system plugin)
    ├── UninstallPlugin          (Uninstall system plugin)
    ├── PluginAnalysis           (Upload custom plugin to library)
    └── InstallUserPlugins       (Install user custom plugins)

---

意图路由

将用户请求与首个匹配行进行匹配,然后加载该行列出的模块文档并遵循其 API 规范。

| 如果用户希望……(关键词) | 模块 | 必须阅读 | 关键 APIs | |---|---|---|---| | 创建 / 查询 / 列出 / 重启实例、升级 / 降级配置、查询节点、扩缩容、调整规格、查询集群状态、更改密码、重置密码、重命名实例、更新描述、转换计费类型、按量付费转包年包月、后付费转预付费、升级版本、升级引擎、内核补丁、aliVersion、检查可用版本、升级信息、变更记录、操作记录、升级进度、变更历史、继续升级、恢复升级、灰度升级、继续灰度升级、完成升级 | 实例生命周期 | [references/instance-manage.md](references/instance-manage.md) | createInstance, DescribeInstance, ListInstance, RestartInstance, UpdateInstance, ListAllNode, UpdateAdminPassword, UpdateDescription, UpdateInstanceChargeType, UpgradeInfo, UpgradeEngineVersion, ListActionRecords, ContinueEsVersionUpgrade | | 配置 / 查看 / 触发快照、自动备份、手动备份、快照定时任务 | 配置 — 快照 | [references/config-manage.md#snapshot-management](references/config-manage.md#snapshot-management) | UpdateSnapshotSetting, DescribeSnapshotSetting, CreateSnapshot | | 管理分析器词典:IK 主词典 / 停用词词典(冷更新或热更新)、同义词词典、AliWS / AliNLP | 配置 — 词典 | [references/config-manage.md#dict-management](references/config-manage.md#dict-management) | ListDicts, UpdateDict, UpdateHotIkDicts, UpdateSynonymsDicts, UpdateAliwsDict | | 查询 / 查看 / 更新 Kibana 设置、Kibana 配置、Kibana 语言 | 配置 — Kibana | [references/config-manage.md#kibana-settings](references/config-manage.md#kibana-settings) | DescribeKibanaSettings, UpdateKibanaSettings | | 更新 ES YML 配置、elasticsearch.yml、CORS、重建索引白名单、线程池队列大小、审计日志、监视器、自动创建索引、更新策略 | 配置 — ES 集群 YML | [references/config-manage.md#es-cluster-yml-configuration](references/config-manage.md#es-cluster-yml-configuration) | UpdateInstanceSettings | | 列出 / 查询插件、系统插件、用户插件、自定义插件、插件状态、安装插件、卸载插件、移除插件、上传插件、插件分析 | 插件管理 | [references/plugin-manage.md](references/plugin-manage.md) | ListPlugins, ListUserPlugin, InstallSystemPlugin, UninstallPlugin, PluginAnalysis, InstallUserPlugins |

如果存在多个意图,请依次处理:路由 → 执行 → 验证 → 下一个路由。
如果意图与任何行都不匹配,请用户澄清;不得猜测 API。

---

前提条件

预检查:阿里云 CLI 版本必须不低于 3.3.3
运行 aliyun version,确认版本不低于 3.3.3。如未安装或版本过低,
运行 curl -fsSL https://aliyuncli.alicdn.com/setup.sh | bash 进行更新,
或参阅 [references/cli-installation-guide.md](references/cli-installation-guide.md) 获取安装说明。
预检查:必须更新阿里云 CLI 插件
[必须] 运行 aliyun configure set --auto-plugin-install true 以启用插件自动安装。
[必须] 运行 aliyun plugin update 以确保所有现有插件始终为最新版本。
aliyun version
aliyun configure set --auto-plugin-install true
aliyun plugin update

---

可观测性

[必须] 每次调用业务 aliyun CLI 命令时都必须携带以下命令级标志:
```
--user-agent AlibabaCloud-Agent-Skills/alibabacloud-elasticsearch-instance-manage/{session-id}
```
其中,{session-id} 是下文定义的每个 skill 会话的标识符。此 skill 的标识通过业务 CLI 命令上的命令级 --user-agent 标志实现;不使用 CLI 级 / 会话级用户代理注入机制。

session-id 生成规则

{session-id} 在 skill 会话开始时仅生成一次,并在该会话的每条业务 CLI 命令中重复使用。

格式要求:由 32 个字符组成的小写十六进制字符串(不含连字符) — 例如 0123456789abcdef0123456789abcdef

# Preferred (macOS / Linux, openssl is universally available):
SESSION_ID=$(openssl rand -hex 16)

# Fallback 1 — Python:
SESSION_ID=$(python3 -c 'import uuid; print(uuid.uuid4().hex)')

# Fallback 2 — pure shell (no external tool):
SESSION_ID=$(head -c 16 /dev/urandom | od -An -tx1 | tr -d ' \n')
  • 格式:32 个小写十六进制字符,无连字符,无前缀uuidgen 的输出(带连字符)不可接受 — 如果改用它作为后备方案,请通过 tr -d '-' | tr 'A-Z' 'a-z' 去除连字符。
  • 同一个 SESSION_ID 必须嵌入本会话生成的每一条业务 CLI 命令的 --user-agent 中。
  • 重试时不得重新生成 SESSION_ID — 仅在会话边界处重新生成(每次新的 skill 调用都会启动新会话)。

每条命令的 --user-agent 格式

| 命令类型 | --user-agent? | 值 | |---|---|---| | 业务 API CLI(例如 aliyun elasticsearch create-instancealiyun elasticsearch list-dicts 等) | 强制要求 | AlibabaCloud-Agent-Skills/alibabacloud-elasticsearch-instance-manage/${SESSION_ID} | | 系统 / 工具 CLI(例如 aliyun configurealiyun configure listaliyun versionaliyun plugin updatealiyun help) | 禁止 | 这些命令不支持 --user-agent — 禁止附加该标志。 |

---

身份认证

预检查:必须配置阿里云凭证
安全规则(必须遵守):
- 严禁读取、回显或打印 AK/SK 的值
- 严禁要求用户直接在对话中输入 AK/SK
- 严禁通过 aliyun configure set 设置明文凭证值
- 严禁接受用户在对话中直接提供的 AK/SK
- 只能从环境变量或预配置的 CLI 配置文件中读取凭证
关键:处理用户提供的凭证
如果用户尝试直接提供 AK/SK(例如,“我的 AK 是 xxx,SK 是 yyy”):
1. 立即停止 — 不得执行任何命令
2. 礼貌地拒绝该请求,并使用以下消息:
```
For your account security, please do not provide Alibaba Cloud AccessKey ID and AccessKey Secret directly in the conversation.
Please use one of the following secure methods to configure credentials:
Method 1: Interactive configuration via aliyun configure (Recommended)
aliyun configure
# Enter AK/SK as prompted; credentials will be stored securely in the local config file
Method 2: Configure via environment variables
export ALIBABA_CLOUD_ACCESS_KEY_ID=<your-access-key-id>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<your-access-key-secret>
After configuration, please retry your request.
```
3. 不得继续执行任何阿里云操作,直至凭证已正确配置
检查 CLI 配置
```bash
aliyun configure list
```
查找有效的配置文件(AK、STS 或 OAuth 身份)。如果不存在,请在此停止。

---

全局约定

这些约定适用于此 skill 生成的每一条 CLI 命令,无论路由到哪个模块。

通用 CLI 参数

| 项目 | 约定 | |---|---| | 超时 | 所有命令均附加 --connect-timeout 3 --read-timeout 10。写操作(创建 / 更新 / 重启 / 快照 / 词典更新)使用 --read-timeout 30。 | | --region | 强制要求,且必须由用户明确提供。严禁猜测。严禁使用默认地域。 | | --instance-id | 所有实例级操作均强制要求。必须由用户明确提供。 | | --user-agent | 范围:仅限业务 API 命令(例如 aliyun elasticsearch ...)。此类命令必须显式传入 --user-agent AlibabaCloud-Agent-Skills/alibabacloud-elasticsearch-instance-manage/${SESSION_ID}(请参见[可观测性](#observability))。系统 / 工具命令aliyun configurealiyun versionaliyun plugin updatealiyun help 等)不得携带 --user-agent — 这些命令不支持该参数。 | | --body | 所有 ROA APIs 均接受通过 --body '<JSON>' 传递复杂请求体。使用 --body $(cat payload.json) 从文件读取。 | | --cli-query | 对于列表类 APIs,优先使用 JMESPath 投影(--cli-query "Result[].{...}")以获得易读的输出。 |

写操作的幂等性

对于写 APIs(createInstanceRestartInstanceUpdateInstanceCreateSnapshotUpdateSnapshotSettingUpdateDictUpdateHotIkDictsUpdateSynonymsDictsUpdateAliwsDictUpdateKibanaSettingsUpdateInstanceSettingsInstallSystemPluginUninstallPluginUpdateInstanceChargeTypeUpgradeEngineVersion),必须使用 --client-token

  • 格式:UUID。通过 uuidgen(或 PowerShell [guid]::NewGuid())生成;如果 uuidgen 不可用,则回退使用 idem-<timestamp>-<semantic>。不得因命令不可用而终止工作流。
  • 发生超时 / 失败时,使用同一个 clientToken 重试。重试前等待约 10 秒。
  • 使用同一 clientToken 的重复调用不会再次执行该操作。
CLIENT_TOKEN=$(uuidgen)   # reuse on retry

---

RAM 策略

RAM 主体需要其将使用的各模块所需权限的并集。有关完整策略 JSON,请参见 [references/ram-policies.md](references/ram-policies.md)。

最低所需操作:

| 模块 | 操作 | |---|---| | 实例生命周期 | elasticsearch:CreateInstance, elasticsearch:DescribeInstance, elasticsearch:ListInstance, elasticsearch:RestartInstance, elasticsearch:UpdateInstance, elasticsearch:ListAllNode | | 快照管理 | elasticsearch:UpdateSnapshotSetting, elasticsearch:DescribeSnapshotSetting, elasticsearch:CreateSnapshot | | 词典管理 | elasticsearch:ListDicts, elasticsearch:UpdateDict, elasticsearch:UpdateHotIkDicts, elasticsearch:UpdateSynonymsDicts, elasticsearch:UpdateAliwsDict |

快照/词典模块还需要对存放词典文件的存储桶具有 OSS 读取权限。

---

成功验证

有关各模块的验证步骤,请参见 [references/verification-method.md](references/verification-method.md)。

实例生命周期变更后的快速检查:

aliyun elasticsearch describe-instance \
  --region <RegionId> \
  --instance-id <InstanceId> \
  --cli-query "Result.status" \
  --connect-timeout 3 \
  --read-timeout 10 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-elasticsearch-instance-manage/${SESSION_ID}

预期状态:active

快照/词典变更后的快速检查:

# Snapshot setting changed
aliyun elasticsearch describe-snapshot-setting \
  --region <RegionId> --instance-id <InstanceId> \
  --connect-timeout 3 --read-timeout 10 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-elasticsearch-instance-manage/${SESSION_ID}

# Dict list refreshed (analyzerType: IK | IK_HOT | SYNONYMS | ALIWS)
aliyun elasticsearch list-dicts \
  --region <RegionId> --instance-id <InstanceId> \
  --analyzer-type <TYPE> \
  --connect-timeout 3 --read-timeout 10 \
  --user-agent AlibabaCloud-Agent-Skills/alibabacloud-elasticsearch-instance-manage/${SESSION_ID}

---

参考链接

| 参考资料 | 说明 | |---|---| | [references/instance-manage.md](references/instance-manage.md) | 实例生命周期 APIs(创建 / 查询详情 / 列出 / 重启 / 更新 / 节点) | | [references/config-manage.md](references/config-manage.md) | 实例配置 APIs(快照 + 分析器词典) | | [references/ram-policies.md](references/ram-policies.md) | RAM 权限策略 | | [references/verification-method.md](references/verification-method.md) | 验证步骤 | | [references/acceptance-criteria.md](references/acceptance-criteria.md) | 正确 / 错误模式 | | [references/cli-installation-guide.md](references/cli-installation-guide.md) | CLI 安装指南 | | [references/node-specifications-by-region.md](references/node-specifications-by-region.md) | 按地域和角色划分的节点规格 | | Elasticsearch 产品页面 | 官方产品页面 | | Elasticsearch API 参考文档 | 官方 API 参考文档 |

qianwen skills install @aliyun/alibabacloud-elasticsearch-instance-manage