返回 Skill 列表
extension
分类: 开发与工程需要 API Key

Alicloud Database RDS Custom

查询阿里云自定义实例(RC 实例)。使用 aliyun CLI 调用 DescribeRCInstances API 查询 RDS 相关自定义实例。当用户需要查询 RC 实例、RDS 自定义实例或云资源时触发此技能。

person作者: chucklonghubclawhub

查询自定义实例(RC Instances)

概述

本技能提供阿里云 RC(RDS Custom)实例全生命周期查询能力,通过 aliyun CLI 调用 RDS API 获取实例及相关资源信息。适用于查询 RC 实例、监控指标、资源配置等场景。

核心能力

支持的查询命令

| 命令 | 功能 | 状态 | |------|------|------| | DescribeRCInstances | 查询 RC 实例列表 | ✅ | | DescribeRCInstanceAttribute | 查询单个实例详细信息 | ✅ | | DescribeRCImageList | 查询可用镜像列表 | ✅ | | DescribeRCDisks | 查询磁盘列表 | ✅ | | DescribeRCSnapshots | 查询快照列表 | ✅ | | DescribeRCMetricList | 查询监控指标(CPU、内存等) | ✅ | | DescribeRCClusterConfig | 查询 ACK 集群 KubeConfig | ✅ | | DescribeRCNodePool | 查询边缘节点池配置 | ✅ | | DescribeRCInstanceVncUrl | 查询 VNC 登录地址 | ✅ |

暂不支持的命令

以下命令在 Java SDK 中存在,但在 aliyun CLI v3.2.13 中暂不支持:

| 命令 | 功能 | 替代方案 | |------|------|----------| | DescribeRCCloudAssistantStatus | 查询云助手状态 | SSH 登录实例检查 | | DescribeRCNetworkInterfaces | 查询网络接口信息 | 使用 DescribeRCInstanceAttribute | | DescribeRCInstanceHistoryEvents | 查询历史事件 | 使用控制台查看 |

特性

  • 多地域支持:支持指定地域查询,默认 cn-beijing
  • 格式化输出:支持 JSON、表格等多种输出格式
  • jq 过滤:提供丰富的 jq 数据提取示例
  • 监控查询:支持 CPU、内存、磁盘等监控指标查询

使用方式

基本查询

aliyun rds DescribeRCInstances --region cn-beijing

指定地域

aliyun rds DescribeRCInstances --region cn-hangzhou

格式化输出(表格)

aliyun rds DescribeRCInstances --region cn-beijing --output cols=InstanceId,InstanceName,Status,RegionId,Cpu,Memory

查询特定实例

aliyun rds DescribeRCInstances --region cn-beijing --InstanceId rc-xxx

使用 jq 过滤

# 只查询运行中的实例
aliyun rds DescribeRCInstances --region cn-beijing | jq '.RCInstances[] | select(.Status == "Running")'

# 提取关键字段
aliyun rds DescribeRCInstances --region cn-beijing | jq '.RCInstances[] | {InstanceId, InstanceName, Status, Cpu, Memory}'

脚本使用

查询 RC 实例脚本

cd /path/to/skill/scripts
./query_rc_instances.sh [地域]

示例输出

$ ./query_rc_instances.sh cn-beijing

=== RC 实例列表 (cn-beijing) ===

实例 ID: rc-xxxxxxxxxxxxx
实例名称:rc-xxxxxxxxxxxxx
集群名称:RCC-xxxxxxxxxxxxxxx
状态:Running
CPU: 4 核
内存:32 GB
地域:cn-beijing
可用区:cn-beijing-x
私网 IP: 10.x.x.xxx
VPC: vpc-xxxxxxxxxxxxxxxxx
创建时间:2026-01-20 18:45:50
到期时间:2026-04-20T16:00:00Z

总计:1 台实例

前置条件

1. 安装 aliyun CLI

# 一键安装
/bin/bash -c "$(curl -fsSL https://aliyuncli.alicdn.com/install.sh)"

2. 配置凭证

aliyun configure

需要输入:

  • AccessKey ID
  • AccessKey Secret
  • 默认地域(如:cn-beijing)
  • 输出格式(json)
  • 语言(zh)

3. 验证配置

aliyun version
aliyun rds DescribeRCInstances --region cn-beijing

常用命令参考

