配置AWS实例安全组ID时报Reference to undeclared resource错误如何解决
故障原因
- 引用类型错误:你当前配置中开放了22、80端口的安全组是通过
resource块声明的自建托管资源,并非通过data块引入的已有数据源,所以引用时不能加data.前缀。 - 资源名不匹配:你声明的安全组本地标识为
allow_ssh,并非报错里的nginx,引用名和实际声明名不对应。
修复方案
找到aws_instance.nginx资源块里的vpc_security_group_ids配置行,修改为正确的引用即可:
vpc_security_group_ids = [aws_security_group.allow_ssh.id]
如果你确实是要引用当前配置之外已经存在的名为nginx的安全组,那需要在配置的DATA区块新增对应的数据源声明:
data "aws_security_group" "nginx" { name = "nginx" # 替换为实际安全组名称 vpc_id = var.vpc_id }
这种情况才可以用原来的data.aws_security_group.nginx.id引用方式。
内容的提问来源于stack exchange,提问作者Rado Ratko
相关产品推荐
相关产品推荐

