如何使用aws-cli对spot请求进行等待



我正在使用以下CLI命令启动AWS点实例请求。

aws configure set aws_access_key_id XXXXXXXXXXXXXXXXXXXXXXX
aws configure set aws_secret_access_key wrrhiuhruiiwheuigxxxr
aws ec2 request-spot-instances 
--instance-count 1 
--launch-specification file://specification.json 
aws ec2 wait spot-instance-request-fulfilled 
--filters Name=launched-availability-zone,Values=us-east-1b

规范文件

{
"ImageId": "ami-06dae4bf922346785",
"KeyName": "fpga_instance_key",
"SecurityGroupIds": [
"sg-xxxxxxxxxxx"
],
"InstanceType": "f1.2xlarge",
"Placement": {
"AvailabilityZone": "us-east-1b"
},
"IamInstanceProfile": {
"Arn": "arn:aws:iam::111111111111:instance-profile/aws-ec-role1"
}
}

我想等到实例请求得到满足,但即使在请求得到满足后,它仍在等待。如果我可以在创建请求时使用已分配的实例id等待,有什么更好的方法吗?我在aws-cli方面没有任何专业知识,我只是把它用于学术目的,我所知道的只是通过互联网。

您可以尝试等待特定的现场请求id吗?

SPOT_REQUEST_ID=$(aws ec2 request-spot-instances 
--instance-count 1 
--launch-specification file://specification.json 
--query 'SpotInstanceRequests[].SpotInstanceRequestId' 
--output text)
aws ec2 wait spot-instance-request-fulfilled 
--filters Name=spot-instance-request-id,Values=$SPOT_REQUEST_ID

最新更新