Terraform AWS Provider 数据源深度解析:aws_ec2_local_gateway_virtual_interface 查询 EC2 本地网关虚拟接口详情

发布时间:2026/11/12 11:33:37

Terraform AWS Provider 数据源深度解析:aws_ec2_local_gateway_virtual_interface 查询 EC2 本地网关虚拟接口详情 Terraform AWS Provider 数据源深度解析aws_ec2_local_gateway_virtual_interface 查询 EC2 本地网关虚拟接口详情【免费下载链接】terraform-provider-awsThe AWS Provider enables Terraform to manage AWS resources.项目地址: https://gitcode.com/GitHub_Trending/te/terraform-provider-aws本文围绕 Terraform AWS Provider 的aws_ec2_local_gateway_virtual_interface数据源位于 EC2 / Outposts 子类目系统讲解其在 AWS Outposts 本地网络接入场景中的查询用法、过滤与标签匹配机制、全部参数与导出属性并结合仓库源码与验收测试剖析底层DescribeLocalGatewayVirtualInterfaces调用链与单结果约束。读完本文你将能在 Terraform 配置中通过 ID、filter 或 tags 三种方式精确检索本地网关虚拟接口Local Gateway Virtual Interface并与虚拟接口组、本地网关路由表资源联动完成网络编排。数据源是什么Outposts 网络组件中的虚拟接口在 AWS Outposts 环境中本地网关Local Gateway是 Outpost 上实例与本地数据中心网络通信的关键出口。本地网关与本地网络之间的连接通过Local Gateway Virtual Interface本地网关虚拟接口建立虚拟接口再归属于Local Gateway Virtual Interface Group虚拟接口组用于与本地网关路由表建立关联。aws_ec2_local_gateway_virtual_interface数据源的作用就是读取单个Local Gateway Virtual Interface 的详细信息供同一 Terraform 配置中的其他资源引用例如配置本地网关路由表时指定下一跳虚拟接口。数据源的完整实现位于 outposts_local_gateway_virtual_interface_data_source.go其官方文档位于 website/docs/d/ec2_local_gateway_virtual_interface.html.markdown。相关数据源与资源全景该数据源并不是孤立存在的围绕 Local Gateway 网络组件仓库中提供了一组配套的数据源与资源理解它们之间的关系有助于正确编排类型名称仓库文档路径数据源aws_ec2_local_gateways查询全部本地网关d/ec2_local_gateways.html.markdown数据源aws_ec2_local_gateway查询单个本地网关d/ec2_local_gateway.html.markdown数据源aws_ec2_local_gateway_virtual_interface_group查询单个虚拟接口组d/ec2_local_gateway_virtual_interface_group.html.markdown数据源aws_ec2_local_gateway_virtual_interface_groups查询全部虚拟接口组d/ec2_local_gateway_virtual_interface_groups.html.markdown数据源aws_ec2_local_gateway_virtual_interface本文主题查询单个虚拟接口d/ec2_local_gateway_virtual_interface.html.markdown资源aws_ec2_local_gateway_route本地网关路由r/ec2_local_gateway_route.html.markdown资源aws_ec2_local_gateway_route_table_virtual_interface_group_association路由表-虚拟接口组关联r/ec2_local_gateway_route_table_virtual_interface_group_association.html.markdown典型的数据流是aws_ec2_local_gateways→aws_ec2_local_gateway_virtual_interface_group拿到虚拟接口 ID 列表→aws_ec2_local_gateway_virtual_interface拿到单个虚拟接口详情。基础用法遍历虚拟接口组逐个查询虚拟接口官方文档给出的示例展示了最常见的用法——基于虚拟接口组数据源导出的 ID 集合配合for_each一次性查询组内所有虚拟接口data aws_ec2_local_gateway_virtual_interface example { for_each data.aws_ec2_local_gateway_virtual_interface_group.example.local_gateway_virtual_interface_ids id each.value }这里的data.aws_ec2_local_gateway_virtual_interface_group.example.local_gateway_virtual_interface_ids是虚拟接口组数据源导出的、类型为 set(string) 的虚拟接口 ID 集合其类型定义可见 outposts_local_gateway_virtual_interface_group_data_source.goschema.TypeSet元素为字符串。for_each展开后每个虚拟接口对应一个data.aws_ec2_local_gateway_virtual_interface.example[lgw-vif-xxx]实例可分别通过.id、.peer_address、.vlan等属性引用。三种精确查询方式id / filter / tags该数据源是一个“单例查询”数据源所有定位参数都是可选的但最终必须且只能匹配到一个虚拟接口否则会报错。仓库中的验收测试见 outposts_local_gateway_virtual_interface_data_source_test.go恰好覆盖了这三种定位方式可直接作为配置范本。方式一按 id 精确查询data aws_ec2_local_gateways test {} data aws_ec2_local_gateway_virtual_interface_group test { local_gateway_id tolist(data.aws_ec2_local_gateways.test.ids)[0] } data aws_ec2_local_gateway_virtual_interface test { id tolist(data.aws_ec2_local_gateway_virtual_interface_group.test.local_gateway_virtual_interface_ids)[0] }虚拟接口 ID 的格式为lgw-vif-前缀测试中通过正则^lgw-vif-校验见 测试用例第 28 行。方式二按 filter 过滤查询filter块支持基于 EC2DescribeLocalGatewayVirtualInterfacesAPI 支持的任意过滤条件进行查询data aws_ec2_local_gateways test {} data aws_ec2_local_gateway_virtual_interface_group test { local_gateway_id tolist(data.aws_ec2_local_gateways.test.ids)[0] } data aws_ec2_local_gateway_virtual_interface test { filter { name local-gateway-virtual-interface-id values [tolist(data.aws_ec2_local_gateway_virtual_interface_group.test.local_gateway_virtual_interface_ids)[0]] } }方式三按 tags 精确匹配查询可以通过标签定位虚拟接口标签的 key/value 必须与目标虚拟接口上的标签完全一致。测试用例先给虚拟接口打上测试标签再按标签查询见 测试用例第 130-153 行data aws_ec2_local_gateway_virtual_interface source { id tolist(data.aws_ec2_local_gateway_virtual_interface_group.test.local_gateway_virtual_interface_ids)[0] } resource aws_ec2_tag test { key TerraformAccTest-aws_ec2_local_gateway_virtual_interface resource_id data.aws_ec2_local_gateway_virtual_interface.source.id value test-value } data aws_ec2_local_gateway_virtual_interface test { tags { (aws_ec2_tag.test.key) aws_ec2_tag.test.value } }Argument Reference全部查询参数以下参数全部为可选数据源通过它们的组合来唯一定位一个虚拟接口参数类型说明regionstring该数据源所属的 AWS 区域。默认为 Provider 配置中设置的区域可用于跨区域查询。idstring目标 EC2 Local Gateway Virtual Interface 的标识符形如lgw-vif-xxx。filterblock set一个或多个 name-values 过滤块对应 EC2DescribeLocalGatewayVirtualInterfacesAPI 支持的过滤条件用于表达难以用标量属性表达的组合条件。tagsmap(string)标签键值映射每对标签都必须与目标虚拟接口上的标签完全匹配。filter 块内部参数filter是TypeSet类型的块集合其 Schema 定义见 filters.go每个块包含两个必填参数参数类型必填说明namestring是过滤条件名称例如local-gateway-virtual-interface-id。valuesset(string)是该过滤条件的一个或多个取值同一条件的多个值之间是“或”的关系。filter 与id、tags可以组合使用源码在构造 API 输入时会依次追加 ID 查询条件、tags 过滤条件与自定义 filter见 outposts_local_gateway_virtual_interface_data_source.go 第 91-106 行。Attribute Reference查询结果导出的属性查询成功后除了上述参数id、tags、region等会被回填为计算值数据源还会导出以下只读属性属性类型含义local_addressstring本地网关侧的 IP 地址CIDR 形式如10.0.0.1/30测试用正则^\d\.\d\.\d\.\d/\d$校验。local_bgp_asnint本地网关侧的 BGP 自治系统号ASN。local_gateway_idstring所属本地网关的标识符lgw-前缀。local_gateway_virtual_interface_group_idstring所属虚拟接口组的标识符。outpost_lag_idstring关联的 Outpost LAG链路聚合组标识符。peer_addressstring对端本地数据中心侧的 IP 地址CIDR 形式。peer_bgp_asnint对端的 BGP 自治系统号ASN。vlanint虚拟接口使用的 VLAN 编号。这些属性与 EC2 API 返回的LocalGatewayVirtualInterface结构体字段一一对应可在 outposts_local_gateway_virtual_interface_data_source.go 第 42-80 行 的 Schema 定义中核实。其中local_address/peer_address与两侧bgp_asn是配置本地网关路由、排查 BGP 邻居建立问题的关键信息。Timeouts读取超时配置该数据源支持在配置中显式覆盖操作超时data aws_ec2_local_gateway_virtual_interface example { # ...定位参数 timeouts { read 10m } }超时项默认值read20m默认值20m定义于源码的Timeouts字段见 outposts_local_gateway_virtual_interface_data_source.go 第 30-32 行。底层实现原理从 Terraform 配置到 EC2 API该数据源的实现路径清晰地展示了 AWS Provider 数据源的标准架构核心读取函数为dataSourceLocalGatewayVirtualInterfaceRead见 outposts_local_gateway_virtual_interface_data_source.go 第 85-127 行构造输入初始化ec2.DescribeLocalGatewayVirtualInterfacesInput若配置了id则填充LocalGatewayVirtualInterfaceIds切片第 91-93 行。合并过滤条件将配置的tags与filter分别转换为 EC2 Filter 列表并追加到输入第 95-101 行若最终过滤列表为空则置为nil因为 EC2 API 不接受空过滤列表第 103-106 行。调用查询函数调用findLocalGatewayVirtualInterface其内部先通过findLocalGatewayVirtualInterfaces使用官方分页器NewDescribeLocalGatewayVirtualInterfacesPaginator遍历所有分页结果见 find.go 第 1099-1124 行再经tfresource.AssertSingleValueResult强制校验结果唯一性。单结果约束如果匹配结果不是恰好一个tfresource.SingularDataSourceFindError会生成明确报错提示“找到了 0 个或多个 EC2 Local Gateway Virtual Interface”第 108-112 行这正是要求id/filter/tags必须唯一定位的原因。写入状态以虚拟接口 ID 作为数据源的id并将其余属性逐一d.Set写入 Terraform 状态标签通过setTagsOut导出第 114-124 行。实战联动虚拟接口、路由表与本地网关路由编排将本文数据源与同仓库的本地网关路由资源组合即可构建一条从 Outposts 本地网络到本地网关的完整数据面配置。典型编排如下data aws_ec2_local_gateway_virtual_interface_group example { local_gateway_id data.aws_ec2_local_gateway.example.id } data aws_ec2_local_gateway_virtual_interface example { for_each data.aws_ec2_local_gateway_virtual_interface_group.example.local_gateway_virtual_interface_ids id each.value } # 将虚拟接口组关联到本地网关路由表对应 aws_ec2_local_gateway_route_table_virtual_interface_group_association # 再将查询到的虚拟接口地址用于 aws_ec2_local_gateway_route 的路由配置其中aws_ec2_local_gateway_route与关联资源的完整参数说明可分别参考 r/ec2_local_gateway_route.html.markdown 与 r/ec2_local_gateway_route_table_virtual_interface_group_association.html.markdown。测试与验证数据源行为的质量保障仓库为每个数据源维护了配套的验收测试本数据源的测试位于 outposts_local_gateway_virtual_interface_data_source_test.go覆盖三种定位路径TestAccEC2OutpostsLocalGatewayVirtualInterfaceDataSource_filter按local-gateway-virtual-interface-idfilter 查询并校验id、local_address、local_bgp_asn、local_gateway_id、peer_address、peer_bgp_asn、vlan等全部核心属性的格式第 16-41 行。TestAccEC2OutpostsLocalGatewayVirtualInterfaceDataSource_id按id查询第 43-68 行。TestAccEC2OutpostsLocalGatewayVirtualInterfaceDataSource_tags先写入标签再按 tags 查询并通过TestCheckResourceAttrPair逐一比对 source 与 test 两个数据源的导出属性第 70-97 行。所有测试均在PreCheck中调用acctest.PreCheckOutpostsOutposts即测试运行环境必须真实存在 Outposts 资源本地网关、虚拟接口组等这是该数据源使用前提的有力佐证——它只适用于已部署 Outposts 并与本地网络完成虚拟接口配置的账户。使用注意事项小结结果必须唯一该数据源是单例查询id、filter、tags组合后若匹配到 0 个或多个结果都会直接报错不确定唯一性时可先用aws_ec2_local_gateway_virtual_interface_group或aws_ec2_local_gateway_virtual_interface_groups后者查询全部定位 ID再精确查询。依赖 Outposts 环境未部署 Outposts 的普通 AWS 区域不存在本地网关与虚拟接口查询会失败。超时可按需覆盖默认read超时为 20 分钟常规查询远快于此仅当 API 侧异常时才会触及。跨区域查询可通过region参数指定目标区域否则使用 Provider 配置的默认区域。【免费下载链接】terraform-provider-awsThe AWS Provider enables Terraform to manage AWS resources.项目地址: https://gitcode.com/GitHub_Trending/te/terraform-provider-aws创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/11/12 0:39:36

