configuring-vpc-endpoints-for-private-aws-service-access – 私有 AWS 服务 VPC 终端节点配置 Skill

3周前更新 8 0 0 0

用于指导 AI Agent 为私有 AWS 服务配置 VPC 终端节点的 Skill,帮助在不经过公网的情况下建立私有连接,适合需要安全访问 AWS 私有服务的网络配置场景。

Skill 安装

多 Agent 安装
npx skills add https://github.com/aws/agent-toolkit-for-aws --skill configuring-vpc-endpoints-for-private-aws-service-access

使用 npx skills 快速安装,支持将 Skill 添加到多个兼容的 AI Agent。

Skill 调研报告

Skill 详细介绍

aws/agent-toolkit-for-aws#configuring-vpc-endpoints-for-private-aws-service-access 是 AWS 官方 agent-toolkit-for-aws 仓库中的一个 Skill,用于指导 AI Agent 帮助用户在 Amazon VPC 中正确创建、配置和使用 VPC Endpoint(VPC 终端节点),从而让私有子网中的资源无需经过 NAT 网关、互联网网关或 VPN 即可访问 AWS 服务。

它本身不是可独立运行的程序,也不是 AWS CLI 的替代品。它是一套面向 AI Agent 的指令与知识集合,让 Agent 在处理“如何在不暴露公网的前提下访问 S3、DynamoDB、ECR、SQS、KMS、Secrets Manager 等 AWS 服务”这类任务时,能够给出符合 AWS 官方推荐实践的配置方案。

核心用途

  • 区分 Interface Endpoint 与 Gateway Endpoint,并根据目标服务选择正确的类型
  • 生成创建 VPC Endpoint 所需的配置步骤:VPC 选择、子网选择、安全组、Endpoint Policy、私有 DNS
  • 解释私有 DNS 在 Interface Endpoint 中的作用与启用条件
  • 针对 S3、DynamoDB 这类 Gateway Endpoint,说明如何通过路由表关联
  • 协助排查“私有子网内实例无法访问 AWS 服务”“Endpoint 创建后仍然走公网”“Endpoint Policy 过宽或过窄”等问题

它不是什么

  • 不是托管服务,不会自动在用户的 AWS 账号中执行变更
  • 不是一个从零构建 VPC 的通用网络方案
  • 不替代 AWS 官方文档和 IAM / VPC 的最终判断

典型任务

  1. 为私有子网中的 EC2 / ECS / Lambda 配置访问 S3 的 Gateway Endpoint
  2. 为访问 ECR、Secrets Manager、SSM、KMS 配置对应的 Interface Endpoint
  3. 编写或审查 Endpoint Policy,限制可从 Endpoint 访问的资源范围
  4. 判断某个服务是否支持 VPC Endpoint,以及支持哪种类型
  5. 解释私有 DNS 生效条件、常见失效原因

适合哪些用户

  • 负责 AWS 网络、安全、平台的工程师
  • 需要让私有子网资源以“不经过公网”的方式访问 AWS 服务的团队
  • 正在做合规、数据不出网、最小暴露面相关工作的开发者

不适合哪些需求

  • 需要跨账号或跨 Region 的复杂 PrivateLink 架构设计(该 Skill 侧重单一 VPC 内的 Endpoint 配置指导)
  • 需要 Agent 直接登录 AWS 控制台或代用户执行实际变更(是否执行取决于用户的 Agent 权限设置)
  • 需要全球网络、SD-WAN、非 AWS 服务的私有连接

Skill 安全评估

该 Skill 来自 AWS 官方 GitHub 组织下的 agent-toolkit-for-aws 仓库,来源可信度较高。它属于“指令 / 知识型” Skill,本身不包含常驻进程,也不内置任何向第三方上传数据的能力。

