スポットインスタンス の操作
スポットインスタンスを使用するには、希望するインスタンス数、インスタンスタイプ、アベイラビリティゾーンを含む、スポットインスタンスリクエストを作成します。キャパシティが利用可能になると、Amazon EC2 がすぐにリクエストを受理します。それ以外の場合、Amazon EC2 は、リクエストが受理できるようになるか、お客様がリクエストをキャンセルするまで待機します。
次の図にスポットインスタンスリクエストが動作する様子を示します。Amazon EC2がスポットインスタンスを中断した場合、あるいはユーザーがスポットインスタンスを停止した場合に、リクエストが再度開かれるかどうかは、リクエストタイプ (ワンタイムまたは永続) によって決定されることに注意してください 。リクエストが永続リクエストの場合、スポットインスタンスの中断後、リクエストが再度開かれます。リクエストが永続的で、スポットインスタンスがユーザーにより停止された場合、リクエストはスポットインスタンスが開始されるまでは開かれません。

内容
スポットインスタンスリクエストの状態
スポットインスタンスリクエストは、次に示すいずれかの状態を取ります。
-
open
– リクエストは受理されるまで待機状態です。 -
active
– リクエストは受理されており、関連付けられたスポットインスタンスが存在します。 -
failed
– リクエストの 1 つ以上のパラメータが正しくありません。 -
closed
– スポットインスタンスは中断または終了されました。 -
disabled
– スポットインスタンスがユーザーにより停止されました。 -
cancelled
– このリクエストはユーザーによりキャンセルされたか、リクエストの有効期限が切れました。
次の図は、 リクエストの状態の遷移を示しています。遷移はリクエストのタイプ (ワンタイムまたは永続) によって異なります。

ワンタイムスポットインスタンスリクエストは、Amazon EC2 がスポットインスタンスを起動するか、リクエストの有効期限が切れるか、またはユーザーがリクエストをキャンセルするまでアクティブ状態を維持します。利用できるキャパシティがない場合、スポットインスタンスは終了し、スポットインスタンスのリクエストは終了します。
永続スポットインスタンスリクエストは、リクエストが受理された後も、リクエストの有効期限が切れるかユーザーによりキャンセルされるまで、アクティブ状態を維持します。キャパシティを利用できない場合は、スポットインスタンスが中断されます。インスタンスが中断された後に、キャパシティが再び利用可能になると、スポットインスタンスが開始 (停止している場合)、あるいは再開 (休止状態の場合) されます。スポットインスタンスは、停止して、キャパシティを利用できるようになったとき再び開始することができます。スポットインスタンスが (停止状態にあるか実行状態にあるかに関係なく) 終了した場合には、スポットインスタンスリクエストが再び開かれ、Amazon EC2 により新しいスポットインスタンスが起動されます。詳細については、「スポットインスタンスを停止する」、「スポットインスタンスを開始する」、および「スポットインスタンスを終了する」を参照してください。
スポットインスタンスリクエストの状態と、起動済みのスポットインスタンスのステータスを追跡することができます。詳細については、「スポットリクエストステータス」を参照してください。
スポットインスタンス のテナンシーの指定
スポットインスタンスは、シングルテナントのハードウェア上で実行できます。ハードウェア専有 スポットインスタンス は、他の AWS アカウントに属するインスタンスからは物理的に分離されます。詳細については、「Dedicated Instances」および「Amazon EC2 ハードウェア専有インスタンス
ハードウェア専有スポットインスタンスを使用するには、次のいずれかを実行します。
-
スポットインスタンスリクエストを作成する際に、
dedicated
のテナンシーを指定します。詳細については、スポットインスタンスリクエストを作成する を参照してください。 -
dedicated
のインスタンステナンシーを持つ VPC 内で、スポットインスタンスをリクエストします。詳細については、専有インスタンスのテナンシーで VPC を作成します を参照してください。default
のインスタンステナンシーを使用して、 VPC 内でインスタンスをリクエストした場合は、dedicated
のテナンシーを使用しながらスポットインスタンスをリクエストすることはできません。
T インスタンスを除くすべてのインスタンスファミリーが、Dedicated スポットインスタンス をサポートしています。対象となるインスタンスファミリーにおいて、最大のインスタンスサイズまたはメタルサイズのみが、Dedicated スポットインスタンス をサポートします。
スポットインスタンスリクエスト向けのサービスにリンクされたロール
Amazon EC2 は、ユーザーに代わって AWS の他のサービスを呼び出すために必要なアクセス許可のために、サービスにリンクされたロールを使用します。サービスにリンクされたロールは、AWS のサービスに直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、AWS のサービスにアクセス許可を委任するためのセキュアな方法を提供します。これは、リンクされたサービスのみが、サービスにリンクされたロールを引き受けることができるためです。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの使用」を参照してください。
Amazon EC2 は、AWSServiceRoleForEC2Spot という、サービスにリンクされたロールを使用して、ユーザーの代わりに スポットインスタンス を起動して管理します。
AWSServiceRoleForEC2Spot によって付与されるアクセス許可
Amazon EC2 は、AWSServiceRoleForEC2Spot という、サービスにリンクされたロールを使用して、次のアクションを実行します。
-
ec2:DescribeInstances
– スポットインスタンスの記述 -
ec2:StopInstances
– スポットインスタンスの停止 -
ec2:StartInstances
– スポットインスタンスの開始
サービスにリンクされたロールの作成
ほとんどの状況では、サービスにリンクされたロールを手動で作成する必要はありません。Amazon EC2 は、ユーザーがコンソールを使用して初めてスポットインスタンスをリクエストした際に、サービスにリンクされたロール AWSServiceRoleForEC2Spot を作成します。
Amazon EC2 がこのサービスにリンクされたロールのサポートを開始した 2017 年 10 月よりも前に、ユーザーがアクティブなスポットインスタンスリクエストを行っている場合は、Amazon EC2 により AWSServiceRoleForEC2Spot ロールが AWS アカウントに作成されています。 詳細については、IAM ユーザーガイドの「アカウントに新しいロールが表示される」を参照してください。
AWS CLI または API を使用してスポットインスタンスをリクエストするには、まずこのロールが存在していることを確認する必要があります。
コンソールを使用して AWSServiceRoleForEC2Spot を作成するには
IAM コンソール (https://console.aws.amazon.com/iam/
) を開きます。 -
ナビゲーションペインで [Roles (ロール) ] を選択します。
-
[ロールの作成] を選択します。
-
[Select type of trusted entity (信頼されたエンティティのタイプを選択)] ページで、[EC2]、[EC2 - Spot Instances (EC2 - スポットインスタンス)]、[Next: Permissions (次の手順: アクセス許可)] の順に選択します。
-
次のページで、[次へ: 確認] を選択します。
-
[確認] ページで、[ロールの作成] を選択します。
AWS CLI を使用して AWSServiceRoleForEC2Spot を作成するには
次のように、create-service-linked-role コマンドを使用します。
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
スポットインスタンス を使用する必要がなくなった場合は、[AWSServiceRoleForEC2Spot] ロールを削除することをお勧めします。このロールがアカウントから削除された後で、Amazon EC2 をリクエストすると、スポットインスタンス はロールを再度作成します。
暗号化された AMI および EBS スナップショット用のカスタマーマネージド型キーへのアクセス権限の付与
スポットインスタンス のために暗号化された AMI または暗号化された Amazon EBS スナップショットを指定しており、カスタマーマネージド型キーを暗号化に使用する場合は、Amazon EC2 がユーザーに代わってスポットインスタンスを起動できるようにするために、カスタマーマネージド型キーを使用する許可を AWSServiceRoleForEC2Spot ロールにより付与する必要があります。これを行うには、次の手順で示すように、カスタマーマネージド型キーに対し付与を追加する必要があります。
アクセス権限を設定するときは、付与がキーポリシーの代わりになります。詳細については、 デベロッパーガイドの「許可の使用」と「 でのキーポリシーの使用」を参照してください。https://docs.aws.amazon.com/kms/latest/developerguide/grants.htmlAWS KMSAWS Key Management Service
AWSServiceRoleForEC2Spot ロールにカスタマーマネージド型キーを使用する許可を付与するには
-
create-grant コマンドを使用してカスタマーマネージド型キーに付与を追加し、プリンシパル (サービスにリンクされたロールの AWSServiceRoleForEC2Spot) を指定します。このプリンシパルには、付与が許可するオペレーションを実行するためのアクセス許可が含まれています。カスタマーマネージド型キーは、
key-id
パラメータと、そのカスタマーマネージド型キーの ARN により指定します。プリンシパルを指定するには、grantee-principal
パラメータとサービスにリンクされたロール AWSServiceRoleForEC2Spot の ARN を使用します。aws kms create-grant \ --region
us-east-1
\ --key-id arn:aws:kms:us-east-1
:444455556666
:key/1234abcd-12ab-34cd-56ef-1234567890ab
\ --grantee-principal arn:aws:iam::111122223333
:role/aws-service-role/spot.amazonaws.com/AWSServiceRoleForEC2Spot \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"
スポットインスタンスリクエストを作成する
オンデマンドインスタンスを起動するのと同じ方法で、Amazon EC2 コンソールの インスタンス起動ウィザード またはr un-instances AWS CLI コマンドを使用してスポットインスタンスをリクエストできます。このメソッドは、以下の理由でのみ推奨されます。
-
すでに インスタンスの起動ウィザード または run-instances コマンドを使用してオンデマンドインスタンスを起動しており、単一のパラメータを変更することでスポットインスタンスの起動に変更したいだけです。
-
異なるインスタンスタイプを持つ複数のインスタンスは、必要ありません。
複数のインスタンスタイプを指定することはできず、同じリクエストでスポットインスタンスとオンデマンドインスタンスを起動することはできないため、このメソッドは通常、スポットインスタンスの起動にはお勧めしません。複数のインスタンスタイプを持つスポットインスタンスとオンデマンドインスタンスを含むフリートの起動を含む、スポットインスタンスを起動するための推奨される方法については、「使用すべき最適なスポットリクエスト方法はどれですか?」を参照してください。
一度に複数のスポットインスタンスをリクエストした場合、 Amazon EC2 により個別のスポットインスタンスに対するリクエストが作成されるので、各リクエストのステータスを単独で追跡することが可能です。スポットインスタンスリクエストの追跡については、「スポットリクエストステータス」を参照してください。
実行中の スポットインスタンス の検索
Amazon EC2 は、キャパシティが利用可能であるときにスポットインスタンスを起動します。スポットインスタンスは中断されるか、ユーザーにより終了されるまで実行されます。
実行中の スポットインスタンス を検索するには (コンソール)
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[Spot Requests] を選択します。スポットインスタンスリクエストとスポットフリートリクエストの両方を表示できます。スポットインスタンスリクエストが受理された場合、[容量] がスポットインスタンスの ID となります。スポットフリートの場合、[容量] はリクエストされた容量のうち受理された量を示します。スポットフリートのインスタンスの ID を表示するには、拡張矢印を選択するか、フリートを選択した上で [インスタンス] を選択します。
注記
スポットフリートによって作成されたスポットインスタンスリクエストの場合、そのリクエストが属するスポットフリートを示すシステムタグはリクエストに即座にタグ付けされません。また、一定期間、スポットフリートリクエストとは別に表示されることがあります。
または、ナビゲーションペインで [Instances] を選択します。右上隅にある設定アイコン (
) を選択し、[Attribute (属性)] 列で [Instance lifecycle (インスタンスライフサイクル)] を選択します。各インスタンスの [Instance lifecycle (インスタンスライフサイクル)] は、
normal
、spot
、またはscheduled
のいずれかです。
実行中のスポットインスタンスを検索するには (AWS CLI)
スポットインスタンス を一覧表示するには、--query
オプションを指定して describe-spot-instance-requests コマンドを実行します。
aws ec2 describe-spot-instance-requests \ --query "SpotInstanceRequests[*].{ID:InstanceId}"
出力例を次に示します。
[
{
"ID": "i-1234567890abcdef0"
},
{
"ID": "i-0598c7d356eba48d7"
}
]
または、--filters
オプションを指定して describe-instances コマンドを実行しても、スポットインスタンス を一覧表示できます。
aws ec2 describe-instances \ --filters "Name=instance-lifecycle,Values=spot"
単一のスポットインスタンスを表示するには、--spot-instance-request-ids
オプションを指定しながら describe-spot-instance-requests コマンドを使用します。
aws ec2 describe-spot-instance-requests \ --spot-instance-request-ids
sir-08b93456
スポットインスタンスリクエストをタグ付けする
スポットインスタンスリクエストを分類および管理しやすくするため、カスタムメタデータでタグ付けすることができます。タグは、スポットインスタンスリクエストの作成時、またはその後に割り当てることができます。Amazon EC2 コンソールまたはコマンドラインツールを使用してタグを割り当てることができます。
スポットインスタンスリクエストにタグ付けを行っても、そのスポットインスタンスリクエストによって起動されたインスタンスやボリュームには、自動的なタグ付けは行われません。スポットインスタンスリクエストによって起動されたインスタンスやボリュームには、明示的にタグを付ける必要があります。スポットインスタンスおよびボリュームへのタグの割り当ては、起動時または起動後に行うことができます。
タグの仕組みの詳細については、「Amazon EC2 リソースのタグ付け」を参照してください。
前提条件
リソースにタグ付けする許可をユーザーに付与します。IAM ポリシーとサンプルポリシーの詳細については、「例: リソースのタグ付け」を参照してください。
作成する IAM ポリシーは、スポットインスタンスリクエストの作成に使用する方法によって決まります。
-
インスタンスの起動ウィザードまたは
run-instances
を使用して スポットインスタンス をリクエストする場合は、「To grant a user the permission to tag resources when using the launch instance wizard or run-instances」を参照してください。 -
スポットインスタンスをリクエストするために
request-spot-instances
コマンドを使用する場合は、「To grant a user the permission to tag resources when using request-spot-instances」を参照してください。
インスタンス起動ウィザードまたは run-instances を使用する場合にリソースにタグを付けるための許可をユーザーに付与するには
以下を含む IAM ポリシーを作成します。
-
ec2:RunInstances
アクション。これにより、インスタンスを起動するための許可がユーザーに付与されます。 -
Resource
で、spot-instances-request
を指定します。これによりユーザーは、スポットインスタンスを要求するためのスポットインスタンスリクエストを作成できるようになります。 -
ec2:CreateTags
アクション。これにより、タグを作成する許可がユーザーに付与されます。 -
Resource
で、*
を指定します。これにより、ユーザーはインスタンスの起動時に作成されるすべてのリソースにタグを付けることを許可されます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowLaunchInstances", "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:us-east-1::image/*", "arn:aws:ec2:us-east-1:*:subnet/*", "arn:aws:ec2:us-east-1:*:network-interface/*", "arn:aws:ec2:us-east-1:*:security-group/*", "arn:aws:ec2:us-east-1:*:key-pair/*", "arn:aws:ec2:us-east-1:*:volume/*", "arn:aws:ec2:us-east-1:*:instance/*", "arn:aws:ec2:us-east-1:*:spot-instances-request/*" ] }, { "Sid": "TagSpotInstanceRequests", "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": "*" } ] }
注記
RunInstances アクションを使用してスポットインスタンスリクエストを作成し、その際、リクエストにタグを付ける場合には、Amazon EC2 が RunInstances ステートメント内で spot-instances-request
リソースをどのように評価するのかについて、注意を払う必要があります。
spot-instances-request
リソースは、IAM ポリシーで次のように評価されます。
-
スポットインスタンスリクエストの作成時にタグを付けない場合、Amazon EC2 は RunInstances ステートメント内の
spot-instances-request
リソースを評価しません。 -
スポットインスタンスリクエストの作成時にタグを付けると、 RunInstances ステートメント内の
spot-instances-request
リソースが、Amazon EC2 により評価されます。
したがって、spot-instances-request
リソースの場合、次のルールが IAM ポリシーに適用されます。
-
RunInstances を使用してスポットインスタンスリクエストを作成し、その際リクエストにタグを付けない場合は、
spot-instances-request
リソースを明示的に許可しなくても、その呼び出しは成功します。 -
RunInstances を使用してスポットインスタンスリクエストを作成する際に、そのリクエストにタグを付ける場合には、RunInstances の許可ステートメントに
spot-instances-request
リソースを含める必要があります。これがない場合は呼び出しが失敗します。 -
RunInstances を使用してスポットインスタンスリクエストを作成する際に、そのリクエストにタグを付ける場合は、許可ステートメント CreateTags で
spot-instances-request
リソースを指定するか、そこに*
ワイルドカードを含める必要があります。これがない場合は呼び出しが失敗します。
IAM ポリシー (スポットインスタンスリクエストでサポートされていないポリシーを含む) の例については、「スポットインスタンス の操作」を参照してください。
request-spot-instances を使用する場合でリソースにタグを付けるための許可をユーザーに付与するには
以下を含む IAM ポリシーを作成します。
-
ec2:RequestSpotInstances
アクション。これにより、スポットインスタンスリクエストを作成する許可がユーザーに付与されます。 -
ec2:CreateTags
アクション。これにより、タグを作成する許可がユーザーに付与されます。 -
Resource
で、spot-instances-request
を指定します。これにより、ユーザーはスポットインスタンスリクエストにのみタグを付けることが許可されます。
{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotInstanceRequest", "Effect": "Allow", "Action": [ "ec2:RequestSpotInstances", "ec2:CreateTags" ], "Resource": "arn:aws:ec2:
us-east-1
:111122223333
:spot-instances-request/*" }
新しいスポットインスタンスリクエストにタグを付ける
コンソールを使用して新しいスポットインスタンスリクエストにタグ付けするには
-
「スポットインスタンスリクエストを作成する」の手順に従います。
-
タグを追加するには、[タグの追加] ページで [タグの追加] をクリックし、タグのキーと値を入力します。追加するタグごとに [別のタグを追加] をクリックします。
1 つのタグを、スポットインスタンスリクエスト、スポットインスタンス、およびボリュームに対し同時にタグ付けすることができます。3 つすべてにタグを付けるには、[インスタンス]、[ボリューム]、[スポットインスタンスリクエスト] をそれぞれ選択します。1 つまたは 2 つにのみタグを付けるには、タグを付けるリソースを選択し、他のリソースを選択していないことを確認します。
-
必須フィールドにすべて入力してスポットインスタンスリクエストを作成した後、[起動] を選択します。詳細については、スポットインスタンスリクエストを作成する を参照してください。
AWS CLI を使用して新しいスポットインスタンスリクエストにタグ付けするには
スポットインスタンスリクエストの作成時にタグ付けするには、以下のようにスポットインスタンスリクエストを設定します。
-
--tag-specification
パラメータを使用してスポットインスタンスリクエストのタグを指定します。 -
ResourceType
で、spot-instances-request
を指定します。別の値を指定すると、スポットインスタンスリクエストは失敗します。 -
Tags
で、キーと値のペアを指定します。キーと値のペアは複数指定できます。
以下の例では、スポットインスタンスリクエストには 2 つのタグ (Environment キーと Production 値、ならびに Cost-Center キーと 123 値) が付けられています。
aws ec2 request-spot-instances \ --instance-count
5
\ --type "one-time" \ --launch-specification file://specification.json
\ --tag-specification 'ResourceType=spot-instances-request,Tags=[{Key=Environment
,Value=Production
},{Key=Cost-Center
,Value=123
}]'
既存のスポットインスタンスリクエストにタグ付けをする
コンソールを使用して既存のスポットインスタンスリクエストにタグ付けするには
スポットインスタンスリクエストの作成後に、コンソールを使用してそのリクエストにタグを追加できます。
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
-
ナビゲーションペインで、[Spot Requests] を選択します。
-
スポットインスタンスリクエストを選択します。
-
[Tags (タグ)] タブを選択してから、[タグの作成] を選択します。
コンソールを使用して既存のスポットインスタンスにタグを付けるには
スポットインスタンスリクエストによってスポットインスタンスを起動した後で、コンソールを使用して、そのインスタンスにタグを追加できます。詳細については、個々のリソースのタグの追加および削除 を参照してください。
AWS CLI を使用して、既存のスポットインスタンスリクエストまたはスポットインスタンスにタグを付けるには
create-tags コマンドを使用して、既存のリソースにタグを付けます。次の例では、既存のスポットインスタンスリクエストとスポットインスタンスに、purpose キーと test 値のタグを付けています。
aws ec2 create-tags \ --resources
sir-08b93456
i-1234567890abcdef0
\ --tags Key=purpose
,Value=test
スポットインスタンスリクエストのタグを表示する
コンソールを使用してスポットインスタンスリクエストのタグを表示するには
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
-
ナビゲーションペインで、[Spot Requests] を選択します。
-
スポットインスタンスリクエストを選択してから、[タグ] タブを選択します。
スポットインスタンスリクエストのタグを詳細表示するには
describe-tags コマンドを使用して、指定したリソースのタグを表示します。以下の例では、指定した リクエストのタグの情報を取得します。
aws ec2 describe-tags \ --filters "Name=resource-id,Values=
sir-11112222-3333-4444-5555-66666EXAMPLE
"
{
"Tags": [
{
"Key": "Environment",
"ResourceId": "sir-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-instances-request",
"Value": "Production"
},
{
"Key": "Another key",
"ResourceId": "sir-11112222-3333-4444-5555-66666EXAMPLE",
"ResourceType": "spot-instances-request",
"Value": "Another value"
}
]
}
スポットインスタンスリクエストを詳細表示すると、そのスポットインスタンスリクエストのタグを確認することができます。
describe-spot-instance-requests コマンドを使用して、指定したスポットインスタンスリクエストの設定を表示します。この内容には、リクエストに指定されたタグがすべて含まれます。
aws ec2 describe-spot-instance-requests \ --spot-instance-request-ids
sir-11112222-3333-4444-5555-66666EXAMPLE
{
"SpotInstanceRequests": [
{
"CreateTime": "2020-06-24T14:22:11+00:00",
"InstanceId": "i-1234567890EXAMPLE",
"LaunchSpecification": {
"SecurityGroups": [
{
"GroupName": "launch-wizard-6",
"GroupId": "sg-1234567890EXAMPLE"
}
],
"BlockDeviceMappings": [
{
"DeviceName": "/dev/xvda",
"Ebs": {
"DeleteOnTermination": true,
"VolumeSize": 8,
"VolumeType": "gp2"
}
}
],
"ImageId": "ami-1234567890EXAMPLE",
"InstanceType": "t2.micro",
"KeyName": "my-key-pair",
"NetworkInterfaces": [
{
"DeleteOnTermination": true,
"DeviceIndex": 0,
"SubnetId": "subnet-11122233"
}
],
"Placement": {
"AvailabilityZone": "eu-west-1c",
"Tenancy": "default"
},
"Monitoring": {
"Enabled": false
}
},
"LaunchedAvailabilityZone": "eu-west-1c",
"ProductDescription": "Linux/UNIX",
"SpotInstanceRequestId": "sir-1234567890EXAMPLE",
"SpotPrice": "0.012600",
"State": "active",
"Status": {
"Code": "fulfilled",
"Message": "Your spot request is fulfilled.",
"UpdateTime": "2020-06-25T18:30:21+00:00"
},
"Tags": [
{
"Key": "Environment",
"Value": "Production"
},
{
"Key": "Another key",
"Value": "Another value"
}
],
"Type": "one-time",
"InstanceInterruptionBehavior": "terminate"
}
]
}
スポットインスタンスリクエストをキャンセルする
スポットインスタンスリクエストが不要になった場合には、それをキャンセルすることができます。open
、active
、または disabled
のスポットインスタンスリクエストのみキャンセルできます。
-
スポットインスタンスリクエストがまだ受理されておらず、インスタンスが起動されていない段階では、そのリクエストは
open
状態にあります。 -
スポットインスタンスリクエストが受理され、スポットインスタンスの起動が完了している場合、そのスポットインスタンスリクエストは
active
状態になります。 -
ユーザーがスポットインスタンスを停止した場合、スポットインスタンスリクエストは
disabled
状態になります。
スポットインスタンスリクエストの状態が active
で、関連付けられたスポットインスタンスが実行されている場合、そのリクエストをキャンセルしても、関連するインスタンスは終了しません。スポットインスタンスの終了の詳細については、「スポットインスタンスを終了する」を参照してください。
スポットインスタンスリクエストをキャンセルするには (コンソール)
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/
) を開きます。 -
ナビゲーションペインで、[スポットリクエスト] をクリックした後、スポットインスタンスリクエストを選択します。
-
[アクション]、[リクエストのキャンセル] の順にクリックします。
-
(オプション) 関連付けられたスポットインスタンスを使い終わったら、スポットインスタンス を終了できます。[スポットリクエストのキャンセル] ダイアログボックスで、[インスタンスの終了]、[確認] の順にクリックします。
スポットインスタンスリクエストをキャンセルするには (AWS CLI)
-
指定したスポットインスタンスリクエストをキャンセルするには、cancel-spot-instance-requests コマンドを使用します。
aws ec2 cancel-spot-instance-requests --spot-instance-request-ids
sir-08b93456
スポットインスタンスを停止する
今すぐスポットインスタンスは必要ないが、Amazon EBS ボリューム内に保持されているデータを失わずに後で再起動する必要がある場合は、それらを停止できます。スポットインスタンスを停止する手順は、オンデマンドインスタンスを停止する手順と似ています。
注記
スポットインスタンスが停止している間、そのインスタンスの属性の一部は変更可能ですが、インスタンスタイプを変更することはできません。
停止しているスポットインスタンスの使用料またはデータ転送料は課金されませんが、Amazon EBS ボリュームのストレージに対しては課金されます。
制限事項
-
スポットインスタンスを停止できるのは、そのインスタンスが、
persistent
なスポットインスタンスリクエストから起動された場合だけです。 -
関連するスポットインスタンスリクエストがキャンセルされている場合は、スポットインスタンス を停止することはできません。スポットインスタンスリクエストがキャンセルされた場合は、スポットインスタンスを終了することのみ可能です。
-
フリート、起動グループ、またはアベイラビリティーゾーングループの一部であるスポットインスタンスは停止できません。
スポットインスタンスを開始する
以前に停止したスポットインスタンスは開始することができます。スポットインスタンスを開始する手順は、オンデマンドインスタンスを開始する手順と似ています。
前提条件
スポットインスタンスは、次の場合にのみ開始できます。
-
スポットインスタンスを手動で停止している。
-
スポットインスタンスが EBS-backed インスタンスである。
-
スポットインスタンスに使用可能な容量がある。
-
スポット料金が上限価格より低くなっている。
制限事項
-
フリート、起動グループ、またはアベイラビリティーゾーングループの一部であるスポットインスタンスを開始することはできません。
スポットインスタンスを終了する
永続スポットインスタンスリクエストによって起動された実行中または停止中のスポットインスタンスを終了すると、そのスポットインスタンスリクエストの状態は open
に遷移し、新たなスポットインスタンスを起動できるようになります。新しいスポットインスタンスが起動されないようにするには、まずスポットインスタンスリクエストをキャンセルする必要があります。
スポットインスタンスを実行させている active
スポットインスタンスリクエストをキャンセルしても、実行中のスポットインスタンスは自動的に終了されません。スポットインスタンスは手動で終了する必要があります。
停止中のスポットインスタンスを持つ disabled
スポットインスタンスリクエストをキャンセルした場合、この停止中のスポットインスタンスは、Amazon EC2 スポットサービスによって自動的に終了されます。スポットインスタンスリクエストをキャンセルしてから、スポットサービスがスポットインスタンスを終了するまでの間に、短い遅延が生じることがあります。
スポットインスタンスリクエストのキャンセルの詳細については、「スポットインスタンスリクエストをキャンセルする」を参照してください。