我使用启用了 AWS 自动扩展组的模块https://registry.terraform.io/modules/terraform-aws-modules/autoscaling/aws/latest预置的 ec2 实例。但是,该模块的私有 ip 没有输出。我可能会使用用户数据来安装所需的软件和组件。但是,我无法将 ec2 实例用作我的应用程序服务器,因为我没有可用于登录和部署应用程序新版本的 IP 地址。如何解决问题?
问问题
44 次
1 回答
1
这是正确的,这是设计使然。该模块只创建 ASG,它不知道它的实例,因为实例是由 ASG 独立创建和管理的。
如何解决问题?
您可以使用SSM 运行命令在 ASG 中的实例上执行一些临时命令。
出于部署目的,您应该使用CodeDeploy或使用ASG instance refresh。
无论哪种方式,通过 SSH 连接到由 ASG 管理的实例以部署应用程序是您应该做的最后一件事,并且应该避免,因为从长远来看它只会导致问题。
如果您确实需要获取有关实例的信息,则必须标记它们并使用aws_instances数据源。
于 2020-11-24T05:23:50.283 回答