主要风险点

  1. Agent 的 Shell 与 AWS 凭证权限:如果 Agent 被授予运行 aws CLI 的权限,并且环境中已经配置了可写 AWS 凭证,那么由 Agent 生成的 Endpoint 创建命令可能会在用户账号中真实执行,包括创建、修改、删除 VPC Endpoint。安全与否主要取决于用户对 Agent 执行权限的控制。
  2. Endpoint Policy 误配:Endpoint Policy 过于宽松(例如 Principal: 且 Action: )会削弱私有访问的隔离效果。建议让 Agent 生成策略后由人工审阅,再决定是否应用。
  3. 私有 DNS 变更:启用私有 DNS 会影响 VPC 内对应服务的解析行为。若与自建 DNS、解析器端点冲突,可能影响既有业务。执行前应在测试 VPC 验证。
  4. 文件读取范围:若用户让 Agent 读取本地的 Terraform、CloudFormation、cdk 源码,Skill 可能引导 Agent 修改这些文件。建议在版本控制下操作,避免直接修改生产配置文件。
  5. 凭证与敏感信息:Skill 不会主动收集凭证,但对话中如果粘贴了 AWS Access Key、Secret、Session Token,会进入 Agent 的上下文。应避免在 Prompt 中放入长期凭证,改用临时凭证或 SSO。

降低风险的建议

  • 仅在需要真实执行时,才给 Agent 打开 Shell 权限;否则让 Agent 只输出方案和命令,由人工执行
  • 使用只具备必要权限的 IAM 角色,避免使用账号根用户或 AdministratorAccess
  • 创建 Endpoint 前先在非生产 VPC 验证私有 DNS 与路由影响
  • Endpoint Policy 一律由人工复核后再提交
  • 不要在 Prompt 中粘贴长期 AWS 凭证

Skill 使用要求

一、Agent / 客户端

该 Skill 属于 AWS 官方 agent-toolkit-for-aws 项目的一部分,官方主要面向支持 Skills 机制的 AI Agent。是否能在某个具体 Agent 中直接使用,取决于该 Agent 是否支持加载这种以文件方式组织的 Skill。

  • Claude Code 这类原生支持 Skills 目录机制的 Agent,安装与触发通常最直接
  • Codex、Cursor、Trae、OpenClaw、WorkBuddy 等支持自定义指令、规则文件或 Skill 加载机制的 Agent,通常也可以尝试接入,但加载方式、触发条件、上下文长度上限可能不同
  • 官方未公布完整的第三方 Agent 兼容列表,具体以各 Agent 当前版本的 Skill 支持情况为准

二、运行环境 / 依赖

项目 要求
Agent 支持 Skills 或自定义指令机制的 Agent
AWS CLI 如果希望 Agent 真正执行创建/查询命令,需要本地安装并配置好凭证;如果只让 Agent 生成方案,则不是必需
AWS 账号权限 执行变更时需要具备 ec2:CreateVpcEndpoint、ec2:DescribeVpcEndpoints、ec2:ModifyVpcEndpoint 等相关权限
网络 访问 GitHub 获取 Skill 文件时需要网络

三、权限

  • 文件读取:读 Skill 定义、读用户的 Terraform / CloudFormation / 脚本文件(可选)
  • 文件写入:如果让 Agent 直接改基础设施代码,需要写权限(可选)
  • Shell:运行 aws 命令时需要(可选,视工作方式而定)
  • 网络:查询 AWS 文档、调用 AWS API 时需要

四、账号 / API Key

Skill 本身不需要账号,也不要求单独申请 API Key。是否用到 AWS 凭证,取决于用户希望 Agent 停在“给方案”还是走到“执行变更”这一步。前者无需凭证,后者需要配置好 AWS CLI 凭证或 SSO 会话。

最小使用条件

  1. 一个可加载 Skill 的 AI Agent
  2. 能够访问 GitHub 或通过本站安装指令获取该 Skill
  3. 明确目标是“生成方案”还是“真实执行”
  4. 若真实执行,准备好具备必要权限的 AWS 凭证

Skill 安装、使用与卸载教程

一、安装

可以直接复制本页面提供的 Skill 安装指令,粘贴到对应 Agent 或终端中执行。该 Skill 属于 agent-toolkit-for-aws 仓库中的一部分,安装时通常需要按仓库的目录结构一并获取。

如果不确定自己的 Agent 采用哪种 Skill 加载方式,可以直接询问当前 Agent:

如何安装 aws/agent-toolkit-for-aws#configuring-vpc-endpoints-for-private-aws-service-access?

