terraform - Terraform - 在 VPC 对等连接之间授权安全组
问题描述
我在 AWS 上运行,我有 VPC-A 和 VPC-B 我在两个 VPC 之间有一个 VPC 对等互连
我想允许从 VPC-B 中的 SecurityGroupB 到 VPC-A 中的 SecurityGroupA 的流量
到目前为止,我通过以下调用使用 ruby 客户端完成了此操作
security_group_a.authorize_ingress(
ip_permissions: [
{
from_port: "-1",
ip_protocol: "-1",
to_port: "-1",
user_id_group_pairs: [
{
description: "Accept all traffic from SecurityGroupB",
group_id: security_group_b.id,
vpc_id: vpc_b.id,
vpc_peering_connection_id: peering_connection_id,
},
],
},
]
)
我查看了 terraform 的aws_security_group_rule但找不到与上述设置等效的任何内容。
当我尝试将安全组 B 放入安全组 AI 的入口时,会出现以下错误:
Error: Error authorizing security group rule type ingress: InvalidGroup.NotFound: You have specified two resources that belong to different networks
我在这里做错了什么?假设我设置了对等连接,如何创建规则以允许来自 VPC B 上的安全组的流量进入 VPC A 上的安全组?
解决方案
如果满足以下条件,安全组规则可以引用对等 VPC 中的安全组:
- VPC 必须在同一区域
- 对等连接必须处于活动状态
- 如果对等 VPC 在另一个账户中,则引用必须包含帐号作为前缀。例如,
123456789012/sg-1a2b3c4d
。
只要满足这些条件,你应该没有问题。
以下是 Terraform 资源外观的示例:
resource "aws_security_group_rule" "example" {
type = "ingress"
from_port = 0
to_port = 65535
protocol = "tcp"
security_group_id = "sg-123456"
source_security_group_id = "sg-789012"
}
推荐阅读
- flutter - 在 Flutter App 中显示 PDF 或 PPT 文件
- ionic-framework - 我们如何在 Ionic5 中实现移动辅助功能(对讲)功能?
- kubernetes - kubernetes `--dry-run=client` 和 `--command` 以一种奇怪的方式依赖于命令的顺序
- javascript - 是否可以直接从 Request Multipart/form 读取 CSV 文件内容,而不使用 multer 将其上传到存储中?
- json - 如何修复 shell 脚本上的 JSON 错误?
- java - 如何使用外部配置初始化 kafka 流自定义分区器
- javascript - 在动态表中使用javascript自动计算年月差
- .net-core - 应用服务/(微服务)中处理相关实体的最佳实践
- c# - 使用 StopWatch 类获取 C# 方法的正确执行时间
- c# - IndexOutOfRangeException:索引超出了数组统一错误的范围