Python 以编程方式配置EC2实例
我有一个AMI,上面预装了一些软件。当我创建一个新实例时,我必须SSH到机器中,并根据服务器的用例运行一些脚本 例如:Python 以编程方式配置EC2实例,python,amazon-web-services,amazon-ec2,Python,Amazon Web Services,Amazon Ec2,我有一个AMI,上面预装了一些软件。当我创建一个新实例时,我必须SSH到机器中,并根据服务器的用例运行一些脚本 例如: ssh ubuntu@1.2.3.4 -i aws.pem && ./type1.sh ssh ubuntu@5.6.7.8 -i aws.pem && ./type2.sh 有没有办法使这个过程自动化?我正在使用python。我知道我可以使用boto来支持服务器,但我不确定连接到服务器和运行脚本的最佳实践。除了构建自己的基于python的
ssh ubuntu@1.2.3.4 -i aws.pem && ./type1.sh
ssh ubuntu@5.6.7.8 -i aws.pem && ./type2.sh
有没有办法使这个过程自动化?我正在使用python。我知道我可以使用boto来支持服务器,但我不确定连接到服务器和运行脚本的最佳实践。除了构建自己的基于python的解决方案之外,您只需使用AWS已经提供的EC2实例首次启动后运行代码的功能即可 在创建EC2实例时,您可以提供一些所谓的“用户数据”,其中可以包含在实例首次启动后执行的代码。这对于创建EC2实例的所有方法都是可能的,无论是管理控制台、CLI、API、
boto3
还是CloudFormation。AWS文档包含了非常广泛的信息,说明了如何工作:
例如,如果您使用boto3
创建EC2实例,则如下所示:
导入boto3
ec2_client=boto3.client(“ec2”)
ec2_client.run_实例(ImageId=“ami-abcd1234”,
InstanceType=“m3.medium”,
SubnetId=“subnet-abcd1234”,
SecurityGroupId=[“sg-abcd1234”],
UserData=“/home/ubuntu/type1.sh”
)
不用构建自己的基于python的解决方案,只需使用AWS已经提供的EC2实例首次启动后运行代码的功能即可
在创建EC2实例时,您可以提供一些所谓的“用户数据”,其中可以包含在实例首次启动后执行的代码。这对于创建EC2实例的所有方法都是可能的,无论是管理控制台、CLI、API、boto3
还是CloudFormation。AWS文档包含了非常广泛的信息,说明了如何工作:
例如,如果您使用boto3
创建EC2实例,则如下所示:
导入boto3
ec2_client=boto3.client(“ec2”)
ec2_client.run_实例(ImageId=“ami-abcd1234”,
InstanceType=“m3.medium”,
SubnetId=“subnet-abcd1234”,
SecurityGroupId=[“sg-abcd1234”],
UserData=“/home/ubuntu/type1.sh”
)
我不确定您想自动化什么。脚本不是已经为你自动化了一些过程吗?@busybear基本上我想自动化整个生命周期。因此,我使用boto创建了一个实例,然后“以某种方式”将ssh插入机器并运行脚本。我只是好奇人们是如何完成“不知何故”部分的。@busybear我想我是想得太多了。我想我已经有我的解决方案了。paramiko是一个用于SSH的Python包,如果这正是您想要的,我不确定您想要自动化什么。脚本不是已经为你自动化了一些过程吗?@busybear基本上我想自动化整个生命周期。因此,我使用boto创建了一个实例,然后“以某种方式”将ssh插入机器并运行脚本。我只是好奇人们是如何完成“不知何故”部分的。@busybear我想我是想得太多了。我想我已经有我的解决方案了。paramiko是一个用于SSH的Python包,如果您正在寻找的话。