如何在 Claude Code 中安装 aws/agent-toolkit-for-aws#configuring-vpc-endpoints-for-private-aws-service-access?

如何在 Cursor 中安装 aws/agent-toolkit-for-aws#configuring-vpc-endpoints-for-private-aws-service-access?

让 Agent 根据自身 Skill 加载机制给出准确的落盘位置和加载方式。

二、安装后如何使用

安装并加载成功后,在对话中直接描述你希望解决的问题即可。Agent 会依据该 Skill 的指令,按 VPC Endpoint 的官方推荐流程组织回答。

适合交给它的任务类型:

  • 为私有子网设计到某个 AWS 服务的私有访问方案
  • 生成创建 Gateway / Interface Endpoint 的具体步骤或 IaC 代码
  • 审查现有的 Endpoint Policy
  • 排查 Endpoint 创建后仍然走公网的问题

自然语言使用示例:

使用 configuring-vpc-endpoints-for-private-aws-service-access,帮我给私有子网中的 EC2 设计一个访问 S3 的私有方案,不走 NAT 网关。

使用 configuring-vpc-endpoints-for-private-aws-service-access,为访问 ECR 和 Secrets Manager 生成需要的 Interface Endpoint 清单和安全组建议。

使用 configuring-vpc-endpoints-for-private-aws-service-access,检查这份 Endpoint Policy 是否有过宽的权限。

三、卸载

不同 Agent 的 Skill 安装位置和管理方式不同,卸载方式也随之不同。通常做法有两种:

  1. 通过对应 Agent 或 Skill 管理器提供的删除方式移除该 Skill
  2. 直接询问当前 Agent:“如何卸载 aws/agent-toolkit-for-aws#configuring-vpc-endpoints-for-private-aws-service-access?”

如果没有统一的卸载命令,直接询问当前 Agent 通常比手动删除目录更稳妥,可以避免留下失效的注册项。

常见问题

1. 这个 Skill 会自己修改我的 AWS 账号吗?

不会。它本身只是指令和知识集合,是否真正调用 AWS API 取决于用户是否给 Agent 开放了 Shell 权限并配置了可写凭证。只想拿方案时,可以让 Agent 只输出命令,由人工执行。

2. 只用来生成 Terraform / CloudFormation 代码,可以不装 AWS CLI 吗?

可以。生成 IaC 代码这个场景不需要本地 aws CLI,也不需要 AWS 凭证。

3. 为什么 Agent 给出的 Endpoint 类型和我在控制台看到的不一致?

Interface Endpoint 与 Gateway Endpoint 的适用范围由 AWS 侧决定,不同服务、不同 Region 的支持情况可能不同。请以 AWS 官方文档和当前 Region 的实际支持情况为准。

4. 安装了 Endpoint,私有子网访问还是走公网,怎么排查?

常见原因包括:Gateway Endpoint 未关联到对应路由表;Interface Endpoint 私有 DNS 未启用;实例使用了自建 DNS 而未转发到 VPC 解析器;Endpoint Policy 拒绝了目标请求;安全组未放通 Endpoint ENI 的入站。可以把这个现象直接告给 Agent,让它按 Skill 中的排查顺序逐项确认。

5. 可以同时装到多个 Agent 吗?

可以。Skill 通常以文件或目录形式存在,各 Agent 之间的加载目录互相独立,可以分别安装。但要注意不同 Agent 的版本可能对 Skill 目录结构或触发机制有不同要求。

6. Skill 更新后需要重新安装吗?

取决于你采用的安装方式。如果是从仓库拉取目录的方式安装,重新拉取或更新目录即可;如果 Agent 自带更新机制,按其提示操作。具体以对应 Agent 的说明为准。

7. 中国大陆网络环境下使用有额外要求吗?

获取 Skill 文件需要能够访问 GitHub。除此之外,该 Skill 帮助配置的是用户自己在 AWS 上的 VPC 资源,与所在地网络无关,但 AWS 服务的可达性、支持情况由所选 Region 决定。

Skill 更新日志

版本列表
无版本号
chore: 清理元数据 (#55)
无版本号
chore: 更新 skills 目录结构 (#50) * chore: 更新 skills 目录结构 * docs: 更新 skills README

暂无评论

none
暂无评论...