SuperAPI AI 工具集

alibabacloud-cen-redundancy-route-check

部署与运维

查看项目

更新于 10-27 07:46

技能介绍

用途

本技能用于对阿里云 CEN 专线下云/ VPN 下行方向(VPC/CEN → IDC)的路由冗余进行只读审计。它检查主动/备选路径或等价路径是否具备完整配置证据,并报告缺失路径、Route Map 影响、冲突路由和未覆盖范围。

参考架构:IDC → 物理专线 / VPN → VBR / VPN Attachment → CEN 转发路由器 → VPC。

支持场景:双 VBR 等价(ECMP)负载均衡、双 VBR 主备、VBR + VPN 主备、CEN 1.0 区域路由与 CEN 2.0 TR 系统/自定义路由表、同地域与跨地域 VPC 下行路径。

主要能力与限制

技能只读取配置和状态,不执行故障切换,不修改路由;配置检查不替代真实切换演练。查询需完整遍历分页并按资源 ID 去重,空结果也需作为证据记录。按地域分别判定 CEN 2.0(存在企业版 TR)或 CEN 1.0(仅有基础版 TR 或无 TR)工作流,不能对整个 CEN 统一判定。

安装与环境准备

技能要求先检测并引导安装 Aliyun CLI:若本机无 aliyun 命令,在 macOS/Linux 上自动执行官方安装脚本,并要求版本不低于 3.3.3;低于该版本需重新运行官方脚本,CLI ≥ 3.3.5 的常规升级优先使用 aliyun upgrade。Windows 需停止并引导用户使用官方安装器,技能不提供自行发明的安装命令。安装引导只改本地工具环境,不配置凭证、不改云资源。

随后需启用插件自动安装并更新插件:

aliyun configure set --auto-plugin-install true aliyun plugin update

若所需插件仍不可用,运行:

aliyun plugin install --names aliyun-cli-cbn aliyun-cli-vpc

并验证两个插件,安装失败须停止。

环境变量与认证

技能不要求环境变量,且不得通过环境变量传递 AK/SK。文档中 $CEN_ID、$VBR_ID、$REGION_ID、$IDC_CIDR、$TRANSIT_ROUTER_ID、$VPC_ID、$VPC_ROUTE_TABLE_ID 等仅为占位符,执行时须替换为字面值,不得导出为 shell 变量。禁止读取、回显或打印 AK/SK,禁止在对话或命令行中要求用户直接输入凭证,禁止用 aliyun configure set 写入字面凭证值;仅用 aliyun configure list 检查凭证状态,无有效 profile(AK、STS 或 OAuth 身份)时停止,由用户在会话外通过 aliyun configure 或 shell profile 配置后重试。

权限方面,最小只读 Action 见 references/ram-policies.md;可按组织策略评估 AliyunCENReadOnlyAccess 与 AliyunVPCReadOnlyAccess。遇到权限错误时,读取该文件获取完整权限列表,使用 ram-permission-diagnose 技能引导申请,并暂停等待用户确认授权。

参数确认

参数包括:CEN_ID(条件必填,与 VBR_ID 至少提供一个)、VBR_ID(条件必填)、REGION_ID(必填,跨地域需确认所有相关地域)、IDC_CIDR(必填,可多个)、VPN_ATTACHMENT_ID(可选,用于 VBR+VPN 模式)、EXPECTED_MODE(必填,取 dual-vbr-ecmp、dual-vbr-active-standby 或 vbr-vpn-active-standby)、PROFILE(可选,当前 profile 仍需确认)。所有用户可自定义参数在执行前须与用户确认,不足参数一次性询问;若无法获得回复(如非交互运行),按只读流程继续,使用由 CEN/VBR 拓扑推导的地域,将下一跳为 VBR 或 VPN 的前缀视为候选 IDC CIDR,按前缀报告观察到的冗余模式,并在报告“待确认参数”中列出未确认项。仅提供 VBR ID 时,在用户确认范围内枚举 CEN 实例,通过挂载的子实例定位所属 CEN,不得盲目跨账号或跨地域扫描。

可观测性要求

