我试图找到一种将shell命令传递给Linux EC2实例的方法。
基本上,我有一个脚本,它创建EBS卷,打开一个CloudFormation堆栈,然后将新卷附加到堆栈中的EC2实例。
我想要做的,是格式化和挂载该卷作为这个脚本的一部分,但我似乎遇到了一个路障。
我的python不是很棒,但我已经成功地通过了大部分这些,同时学习了一堆。我考虑过使用Paramiko,但是我需要通过几个服务器才能到达实例的子网。
# Attach an EBS volume to the EC2 Server instance
def attach_ebs(stack_id, results_volume):
resources = cfn.list_stack_resources(stack_id)
for r in resources:
if r.resource_type == "AWS::EC2::Instance" and "Server" in r.logical_resource_id:
ec2.attach_volume(results_volume, r.physical_resource_id, "/dev/sdh")发布于 2013-08-14 08:01:28
您可以使用python 子过程模块通过目标实例中的ssh执行命令。
为了避免jumphost混乱,请考虑从具有正确IAM角色的EC2实例中执行python脚本。或者使用ssh-链。
https://serverfault.com/questions/530839
复制相似问题