{EC2}スポットインスタンスリクエスト

リクエストタイプが永続リクエストの場合、
スポットインスタンスの中断後、リクエストが再度開かれます
インスタンスを停止できます

リクエストタイプがワンタイムリエストの場合、
スポットインスタンスの中断後、リクエストが終了です
インスタンスを停止できません


-- 1. コマンド等のインストール

-- 1.1 aws cli version 2 インストール

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
aws --version

-- 2. サービスにリンクされたロールの作成

aws iam list-roles | grep AWSServiceRoleForEC2Spot

-- ロールがない場合、作成する

aws iam create-service-linked-role --aws-service-name spot.amazonaws.com

-- 3. スポットインスタンスを作成する

aws ec2 run-instances \
--image-id ami-0404778e217f54308 \
--instance-type t3.nano \
--key-name key1 \
--instance-market-options '{"MarketType": "spot","SpotOptions": {"SpotInstanceType": "one-time"}}'

 

-- 4. スポットインスタンスの確認

aws ec2 describe-spot-instance-requests

aws ec2 describe-spot-instance-requests \
--query "SpotInstanceRequests[*].{InstanceId:InstanceId}"


-- 5. クリーンアップ

-- EC2インスタンスの削除
aws ec2 describe-instances

aws ec2 terminate-instances \
--instance-ids i-11111111111111111

 

-- ロールの削除
-- AWSServiceRoleForEC2Spotは削除できない
-- - this role is only modifiable by AWS