-1

我需要使用 terraform 将我的 Java 应用程序部署到 AWS EC2 实例。这里的问题是,我们不应该使用 *.pem 文件来部署应用程序

我尝试使用 terraform 创建 ELB 并关联实例。我可以使用 ssh 和 pem 文件将应用程序部署到 ec2 实例私有 IP。但是我们不应该使用 *.pem 或 *.ppk 文件,因为它不允许在生产服务器中使用。

我尝试将 chef 与 terraform 一起使用,但这也需要 *.pem 才能连接到 AWS 实例。

请让我知道如何在不使用 pem 文件的情况下使用 terraform 部署应用程序的详细步骤/建议。

4

1 回答 1

1

如果您在创建实例后无法对其进行任何更改(包括部署应用程序),那么您需要将所有更改烘焙到 Terraform 部署的 AMI 中。

您可能希望考虑使用Packer来创建具有预期配置的 AMI,然后使用 Terraform 部署这些 AMI。

作为参考,这个策略被称为“不可变的基础设施”,所以你可能想进一步阅读这个领域。

相反,如果只是不允许 SSH 连接并且您可以对其他端口进行更改,那么您应该能够使用具有Chef客户端、Puppet代理或Salt minion 的 AMI(很可能还有其他工具可以解决非 SSH 协议/端口,但此限制排除了Ansible),然后使用任何这些工具继续配置您的实例。显然,您可以从 AMI 市场找到合适的 AMI,或者再次使用 Packer 设置相关的配置管理客户端。

于 2016-05-12T07:37:32.337 回答