通常创建一个spot请求或创建一个instance比较费时,
创建命令完成后不能马上执行ssh等命令。
AWS的CLI提供了一个wait子命令来阻塞住命令,帮助脚本的顺序正常执行。
下面以创建一个Spot EC2实例为例子,演示wait的功能。
查看spot价格记录
aws ec2 describe-spot-price-history --start-time $(date +"%Y%m%dT%H0000") --product "Linux/UNIX (Amazon VPC)" --instance-type "m3.medium" --region us-east-1 --output table创建Spot请求
aws ec2 request-spot-instances --region us-east-1 --spot-price "0.010" --instance-count 1 --type "one-time" --launch-specification "{\"ImageId\":\"ami-1ecae776\",\"InstanceType\":\"m3.medium\",\"SubnetId\":\"subnet-ID\", \"SecurityGroupIds\": [\"sg-ID\"],\"KeyName\": \"PemFile\"}"等待请求被接受。由于使用了wait命令,直到接受,命令才会返回,否则一直阻塞
aws ec2 wait spot-instance-request-fulfilled --spot-instance-request-ids sir-xxxxxxx --region us-east-1根据请求获得EC2实例的id
aws ec2 describe-spot-instance-requests --spot-instance-request-ids sir-xxxxxxx --region us-east-1等待实例被创建完成。这一步很快会返回,但是还不能ssh连接,因为需要做初始化配置
aws ec2 wait instance-running --instance-ids i-xxxxxxx --region us-east-1 等待实例成为可访问状态。这一步大概需要等待2,3分钟
aws ec2 wait instance-status-ok --instance-ids i-xxxxxxx --region us-east-1等上一步完成,实例才算真正创建完成,能通过ssh或RDP连接上。

本文详细介绍了如何利用AWS CLI创建EC2 Spot实例,包括查看Spot价格历史、创建Spot请求、等待请求接受、获取实例ID、等待实例运行和状态正常等关键步骤,确保资源高效利用。
670

被折叠的 条评论
为什么被折叠?



