繁体   English   中英

如何自动化EC2实例启动和SSH连接

[英]How to automate EC2 instance startup and ssh connect

目前,我手动执行以下步骤:

  1. 打开EC2-Instance网站
  2. 在“ 操作” ->“ 实例状态”下,单击“ 开始”。
  3. 查看“ 连接”选项卡
  4. 手动复制ssh命令,例如:

    ssh -i "mykey.pem" ubuntu@ec2-13-112-241-333.ap-northeast-1.compute.amazonaws.com

什么是最佳实践,以便我可以通过本地计算机中的命令行简化这些词干? 这样我就可以只使用一个命令。

使用awscli的方法是

# Start the instance
aws ec2 start-instances --instance-ids i-xxxxxxxxxxx

status=0

# Wait for the instance until the 2/2 checks are passed
while [ $status -lt 2]
do
    status=`aws ec2 describe-instance-status --instance-ids  i-xxxxxxxxxxx --filters Name="instance-status.reachability,Values=passed" | grep  '"Status": "passed"' | wc -l`
    # add sleep time 
done

#  Associate an Elastic IP if already have one allocated (skip if not reqd)
aws ec2 associate-address --instance-id i-xxxxxxxxxxx --public-ip elastic_ip

#  Get the Public DNS, (If the instance has only PrivateIp, grep "PrivateIpAddress")
public_dns=`aws ec2 describe-instances --instance-ids i-xxxxxxxxxxx | grep "PublicDnsName" | head -1 | awk -F: '{print $2}' | sed 's/\ "//g;s/",//g'`

ssh -i key.pem username@public_dns

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM