用PrivateLink打通企业内网分析访问
教程介绍如何通过AWS PrivateLink私密连接本地数据源与Amazon Quick,避免分析流量经过公网。覆盖用户及API端点、数据源连接、DNS、端点策略、身份联合与仅限VPC端点访问配置。
AI 深度解读
企业内网的数据要接入 Amazon Quick,不能只建一个 AWS PrivateLink 端点就算完成。AWS 这篇指南的核心是拆开两条链路:员工如何私下访问 Quick,以及 Quick 如何进入企业网络取数据。两者需要不同配置。
对接内部数据库、API 或 MCP server 的团队,这个区分很实用。但原文也列出了不少边界:部分 API 仍需公共端点,部分知识库来源不支持 VPC connection,浏览器登录也可能需要公网。所谓私有接入,必须逐条链路核对。
人访问 Quick,和 Quick 访问数据,是两回事
VPC endpoint 解决用户进入 Quick 的路径,VPC connection 解决 Quick 进入企业网络的路径。
前者承载网站、API 和嵌入内容访问,基于 AWS PrivateLink。后者由 Quick 在你的 VPC 子网中创建弹性网络接口(ENI),再通过已有路由访问数据库或内部服务。可以把 ENI 理解成 Quick 放进企业网络的通信接口。
这里有一个硬前提:企业机房与 VPC 之间已经通过 AWS Direct Connect 或 AWS Site-to-Site VPN 连通。PrivateLink 不会替你建立这段连接。VPC connections 还要求 Amazon Quick Enterprise,不能忽略订阅版本。
不同功能走的数据路径也不完全相同。Quick Sight 通过 ENI 查询 PostgreSQL、MySQL、SQL Server、Oracle 等数据库;Flows、Automate 和 Agents 可以通过 action connectors 调用私有 MCP server 或内部 API。Flows 面向重复任务,Automate 面向包含人工参与的复杂编排。Research 访问私有来源时也使用 VPC connection,Apps 则继承底层数据和连接器的网络能力。
Quick Index 的限制更容易被误读:原文称,知识库的 VPC connections 当前只支持 Amazon Redshift。Confluence、SharePoint、Box、Google Drive、OneDrive 和 Amazon S3 都不能直接使用这条机制。S3 bucket policy 可以另行限制 VPC endpoint 访问,但那是另一层控制。Quick Spaces 只组织内容,不主动发起数据连接。
端点创建成功,还要让企业 DNS 找对地址
完整的用户私有访问需要两个 interface VPC endpoints:
- 网站端点是
com.amazonaws.<region>.quicksight-website。 - API 端点是
com.amazonaws.<region>.quicksight;FIPS 场景使用com.amazonaws.<region>.quicksight-fips。
产品叫 Amazon Quick,服务名仍然使用 quicksight,配置时不要自行替换。端点必须与 Quick 账户处于同一 AWS Region;原文还明确,网站端点不支持 AWS 中国区域和 AWS GovCloud (US) 区域。
两个端点的 DNS 行为不同。API 端点启用 private DNS 后,现有的 quicksight.<region>.amazonaws.com 请求会自动转向私有地址。网站则需要为 <region>.quicksight.aws.amazon.com 创建指向端点的 Alias A 记录,例如 us-east-1.quicksight.aws.amazon.com。
企业员工从机房网络访问时,仅在 Route 53 建 private hosted zone 还不够。它只回答关联 VPC 内的查询,需要企业 DNS 将对应查询转发给 Route 53 Resolver inbound endpoint,或者在企业 DNS 中维护等效记录。最终应从员工工作站验证,确认解析结果是 VPC 私有 IP。
如果管理员通过 IAM 用户登录,还需考虑 com.amazonaws.<region>.console 和 com.amazonaws.<region>.signin。
端点策略也有区别。网站端点的 Principal、Action、Resource 必须全部为 *,条件只能使用 aws:PrincipalAccount 或 aws:OrgId。API 端点才支持按具体 action 收紧权限,不能把两种策略混用。
私有链路能跑通,不代表所有出口都能关闭
数据侧创建 VPC connection 时,需要至少两个不同 Availability Zones 的子网、至少一个安全组,以及执行角色。VPC ID 创建后不能修改。执行角色由管理员准备,Quick 不会自动创建;角色必须信任 quicksight.amazonaws.com,并获得管理 ENI 所需的 EC2 权限。
安全组可以这样组织:给 Quick ENI 单独建组,再让数据库安全组仅允许来自该组的数据库端口流量。路由表、network ACL 和安全组共同决定这条链路能否工作。
历史连接还有特殊情况:2023 年 4 月 27 日之前创建的 VPC connections,其 Quick 网络接口安全组不具备标准的有状态行为。 返回流量需要显式放行来自数据源安全组的 0–65535 端口;之后创建的连接使用标准有状态行为。排查旧环境时,这个日期比反复检查数据库账号更有价值。
连接从 UNAVAILABLE 变为 AVAILABLE,表示 ENI 配置完成;PARTIALLY AVAILABLE 表示部分 ENI 不可用,但连接仍可使用。
若要让相关 AWS 服务调用也保持私有,还得分别检查 Amazon S3、Amazon Redshift、Amazon Athena、AWS Secrets Manager 的端点。Athena endpoint 只解决 Athena API 流量,Athena 本身不支持作为 VPC connection 数据源。
公网例外同样不能省略。原文列出 13 个 API 不支持 Quick API VPC endpoint,包括管理 action connectors 的 8 个 API,以及管理 flows 的 5 个 API。使用这些接口的自动化仍需访问公共 API 端点。
浏览器还可能请求登录、静态资源、客户端指标及集成域名,不支持端点的域名需要经过企业代理或防火墙出网。IAM Identity Center 浏览器认证也需要公共 AWS sign-in 和 IAM Identity Center endpoints。所给原文没有附上完整域名清单,身份联合章节也在这里截断,不能据此直接制定完整放行规则。
我的判断
这篇指南最有价值的地方,是把网络连通、入口限制和身份权限拆开。私有地址只说明流量如何到达,不能替代 IAM,也不能证明用户有权查看某份数据。
我尤其认同它对「创建端点」和「强制使用端点」的区分。前者提供一条私有路径,后者才开始限制其他入口。但 Quick 的 IP/VPC restrictions 只覆盖 Web、嵌入和移动访问,不会限制公共 API 访问。API 来源控制还需要 IAM 中的 aws:SourceIp 或 aws:SourceVpce 条件。
这段原样命令用于启用指定端点限制:
aws quicksight update-ip-restriction \
--aws-account-id ACCOUNT_ID \
--region REGION \
--enabled \
--vpc-endpoint-id-restriction-rule-map \
vpce-001122def=CorporateVpcEndpoint
要特别检查 --vpc-endpoint-id-restriction-rule-map:UpdateIpRestriction 会替换整个规则映射。更新前应先用 aws quicksight describe-ip-restriction 获取旧规则,再合并提交,避免覆盖已有入口或把管理员锁在外面。
规则最多需要 10 分钟生效;IP 与端点规则合计最多 100 条,满足任一类型即可放行。规则跨区域生效,但只能在 Quick 账户创建区域管理。公开嵌入的 dashboard 也会受到限制,不能只验证控制台登录。
至于低延迟和合规收益,原文没有提供延迟对照、压测或合规评估结果。这是一篇配置指南,不是性能实验。HIPAA、FedRAMP、PCI-DSS 被列为需求背景,也不能理解成按步骤配置即可满足全部要求。
与仅靠公网入口加 IAM 或 IP 白名单相比,私有接入增加了网络边界控制,也增加了 DNS、路由、多区域可用性和出口维护工作。收益是否值得,需要结合已有专线、数据敏感程度和运维能力判断。
能拿来做什么
- 接入内部 API 或 MCP server 前,先分别列出员工访问 Quick、Quick 调用服务、浏览器登录与资源加载三组路径,逐项标明端点、DNS 和出口,避免把网站访问成功当成全部接通。
- 为 Node 内部服务配置访问时,从 Quick ENI 的路由和安全组查起,再检查服务监听地址与端口;如果使用私有域名,还要验证对应 DNS resolver 配置。
- 维护 Quick 管理脚本时,先核对所用 API 是否支持私有端点,再配置 IAM 来源条件。不要因为网页已经启用 VPC restrictions,就认定脚本也受到相同限制。
- 给前端嵌入 dashboard 增加限制前,先验证真实用户的企业网络、DNS 和登录路径,并保留已有规则。公开嵌入场景尤其要提前评估访问变化。