我创build了一个自定义的Linux AMI,我需要运行我的PHP应用程序(基本上是一个对图像/video/audio进行批处理的节点)。 可以同时运行n个实例。 到目前为止,它部署和工作正常。
我唯一担心的是我必须硬编码一些MySQL DB凭证,FTP密码以及将来可能会改变的其他东西。 我有其他的服务器,这些凭据可以在亚马逊的networking之外使用,但是我不确定在我启动这些凭证后会把这些凭据joinEC2实例。 对于一个新的EC2实例来说,这些应该是简单而安全的,而不是其他人。
总之,这是你可以做的:
我已经开始使用CloudFormation ,它似乎更适合我的需求,但需要更多的设置。
Amazon Linux AMI支持设置“用户数据”脚本,该脚本将在启动时安全地传递给VM。
从这里引用:
Amazon Linux AMI包含一个自定义版本的cloud-init。 它使您能够指定在启动时应该发生在您的实例上的操作。 启动实例时,您可以将所需的操作传递给cloud-init通过用户数据字段。 这意味着您可以在许多用例中使用常见的AMI,并在启动时dynamicconfiguration它们。
所以当你启动你的实例时,你传递了用户数据脚本。 例如:
ec2-run-instances --key KEYPAIR --user-data-file custom-env-file ami-xxxxxx
在你的情况下,你可以在用户数据文件中传递所需的凭据,并将它们保存在实例的已知位置。 你的应用程序可以从那里拿起它们。