Amazon web services 需要将Userdata脚本从一个ec2实例复制到另一个ec2实例

Amazon web services 需要将Userdata脚本从一个ec2实例复制到另一个ec2实例,amazon-web-services,powershell,amazon-ec2,user-data,aws-powershell,Amazon Web Services,Powershell,Amazon Ec2,User Data,Aws Powershell,我正在编写一个脚本,通过该脚本,我可以创建一个实例,并具有与另一个现有实例相同的设置(如vpc、子网ID、安全组和用户数据)。 我能够获得除用户数据之外的所有设置,因为用户数据需要保存,然后才能传递到另一个实例。但是当我保存用户数据时,它是用Jibrish语言保存的。我使用了这个命令:(Get-EC2InstanceAttribute-InstanceId I-sda23dsf-Attribute userData) 那么,我如何将其传递给另一个实例,以便两者都可以具有相同的用户数据脚本呢 用户

我正在编写一个脚本,通过该脚本,我可以创建一个实例,并具有与另一个现有实例相同的设置(如vpc、子网ID、安全组和用户数据)。 我能够获得除用户数据之外的所有设置,因为用户数据需要保存,然后才能传递到另一个实例。但是当我保存用户数据时,它是用Jibrish语言保存的。我使用了这个命令:(Get-EC2InstanceAttribute-InstanceId I-sda23dsf-Attribute userData)
那么,我如何将其传递给另一个实例,以便两者都可以具有相同的用户数据脚本呢

用户数据可在

http://169.254.169.254/latest/user-data
如果你真的想继续沿着这条路走下去的话


使用编排语言(如ansible、puppet或terraform)创建这两个实例更有意义,这将为您提供可复制性,并允许您动态更改基础设施的各个部分。

如果您仍然可以访问原始实例,即使该实例已停止,尝试选择实例,然后在“操作”中执行“像这样启动”并继续,直到到达“3.配置实例”屏幕。在“高级详细信息”下,您将找到原始用户数据

不需要实际启动“新”实例


如果不这样做,用户数据脚本将在第一次创建EC2时运行

你所说的听起来像是“烤阿美族”或“打造黄金形象”

这对于需要一分钟以上时间的用户数据脚本来说非常方便,因为您可以在预先安装好所有内容的情况下启动AMI。这也适用于具有相同用户数据的多个EC2:

专业的方法是使用一个名为Packer的工具自动创建AMI


人们在EC2之间共享userdata脚本的另一种常见方式是让userdata从S3存储桶下载一个脚本,然后执行它。这非常适合于大于16500字节限制的userdata脚本。

这需要从服务器it本身进行访问,我无法访问。作为一个场景,服务器未启动或损坏,这就是我创建另一个具有相同设置的实例的原因。我不想一次创建两个实例。我正在尝试创建一个与现有实例具有相同设置的实例。我不想手动创建实例,并逐个放置现有实例的所有值。它既单调又容易出错。@RohitSingh使用前面提到的编排工具。云层、云层、地形或其他。通过这种方式,您可以保持用户数据的版本化和可重用性。