银河麒麟 V10 软件源配置:内网源、ISO 离线源与排错

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/12 20:09:13

电工证怎样考怎样操作 别踩坑这几点你得知道

电工证怎样考怎样操作 别踩坑这几点你得知道 之前考的证在外省能不能转过来?这个问题真的太常见了,我天天都在接电话,问这个问那个。说实话,很多人都 千万别踩坑…

2026/11/12 20:09:13

远大培训电工证靠谱吗官方回应工地电工怎么应对考试压力

远大培训电工证靠谱吗官方回应工地电工怎么应对考试压力 工地太忙根本没时间复习考试,这个问题在我们这个行业太常见了。尤其是像低压电工证、高压电工证这种特种作业操作证,考试内容不光是理论,还有实操,很多人觉得“考试太难,复习没时间”。但根据郑州…

2026/11/12 20:09:13

工地太忙根本没时间复习考试?官方回应检测电工证报考全攻略

工地太忙根本没时间复习考试?官方回应检测电工证报考全攻略 工地太忙根本没时间复习考试,这不是你一个人的烦恼。特别是像检测电工证这种实操与理论结合的考试,很多一线工人因为工作强度大、时间不固定,往往把考试当作“遥远的事”。不过,官方回应,检测…

2026/11/12 20:09:13