调用云 API 前,须从技能根目录 references/manifest.json 读取顶层非空字符串 version 作为 skill-version;文件缺失、无效或字段异常须停止报错。每个会话首次调用云 API 前生成新的 32 位小写十六进制 session ID,并在本技能内复用,不同技能不得复用。每条调用云 API 的 aliyun 命令都必须附带:

--user-agent "AlibabaCloud-Agent-Skills/alibabacloud-cen-redundancy-route-check/{session-id} skill-version/{skill-version}"

本地工具命令(configure、plugin、version 等)不支持该标志,应排除。脚本/Terraform 执行时需以环境变量注入两个值;Terraform provider 需设置 configuration_source 为对应产品串,其中 ${var.session_id} 与 ${var.skill_version} 为 Terraform 插值。

核心工作流

每条云 API 调用须为单条独立 aliyun 命令、参数写字面值,禁止用 shell 变量、循环、函数、xargs、脚本、heredoc、命令替换或 &&/; 串联批量调用;可将单条输出管道给本地 JSON 查看器。不得跳过检查清单步骤,空结果同样记录为证据;不得执行交互式命令;NextToken 为空或重复时停止分页。

CEN 2.0 地域(存在企业版 TR)依次执行:describe-cens(按 CenId 过滤)、describe-cen-attached-child-instances、list-transit-routers,以及 list-transit-router-peer-attachments、-vpc-attachments、-vbr-attachments、-vpn-attachments 四项全部查询,再执行 list-transit-router-route-tables、对每个路由表执行 list-transit-router-route-entries,随后对范围内每个 VPC 执行 vpc describe-route-table-list,对每个 VPC 路由表 × 每个 IDC CIDR 执行 describe-route-entry-list,最后执行 describe-cen-route-maps 与 describe-route-conflict(每个 VPC 路由表 × 每个 IDC CIDR)。

CEN 1.0 地域(仅有基础版 TR 或无 TR)只执行步骤 1–3,然后执行 cbn describe-cen-region-domain-route-entries(--cen-id、--cen-region-id),再对该地域挂载到 CEN 的每个 VPC 子实例执行步骤 10–13;禁止对 CEN 1.0 地域或其基础版 TR 执行任何 list-transit-router-* 查询。若无范围内 VPC,须将步骤 10、11、13 报告为“不适用:检查地域内无挂载 VPC”,不得静默省略。

拓扑确认时按 TR 的 RegionId 分组并记录 Type,按地域判定版本;其他地域的 TR 不会切换目标地域工作流,仅在 Peer Attachment 连接目标地域时跟进。关键查询失败或范围不完整时,将该地域版本标记为“无法确认”;TR Type 缺失或无法识别同样标记“无法确认”。

枚举 CEN 2.0 附件时继续拉取 NextToken 直至为空,记录附件状态、资源 ID、TR ID、地域与对端信息;对每个 Peer Attachment 记录对端地域、对端 TR ID 与 AutoPublishRouteEnabled,需对等 TR 也执行步骤 8–9 判断 IDC CIDR 是否到达对端地域;未到达时报告“IDC CIDR 未传播”,不得省略。

检查 TR 路由表时遍历系统与自定义路由表,过滤 IDC_CIDR 及其更具体前缀,记录路由状态、类型、来源、下一跳附件、下一跳资源类型与资源 ID,不得遗漏 Rejected、Prohibited、Standby 或 Candidate 路由。

检查 VPC 路由时,对每个 VPC Attachment 的 VPC 与地域执行 describe-route-table-list,并对每个路由表以每个 IDC_CIDR 字面值传 --destination-cidr-block 查询路由条目;CEN 1.0 地域中检查的 VPC 为该地域 describe-cen-attached-child-instances 返回的 VPC 子实例。

适用场景

适用于阿里云 CEN 专线或 VPN 下云路由冗余配置的只读核查与报告,覆盖同地域/跨地域 VPC 下行路径、双 VBR ECMP、双 VBR 主备与 VBR+VPN 主备等模式。不适用于实际故障切换执行、路由变更或替代真实切换演练。

未提供的信息

资料未说明该技能的收费、价格、具体输出报告格式、支持的 Aliyun CLI 之外的运行平台细节以及性能指标,这些内容暂未提供。