如何使用Terraform引导液滴?

时间:2016-07-20 16:53:58

标签: digital-ocean devops terraform

使用Terraform在Digital Ocean上创建水滴时,创建的计算机密码将通过邮件发送。如果我获得documentation on the Digital Ocean provider权限,您还可以指定要使用的密钥的SSH ID。

如果我使用Terraform引导数据中心,我应该选择哪个选项?

不知何故,为每台机器设置不同的密码(以某种方式使用密码本身感觉不对)感觉不对,但如果每台机器都链接到我的用户的SSH密钥,也会感觉不对。

你是怎么做到的?有没有一种方法可以被认为是好的(最好的?)练习在这里?我应该只为此创建一个SSH密钥对,并将Terraform文件提交给Git吗? ...?

1 个答案:

答案 0 :(得分:2)

正如您所提到的,一旦您拥有相当数量的密码,在实例上使用密码绝对是一种痛苦。它也不如正确管理(保密)的SSH密钥安全。显然,您将在将其余自动化链接到带外自动化工具的某些凭据时遇到一些问题,因此如果您需要实际配置这些服务器以执行某些操作,那么通过电子邮件选项的密码几乎完全没有。

我倾向于为每个应用程序和开发阶段使用不同的SSH密钥(例如,开发,测试/暂存,生产),但随后该组合中的所有内容都会获得相同的公钥,以便于管理。将它分开就意味着如果你有一把钥匙泄密,你就不需要在任何地方更换公钥,从而最大限度地减少这次事件的爆炸半径。它还意味着您可以单独旋转它们,尤其是某些环境可能比其他环境移动得更快。

最后警告,不要将您的私有SSH密钥放入与其他代码相同的git仓库中,并且绝对不要将私有SSH密钥发布到公共仓库。如果您在大型团队中,或者至少在需要多人使用的情况下将这些共享私钥分发到带外,您可能需要查看一些秘密管理,例如Hashicorp的Vault