| 命令 | 说明 | |------|------| | aliyun rds DescribeRCInstances | 查询 RC 实例列表 | | aliyun rds DescribeRCInstanceAttribute | 查询单个 RC 实例详细信息 | | aliyun rds DescribeRCImageList | 查询 RC 实例可用镜像列表 | | aliyun rds DescribeRCNetworkInterfaces | 查询 RC 实例网络接口信息 | | aliyun rds DescribeRCDeploymentSets | 查询 RC 实例部署集列表 | | aliyun rds DescribeRCDisks | 查询 RC 实例磁盘列表 | | aliyun rds DescribeRCSnapshots | 查询 RC 实例快照列表 | | aliyun rds DescribeRCInstanceHistoryEvents | 查询 RC 实例历史事件 | | aliyun rds DescribeRCCloudAssistantStatus | 查询 RC 实例云助手状态 | | aliyun rds DescribeRCMetricList | 查询 RC 实例监控指标(CPU、内存等) |

查询实例详细信息

基本查询

aliyun rds DescribeRCInstanceAttribute \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID>

指定实例名称

aliyun rds DescribeRCInstanceAttribute \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  --InstanceName rc-<INSTANCE_ID>

格式化输出

aliyun rds DescribeRCInstanceAttribute \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  --output cols=InstanceId,InstanceName,Status,Cpu,Memory,RegionId,ZoneId

使用 jq 提取字段

# 提取基本信息
aliyun rds DescribeRCInstanceAttribute \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.RCInstances[0] | {InstanceId, InstanceName, Status, Cpu, Memory}'

# 提取网络信息
aliyun rds DescribeRCInstanceAttribute \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.RCInstances[0].VpcAttributes | {VpcId, VSwitchId, PrivateIpAddress}'

查询可用镜像列表

基本查询

aliyun rds DescribeRCImageList \
  --region cn-beijing

指定实例类型查询

aliyun rds DescribeRCImageList \
  --region cn-beijing \
  --InstanceType mysql.x2.xlarge.6cm

格式化输出

aliyun rds DescribeRCImageList \
  --region cn-beijing \
  --output cols=ImageId,ImageName,OSType,OSName

使用 jq 过滤

# 提取镜像基本信息
aliyun rds DescribeRCImageList \
  --region cn-beijing \
  | jq '.Images[] | {ImageId, ImageName, OSType}'

# 查询 Alibaba Cloud Linux 镜像
aliyun rds DescribeRCImageList \
  --region cn-beijing \
  | jq '.Images[] | select(.OSName | contains("Alibaba Cloud Linux"))'

# 统计镜像数量
aliyun rds DescribeRCImageList \
  --region cn-beijing \
  | jq '.Images | length'

输出字段说明

| 字段 | 说明 | |------|------| | ImageId | 镜像 ID | | ImageName | 镜像名称 | | OSType | 操作系统类型(linux/windows) | | OSName | 操作系统名称 | | ImageVersion | 镜像版本 |

查询磁盘列表

基本查询

aliyun rds DescribeRCDisks \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID>

按地域查询

aliyun rds DescribeRCDisks \
  --region cn-beijing

格式化输出

aliyun rds DescribeRCDisks \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  --output cols=DiskId,DiskName,Size,Category,Status

使用 jq 提取字段

# 提取磁盘基本信息
aliyun rds DescribeRCDisks \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.Disks[] | {DiskId, DiskName, Size, Category}'

# 查询系统盘和数据盘
aliyun rds DescribeRCDisks \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.Disks[] | select(.Type == "system")'

# 统计磁盘总容量
aliyun rds DescribeRCDisks \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '[.Disks[].Size | tonumber] | add'

# 统计磁盘数量
aliyun rds DescribeRCDisks \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.Disks | length'

输出字段说明

| 字段 | 说明 | |------|------| | DiskId | 磁盘 ID | | DiskName | 磁盘名称 | | Size | 磁盘容量(GB) | | Category | 磁盘种类(cloud_essd/cloud_ssd 等) | | Status | 磁盘状态(In_Use/Available) | | Type | 磁盘类型(system/data) | | Device | 设备名(/dev/vda 等) | | Encrypted | 是否加密 |

查询快照列表

基本查询

aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID>

按地域查询

aliyun rds DescribeRCSnapshots \
  --region cn-beijing

指定磁盘 ID 查询

aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --DiskId d-c5kyo15381wht249k498

格式化输出

aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  --output cols=SnapshotId,SnapshotName,Size,Status,CreationTime

使用 jq 提取字段

# 提取快照基本信息
aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.Snapshots[] | {SnapshotId, SnapshotName, Size, Status}'

# 查询成功状态的快照
aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.Snapshots[] | select(.Status == "success")'

