在自动缩放AMI中,启动如何在新实例中复制我的私钥文件

时间:2019-01-24 09:41:44

标签: amazon-web-services amazon-ec2 amazon-cloudformation autoscaling

我在aws中有一个实例,私钥文件是授权密钥,存储在.ssh路径中。启动自动缩放AMI时,该文件应复制到同一位置的新服务器,即.ssh。通过使用云形成模板。

我应该在CFN模板中保留什么代码或什么命令。

谢谢

3 个答案:

答案 0 :(得分:0)

您可以使用存储的私钥创建一个新的ami,并在CloudFormation模板中使用该ami。

steps: 
1. launch new instance from the current ami you are using
2. ssh to your instance and copy the private key file
3. stop the instance in aws console and right click the instance -> image -> create image
4. use your new ami as EcsAmiId

答案 1 :(得分:0)

您可以在描述EC2实例的CF模板中指定user data脚本。 user data脚本只是实例启动时将执行的普通bash脚本,这意味着您可以自动执行任何任务,例如使用它来复制文件,否则您将需要手动执行。

您还可以预烘焙自定义AMI,换句话说,创建一个具有所有设置的新AMI,并在CF模板中使用该AMI,而不是现在使用的任何默认AMI。 / p>

答案 2 :(得分:0)

可以在EC2控制台中创建密钥对,或者可以将现有密钥对的公共部分上载到EC2。

完成此操作后,便可以引用此密钥对来启动Amazon EC2实例。实例上的软件(如果使用Amazon Linux AMI)将自动将指定密钥对的公共部分复制到/home/ec2-user/.ssh/authorized_keys文件中。

这适用于通过任何方法(例如控制台,API,CloudFormation)启动EC2实例。

这比尝试自己通过用户数据操纵authorized_keys文件容易得多。