泸州哪里可以办电工证保姆级教程:外省证能转吗?全攻略来了

泸州哪里可以办电工证保姆级教程:外省证能转吗?全攻略来了 之前考的证在外省能不能转过来?这是很多特种作业持证人最关心的问题。如果你手里有外省的电工证,现在在泸州工作,想要在本地使用,或者准备继续教育、复审,那么这篇保姆级教程就是为你量身打造…

2026/11/12 20:04:12

江苏电工证的工资到底多少?官方回应来了,别再被中介坑了

江苏电工证的工资到底多少?官方回应来了,别再被中介坑了 你是不是也正愁不知道江苏电工证的工资到底多少,又怕去哪报名被中介坑?别慌,官方回应已经出来了,下面我从一个从业多年的老手角度,给你讲讲江苏电工证的工资、报考流程、考试内容、避坑建议,还…

2026/11/11 12:42:59

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/12 0:04:01

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘

工地太忙根本没时间复习考试?学习电工证到哪里学通过率揭秘 工地太忙根本没时间复习考试?你不是一个人。作为一名在南阳卧龙区干了七八年市政公用工程的电工,我深知这个问题的现实性。电工证不仅是工作的“入场券”,更是职业发展的“通行证”,但备考过程…

2026/11/12 0:04:01

双流电工证考别怕挂科!郑州报考避坑指南全攻略

双流电工证考别怕挂科!郑州报考避坑指南全攻略 实操考试心里没底怕挂科?双流电工证考在郑州报名,很多人因为不了解流程、准备不充分,白白浪费时间和金钱。作为三门峡应届工程类毕业生,我也曾经历过这样的焦虑。今天就从零开始,手把手教你如何避开郑州报…

2026/11/12 0:04:01

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少

之前考的证在外省能不能转过来 怎么报名考电工证培训价格多少 之前考的证在外省能不能转过来?这个问题确实让不少准备换城市工作的朋友犯了难,尤其像电工证这种实操性很强的证书,很多人担心跨省后证书能不能继续用。其实,只要符合相关流程,是可以顺利转…

2026/11/11 20:27:01

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/12 9:51:42

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