# 统计快照总数量
aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '.Snapshots | length'

# 统计快照总容量
aliyun rds DescribeRCSnapshots \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  | jq '[.Snapshots[].Size | tonumber] | add'

输出字段说明

| 字段 | 说明 | |------|------| | SnapshotId | 快照 ID | | SnapshotName | 快照名称 | | Size | 快照容量(GB) | | Status | 快照状态(success/failed/progressing) | | CreationTime | 创建时间 | | SourceDiskId | 源磁盘 ID | | SourceInstanceId | 源实例 ID | | Progress | 快照进度(百分比) | | RetentionDays | 保留天数 |

监控指标查询

查询 CPU 使用率

aliyun rds DescribeRCMetricList \
  --region cn-beijing \
  --InstanceId rc-xxx \
  --MetricName CPUUtilization \
  --StartTime "2026-03-12 10:05:00" \
  --EndTime "2026-03-12 10:15:00" \
  --Period 60 \
  --Length 1000

查询内存使用率

aliyun rds DescribeRCMetricList \
  --region cn-beijing \
  --InstanceId rc-xxx \
  --MetricName MemoryUtilization \
  --StartTime "2026-03-12 10:05:00" \
  --EndTime "2026-03-12 10:15:00" \
  --Period 60

常用指标名称

| 指标名 | 说明 | |--------|------| | CPUUtilization | CPU 使用率 (%) | | MemoryUtilization | 内存使用率 (%) | | DiskUtilization | 磁盘使用率 (%) | | IOPS | 每秒 IO 操作数 | | ConnectionUsage | 连接数使用率 |

参数说明

| 参数 | 必填 | 说明 | |------|------|------| | InstanceId | 是 | RC 实例 ID | | MetricName | 是 | 指标名称 | | StartTime | 是 | 开始时间,格式 YYYY-MM-DD HH:mm:ss | | EndTime | 是 | 结束时间,格式 YYYY-MM-DD HH:mm:ss | | Period | 否 | 采集周期(秒),默认 60 | | Length | 否 | 返回数据点数,默认 1000 |

示例:查询最近 1 小时 CPU

# 计算 1 小时前的时间
START=$(date -d "1 hour ago" "+%Y-%m-%d %H:%M:%S")
END=$(date "+%Y-%m-%d %H:%M:%S")

aliyun rds DescribeRCMetricList \
  --region cn-beijing \
  --InstanceId rc-<INSTANCE_ID> \
  --MetricName CPUUtilization \
  --StartTime "$START" \
  --EndTime "$END" \
  --Period 300

使用 jq 提取数据

# 提取 CPU 使用率数据点
aliyun rds DescribeRCMetricList \
  --region cn-beijing \
  --InstanceId rc-xxx \
  --MetricName CPUUtilization \
  --StartTime "2026-03-12 10:05:00" \
  --EndTime "2026-03-12 10:15:00" \
  | jq '.Data[] | {Timestamp, Value}'

# 计算平均 CPU 使用率
aliyun rds DescribeRCMetricList \
  --region cn-beijing \
  --InstanceId rc-xxx \
  --MetricName CPUUtilization \
  --StartTime "2026-03-12 10:05:00" \
  --EndTime "2026-03-12 10:15:00" \
  | jq '[.Data[].Value | tonumber] | add / length'

输出字段说明

| 字段 | 说明 | |------|------| | InstanceId | 实例 ID | | InstanceName | 实例名称 | | ClusterName | 集群名称 | | Status | 运行状态(Running/Stopped 等) | | Cpu | CPU 核数 | | Memory | 内存大小(MB) | | RegionId | 地域 ID | | ZoneId | 可用区 ID | | VpcId | VPC ID | | PrivateIpAddress | 私网 IP | | InstanceChargeType | 计费类型(PrePaid/PostPaid) | | ExpiredTime | 到期时间 | | GmtCreated | 创建时间 |

常见问题

1. 权限错误

ERROR: InvalidAccessKeyId.NotFound

解决: 检查 aliyun configure 配置的 AccessKey 是否正确

2. 地域错误

ERROR: InvalidRegionId.NotFound

解决: 使用有效的地域 ID,如 cn-beijingcn-hangzhoucn-shanghai

3. CLI 未安装

bash: aliyun: command not found

解决: 参考前置条件安装 aliyun CLI

4. 返回空列表

{"RCInstances": [], "TotalCount": 0}

解决:

  • 检查地域是否正确
  • 确认当前账号下是否有 RC 实例
  • 尝试其他地域查询

参考资料