スポットフリートリクエスト - Amazon Elastic Compute Cloud

スポットフリートリクエスト

スポットフリートを使用するには、ターゲット容量、オプションでオンデマンド部分、インスタンスの 1 つ以上の起動仕様、希望上限価格を含めたスポットフリートリクエストを作成します。Amazon EC2 は、スポット料金が変化してもスポットフリートのターゲット容量を維持しようとします。詳細については、「スポットフリート」を参照してください。

スポットフリートリクエストには、request および maintain の 2 つのタイプがあります。スポットフリートを作成して、希望する容量のワンタイムリクエストを送信するか、ターゲット容量の継続した維持を要求できます。どちらのリクエストタイプも、スポットフリートの分散戦略の恩恵を受けます。

ワンタイムリクエストを作成すると、スポットフリートは必要なリクエストを行いますが、容量が減少した場合はスポットインスタンスの補充を試みません。使用可能な容量がない場合、スポットフリートは代替スポットプールでリクエストを送信しません。

ターゲット容量を維持するために、スポットフリートはターゲット容量を満たすのに必要なリクエストを行い、中断されたインスタンスを自動的に補充します。

送信後にワンタイムリクエストのターゲット容量を変更することはできません。ターゲット容量を変更するには、リクエストを変更し、新しいリクエストを送信します。

スポットフリートリクエストは、期限切れになるかキャンセルされるまで、アクティブな状態を維持します。スポットフリートリクエストをキャンセルする場合、スポットフリートのスポットインスタンスを終了するか指定できます。

各起動仕様には、Amazon EC2 によるインスタンスの起動に必要な情報 (AMI、インスタンスタイプ、サブネットまたはアベイラビリティーゾーン、そして 1 つ以上のセキュリティグループ) を指定します。

スポットフリートリクエストの状態

スポットフリートリクエストは、次の状態のいずれかになります。

  • submitted - スポットフリートリクエストは評価中です。Amazon EC2 はターゲット数のインスタンスの起動を準備中です。

  • active - スポットフリートは検証済みです。Amazon EC2 はターゲット数の実行中のスポットインスタンスを維持しようとしています。リクエストは、変更またはキャンセルされるまで、この状態のままになります。

  • modifying - スポットフリートリクエストは変更中です。リクエストは、変更が完全に処理されるか、スポットフリートがキャンセルされるまで、この状態を維持します。ワンタイム request を変更することはできません。この状態は、そのようなスポットリクエストには適用されません。

  • cancelled_running — スポットフリートはキャンセルされ、追加のスポットインスタンスを起動しません。その既存の スポットインスタンス は、中断または終了されるまで実行され続けます。リクエストは、すべてのインスタンスが中断されるか終了されるまで、この状態のままになります。

  • cancelled_terminating — スポットフリートはキャンセルされ、スポットインスタンスは終了します。リクエストは、すべてのインスタンスが終了されるまで、この状態のままになります。

  • cancelled — スポットフリートはキャンセルされ、実行中のスポットインスタンスはありません。スポットリクエストは、インスタンスが終了して 2 日後に削除されます。

次の図は、 リクエストの状態の遷移を示しています。スポットフリートの制限を超えた場合、リクエストはすぐにキャンセルされます。


					スポットフリートリクエストの状態

スポットフリートのヘルスチェック

スポットフリートは、2 分ごとにフリートのスポットインスタンスのヘルスステータスをチェックします。インスタンスのヘルスステータスは healthy または unhealthy です。

スポットフリート は、Amazon EC2 が提供するステータスチェックを使用して、インスタンスのヘルスステータスを判断します。インスタンスステータスとシステムステータスのいずれかのチェック結果において、ステータスが 3 回連続して unhealthy を示した場合、そのインスタンスは impaired と判断されます。詳細については、「インスタンスのステータスチェック」を参照してください。

フリートを設定して、異常のある スポットインスタンス を置き換えることができます。ヘルスチェックによる置き換えを有効化すると、unhealthy と報告されたスポットインスタンスが置き換えられます。異常なスポットインスタンスの置き換え中、最大数分間フリートがターゲット容量を下回る場合があります。

Requirements

  • ヘルスチェックによる置き換えは、1 回限りの スポットフリート (maintain のフリート) ではなく、ターゲット容量を維持している スポットフリート (タイプ request のフリート) でのみサポートされます。

  • ヘルスチェックによる置き換えは、スポットインスタンス でのみサポートされます。この機能は オンデマンドインスタンス ではサポートされていません。

  • 作成時のみ、異常なインスタンスを置き換えるようスポットフリートを設定できます。

  • IAM ユーザーは、ec2:DescribeInstanceStatus アクションを呼び出すアクセス許可を持っている場合のみ、ヘルスチェックの置換を使用できます。

Console

コンソールを使用して、異常なスポットインスタンスを置き換えるようにスポットフリートを設定するには

  1. 手順に従ってスポットフリートを作成します。詳細については、「定義済みパラメータを使用してスポットフリートリクエストを作成します (コンソール)」を参照してください。

  2. 異常のある スポットインスタンス を置き換えるようにフリートを設定するには、[ヘルスチェック] で [異常のあるインスタンスの置き換え] を選択します。このオプションを有効にするには、まず [Maintain target capacity (ターゲット容量を維持する)] を選択する必要があります。

AWS CLI

AWS CLI を使用して、異常なスポットインスタンスを置き換えるようにスポットフリートを設定するには

  1. 手順に従ってスポットフリートを作成します。詳細については、「スポットフリートを作成するにはAWS CLI」を参照してください。

  2. 異常のある スポットインスタンス を置き換えるようにフリートを設定するには、ReplaceUnhealthyInstancestrue を指定します。

スポットフリートリクエストの計画

スポットフリートリクエストを作成する前に、「スポットのベストプラクティス」を確認してください。スポットフリートリクエストを計画するときにこれらのベストプラクティスを使用して、できるだけ低価格で希望するインスタンスのタイプをプロビジョニングできます。また、次のことをお勧めします。

  • 希望するターゲット容量のワンタイムリクエストを送信するスポットフリート、またはターゲット容量の継続した維持を行うスポットフリートのどちらを作成するか決定します。

  • アプリケーションの要件を満たすインスタンスタイプを決定します。

  • スポットフリートリクエストのターゲット容量を決定します。インスタンスまたはカスタムユニットでターゲット容量を設定できます。詳細については、「スポットフリートインスタンスの分量指定」を参照してください。

  • スポットフリートのターゲット容量のどの部分がオンデマンド容量となるか決定します。オンデマンドキャパシティーに対して 0 を指定できます。

  • インスタンス分量指定を使用している場合は、ユニット当りの料金を決定します。インスタンス時間当りの料金の計算は、インスタンス時間当たりの料金をそのインスタンスが表すユニット数 (または分量) で割って算出します インスタンス分量指定を使用する場合、ユニット当りのデフォルトの料金は 1 インスタンス時間当りの料金となります。

  • スポットフリートリクエストの可能なオプションを確認します。詳細については、AWS CLI コマンドリファレンスの「request-spot-fleet コマンド」を参照してください。その他の例については、「スポットフリートの設定例」を参照してください。

スポットフリートアクセス許可

IAM ユーザーがスポットフリートを作成または管理する場合、必要なアクセス許可を付与する必要があります。

Amazon EC2 コンソールを使用してスポットフリートを作成した場合、AWSServiceRoleForEC2SpotFleet および AWSServiceRoleForEC2Spot というサービスにリンクされた 2 つのロールと、aws-ec2-spot-fleet-tagging-role というロールが作成されます。ユーザーの代わりに、リソースのリクエスト、起動、終了、タグ付けを行うアクセス許可をスポットフリートに与えます。AWS CLI または API を使用する場合は、これらのロールが存在することを確認する必要があります。

次の手順に従って、必要なアクセス許可を付与し、ロールを作成します。

IAM ユーザーにスポットフリートのアクセス許可を付与します。

IAM ユーザーがスポットフリートを作成または管理する場合、次のように、必要なアクセス許可を必ず付与してください。

IAM ユーザーにスポットフリートのアクセス許可を付与するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで、[Policies]、[Create policy] の順に選択します。

  3. [ポリシーの作成] ページで、 [JSON] を選択し、テキストを以下に置き換えます。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateTags", "ec2:RequestSpotFleet", "ec2:ModifySpotFleetRequest", "ec2:CancelSpotFleetRequests", "ec2:DescribeSpotFleetRequests", "ec2:DescribeSpotFleetInstances", "ec2:DescribeSpotFleetRequestHistory" ], "Resource": "*" }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/aws-ec2-spot-fleet-tagging-role" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole", "iam:ListRoles", "iam:ListInstanceProfiles" ], "Resource": "*" } ] }

    前述したポリシーの例では、ほとんどのスポットフリートのユースケースで必要なアクセス許可を IAM ユーザーに付与します。特定の API アクションに制限するには、代わりにこれらの API アクションのみを指定します。

    必要な EC2 および IAM の API

    ポリシーには、次の API を含める必要があります。

    • ec2:RunInstances — スポットフリートでインスタンスを起動するために必要

    • ec2:CreateTags — スポットフリートのリクエスト、インスタンス、またはボリュームのタグ付けに必要

    • iam:PassRole — スポットフリートロールを指定するために必要

    • iam:CreateServiceLinkedRole - サービスにリンクされたロールの作成に必要

    • iam:ListRoles - 既存の IAM ロールを列挙するために必要

    • iam:ListInstanceProfiles - 既存のインスタンスプロファイルを列挙するために必要

    重要

    起動仕様または起動テンプレートで IAM インスタンスプロファイルのロールを指定する場合は、そのロールをサービスに渡すアクセス許可を IAM ユーザーに付与する必要があります。これを行うには、IAM ポリシーで "arn:aws:iam::*:role/IamInstanceProfile-role" アクションのリソースとして iam:PassRole を含めます。詳細については、IAM ユーザーガイドの「 AWS サービスにロールを渡すアクセス権限をユーザーに付与する」を参照してください。

    スポットフリートの API

    必要に応じて、次のスポットフリート API アクションをポリシーに追加します。

    • ec2:RequestSpotFleet

    • ec2:ModifySpotFleetRequest

    • ec2:CancelSpotFleetRequests

    • ec2:DescribeSpotFleetRequests

    • ec2:DescribeSpotFleetInstances

    • ec2:DescribeSpotFleetRequestHistory

    オプションの IAM API

    (オプション) IAM ユーザーが IAM コンソールを使用してロールまたはインスタンスプロファイルを作成できるようにするには、次のアクションをポリシーに追加する必要があります。

    • iam:AddRoleToInstanceProfile

    • iam:AttachRolePolicy

    • iam:CreateInstanceProfile

    • iam:CreateRole

    • iam:GetRole

    • iam:ListPolicies

  4. [ポリシーの確認] を選択します。

  5. [ポリシーの確認] ページでポリシー名と説明を入力し、[ポリシーの作成] を選択します。

  6. ナビゲーションペインで [Users] を選択し、ユーザーを選択します。

  7. [Permissions]、[Add permissions] の順に選択します。

  8. [Attach existing policies directly] を選択します。以前に作成したポリシーを選択し、[Next: Review] を選択します。

  9. [Add permissions] を選択します。

スポットフリート用のサービスにリンクされたロール

Amazon EC2 は、ユーザーに代わって AWS の他のサービスを呼び出すために必要なアクセス許可のために、サービスにリンクされたロールを使用します。サービスにリンクされたロールは、AWS のサービスに直接リンクされた一意のタイプの IAM ロールです。サービスにリンクされたロールは、AWS のサービスにアクセス許可を委任するためのセキュアな方法を提供します。これは、リンクされたサービスのみが、サービスにリンクされたロールを引き受けることができるためです。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの使用」を参照してください。

Amazon EC2 は、AWSServiceRoleForEC2SpotFleet という、サービスにリンクされたロールを使用して、ユーザーの代わりにインスタンスを起動して管理します。

重要

暗号化された AMI または暗号化された Amazon EBS スナップショットをスポットフリートで指定した場合は、CMK を使用するアクセス許可を AWSServiceRoleForEC2SpotFleet ロールに付与し、Amazon EC2 がユーザーの代わりにインスタンスを起動できるようにする必要があります。詳細については、「暗号化された AMI および EBS スナップショット用の CMK へのアクセス権の付与」を参照してください。

AWSServiceRoleForEC2SpotFleet によって付与されるアクセス許可

Amazon EC2 は、[AWSServiceRoleForEC2SpotFleet] という、サービスにリンクされたロールを使用して、次のアクションを実行します。

  • ec2:RequestSpotInstances - スポットインスタンス のリクエスト

  • ec2:RunInstances - インスタンスの起動

  • ec2:TerminateInstances - インスタンスの終了

  • ec2:DescribeImages - インスタンスの Amazon マシンイメージ (AMI) の表示

  • ec2:DescribeInstanceStatus - インスタンスのステータスの表示

  • ec2:DescribeSubnets - インスタンスのサブネットを記述します

  • ec2:CreateTags - スポットフリートリクエスト、インスタンス、ボリュームにタグを追加

  • elasticloadbalancing:RegisterInstancesWithLoadBalancer - 指定されたインスタンスを指定されたロードバランサーに追加

  • elasticloadbalancing:RegisterTargets - 指定されたターゲットを指定されたターゲットグループに登録

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

ほとんどの状況では、サービスにリンクされたロールを手動で作成する必要はありません。Amazon EC2 は、コンソールを使用してスポットフリートを初めて作成するときに、AWS ServiceRoleForEC2SpotFleet サービスにリンクされたロールを作成します。

Amazon EC2 がこのサービスにリンクされたロールのサポートを開始した 2017 年 10 月よりも前にアクティブなスポットフリートリクエストを行った場合は、Amazon EC2は AWS アカウントで AWSServiceRoleForEC2SpotFleet ロールを作成します。 詳細については、IAM ユーザーガイドの「AWS アカウントに新しいロールが表示される」を参照してください。

AWS CLI または API を使用してスポットフリートを作成する場合、最初にこのロールが存在しているか確認する必要があります。

コンソールを使用して AWSServiceRoleForEC2SpotFleet を作成するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. [ロールの作成] を選択します。

  4. [Select type of trusted entity (信頼されたエンティティのタイプの選択)] で、[AWS のサービス] を選択します。

  5. [ユースケースの選択]、または [サービスを選択してそのユースケースを表示する] で、[EC2] を選択します。

  6. [ユースケースを選択する] で [EC2 - スポットフリート] を選択します。

  7. [Next: Permissions (次へ: アクセス許可)] を選択します。

  8. 次のページで、[次へ: タグ] を選択します。

  9. 次のページで、[次へ: 確認] を選択します。

  10. [確認] ページで、[ロールの作成] を選択します。

AWS CLI を使用して AWSServiceRoleForEC2SpotFleet を作成するには

次のように、create-service-linked-role コマンドを使用します。

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

スポットフリートを使用する必要がなくなった場合は、[AWSServiceRoleForEC2Fleet] ロールを削除することをお勧めします。このロールがアカウントから削除された後、コンソールを使用してスポットフリートをリクエストすると、 Amazon EC2 はロールを再作成します。詳細については、IAM ユーザーガイドの「サービスにリンクされたロールの削除」を参照してください。

暗号化された AMI および EBS スナップショット用の CMK へのアクセス権の付与

暗号化された AMI または暗号化された Amazon EBS スナップショットをスポットフリートで指定し、カスタマーマネージド型キー (CMK) を暗号化に使用する場合は、CMK を使用するアクセス許可を AWSServiceRoleForEC2Fleet ロールに付与して、Amazon EC2 がユーザーの代わりにインスタンスを起動できるようにする必要があります。これを行うには、次の手順で示すように、CMK に付与を追加する必要があります。

アクセス権限を設定するときは、付与がキーポリシーの代わりになります。詳細については、AWS Key Management Service デベロッパーガイドの「許可の使用」と「AWS KMS でのキーポリシーの使用」を参照してください。

CMK を使用するアクセス許可を AWSServiceRoleForEC2SpotFleet ロールに付与するには

  • create-grant コマンドを使用して CMK に付与を追加し、プリンシパル (サービスにリンクされたロール AWSServiceRoleForEC2SpotFleet) を指定します。このプリンシパルには、付与が許可するオペレーションを実行するためのアクセス許可が提供されます。CMK を指定するには、key-id パラメータと CMK の ARN を使用します。プリンシパルを指定するには、grantee-principal パラメータとサービスにリンクされたロール AWSServiceRoleForEC2SpotFleet の 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/AWSServiceRoleForEC2SpotFleet \ --operations "Decrypt" "Encrypt" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "CreateGrant" "DescribeKey" "ReEncryptFrom" "ReEncryptTo"

スポットインスタンス用のサービスにリンクされたロール

Amazon EC2 は、AWSServiceRoleForEC2Spot という、サービスにリンクされたロールを使用して、ユーザーの代わりに スポットインスタンス を起動して管理します。詳細については、「スポットインスタンスリクエスト向けのサービスにリンクされたロール」を参照してください。

スポットフリートにタグ付けするための IAM ロール

aws-ec2-spot-fleet-tagging-role IAM ロールは、スポットフリートリクエスト、インスタンス、ボリュームにタグ付けするアクセス権限をスポットフリートに付与します。詳細については、「スポットフリートにタグ付けします。」を参照してください。

重要

フリートのインスタンスにタグ付けすることを選択し、ターゲット容量を維持することを選択した場合 (スポットフリートリクエストのタイプは maintain)、IAM ユーザーと IamFleetRole のアクセス許可の違いにより、フリートのインスタンスのタグ付け動作に整合性がなくなる可能性があります。IamFleetRoleCreateTags アクセス許可が含まれていない場合、フリートによって起動されたインスタンスの一部がタグ付けされていない可能性があります。AWS はこの不整合の修正に取り組んでいますが、フリートによって起動されたすべてのインスタンスがタグ付けされるようにするために、aws-ec2-spot-fleet-tagging-role には IamFleetRole ロールを使用することをお勧めします。または、既存のロールを使用するには、AmazonEC2SpotFleetTaggingRole AWS 管理ポリシーを既存のロールにアタッチします。それ以外の場合は、既存のポリシーに CreateTags アクセス許可を手動で追加する必要があります。

スポットフリートにタグ付けする IAM ロールを作成するには

  1. IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. ナビゲーションペインで [Roles (ロール) ] を選択します。

  3. [ロールの作成] を選択します。

  4. [信頼するエンティティのタイプを選択] ページで [AWS サービス] を選択します。

  5. [ユースケースの選択]、または [サービスを選択してそのユースケースを表示する] で、[EC2] を選択します。

  6. [ユースケースを選択する] で [EC2 - スポットフリートのタグ付け] 選択します。

  7. [Next: Permissions (次へ: アクセス許可)] を選択します。

  8. 次のページで、[次へ: タグ] を選択します。

  9. 次のページで、[次へ: 確認] を選択します。

  10. [Review] ページで、ロールの名前 (例えば、aws-ec2-spot-fleet-tagging-role) を入力し、[Create role] を選択します。

スポットフリートリクエストを作成します。

AWS Management Console を使用して、アプリケーションまたはタスクのニーズと最低限のコンピューティング仕様のみを選択して、スポットフリートを迅速に作成します。Amazon EC2 は、ユーザーのニーズに最適なフリートを設定し、スポットベストプラクティスに従います。詳細については、「スポットフリートリクエストを迅速に作成します (コンソール)」を参照してください。それ以外の場合は、デフォルト設定のいれかを変更できます。詳細については、「定義済みパラメータを使用してスポットフリートリクエストを作成します (コンソール)」および「スポットフリートを作成するにはAWS CLI」を参照してください。

スポットフリートリクエストを迅速に作成します (コンソール)

以下の手順に従って、スポットフリートリクエストを迅速に作成します。

推奨設定を使用してスポットフリートリクエストを作成するには (コンソール)

  1. スポットコンソール (https://console.aws.amazon.com/ec2spot) を開きます。

  2. スポットを初めて使用する場合は、ウェルカムページが表示されるので、そこで [Get started] を選択します。それ以外の場合は、[スポットインスタンス のリクエスト] を選択します。

  3. [アプリケーションまたはタスクのニーズについてお知らせください] で、[ロードバランシングのワークロード]、[柔軟なワークロード]、[ビッグデータのワークロード] のいずれかを選択します。

  4. [Configure your instances] の下の [Minimum compute unit] で、アプリケーションまたはタスクで必要な最低限のハードウェア仕様 (vCPU、メモリ、ストレージ) を選択して、[as specs] または [as an instance type] を指定します。

    • [as specs] については、必要な vCPU 数とメモリ量を指定します。

    • [as an instance type] については、デフォルトのインスタンスタイプをそのまま使用するか、[Change instance type] を選択して別のインスタンスタイプを選択します。

  5. [Tell us how much capacity you need] の下の [Total target capacity] で、ターゲット容量を要求するための単位数を指定します。インスタンスまたは vCPU を選択できます。

  6. アプリケーションまたはタスクの選択に基づいた推奨される [Fleet request settings] を確認して、[Launch] を選択します。

定義済みパラメータを使用してスポットフリートリクエストを作成します (コンソール)

定義するパラメータを使用して、スポットフリートを作成できます。

定義済みパラメータを使用して、スポットフリートリクエストを作成するには (コンソール)

  1. スポットコンソール (https://console.aws.amazon.com/ec2spot) を開きます。

  2. スポットを初めて使用する場合は、ウェルカムページが表示されるので、そこで [Get started] を選択します。それ以外の場合は、[スポットインスタンス のリクエスト] を選択します。

  3. [アプリケーションまたはタスクのニーズについてお知らせください] で、[ロードバランシングのワークロード]、[柔軟なワークロード]、[ビッグデータのワークロード] のいずれかを選択します。

  4. [Configure your instances] で、以下を実行します。

    1. (オプション) [スポットフリート] [Launch template] で、起動テンプレートを選択します。起動テンプレートは、Amazon Machine Image (AMI) を指定する必要があります。起動テンプレートを指定した場合、スポットフリートを使用して AMI を上書きできないためです。

      重要

      [オプションのオンデマンド部分] を指定する場合、起動テンプレートを選択する必要があります。

    2. [AMI] では、AWS が提供するベーシック AMI のいずれかを選択するか、[AMI の検索] を選択してユーザーコミュニティの AMI、 AWS Marketplace 、または独自の AMI を使用します。

    3. [Minimum compute unit] で、アプリケーションまたはタスクで必要な最低限のハードウェア仕様 (vCPU、メモリ、ストレージ) を選択して、[as specs] または [as an instance type] を指定します。

      • [as specs] については、必要な vCPU 数とメモリ量を指定します。

      • [as an instance type] については、デフォルトのインスタンスタイプをそのまま使用するか、[Change instance type] を選択して別のインスタンスタイプを選択します。

    4. [ネットワーク] で既存の VPC を選択するか、新しい VPC を作成します。

      [既存の VPC] VPC を選択します。

      [新しい VPC] [新しい VPC の作成] を選択して Amazon VPC コンソールにアクセスします。完了したら、ウィザードに戻ってリストを更新します。

    5. (オプション) [アベイラビリティーゾーン] では、AWS でスポットインスタンス のアベイラビリティーゾーンを選択するか、1 つ以上のアベイラビリティーゾーンを指定します。

      アベイラビリティーゾーンに複数のサブネットがある場合、[Subnet] から適切なサブネットを選択します。サブネットを追加するには、[Create new subnet] を選択して Amazon VPC にアクセスします。完了したら、ウィザードに戻ってリストを更新します。

    6. (オプション) [Key pair name] で、既存のキーペアを使用するか、新しいキーペアを作成するかを選択します。

      [Existing key pair] キーペアを選択します。

      [New key pair] [Create new key pair] を選択して Amazon VPC コンソールにアクセスします。完了したら、ウィザードに戻ってリストを更新します。

  5. (オプション) [Additional configurations] で、以下を実行します。

    1. (オプション) ストレージを追加するには、インスタンスタイプに応じて追加のインスタンスストアボリュームまたは Amazon EBS ボリュームを指定します。

    2. (オプション) Amazon EBS 最適化を有効にするには、[EBS-optimized] で [Launch EBS-optimized instances] を選択します。

    3. (オプション) インスタンス用の一時ブロックレベルストレージを追加するには、[Instance store] で [Attach at launch] を選択します。

    4. (オプション) デフォルトでは、インスタンスに対して基本モニタリングが有効になります。詳細モニタリングを有効にするには、[Monitoring (モニタリング)] で [Enable CloudWatch detailed monitoring] を選択します。

    5. (オプション) 異常のある スポットインスタンス を置き換えるには、[ヘルスチェック] で [異常のあるインスタンスの置き換え] を選択します。このオプションを有効にするには、まず [Maintain target capacity (ターゲット容量を維持する)] を選択する必要があります。

    6. (オプション) 専有スポットインスタンスを実行するには、[テナンシー] で [専有 - 専有インスタンスの実行] を選択します。

    7. (オプション) [Security groups] で、1 つ以上のセキュリティグループを選択するか、新しいセキュリティグループを作成します。

      [Existing security group] 1 つ以上のセキュリティグループを選択します。

      [New security group] [Create new security group] を選択して、Amazon VPC コンソールに移動します。完了したら、ウィザードに戻ってリストを更新します。

    8. (オプション) インスタンスにインターネットからアクセスできるようにするには、[Auto-assign IPv4 Public IP] で [Enable] を選択します。

    9. (オプション) IAM ロールを指定して スポットインスタンス を起動するには、[IAM instance profile] でロールを選択します。

    10. (オプション) 起動スクリプトを実行するには、スクリプトを [User data] にコピーします。

    11. (オプション) タグを追加するには、[Add new tag] を選択し、そのタグのキーと値を入力します。各タグについて、これを繰り返します。

      タグごとに、インスタンスとスポットフリートリクエストに同じタグを付けるには、[インスタンスタグ] と [フリートタグ] の両方が選択されていることを確認します。フリートによって起動されたインスタンスのみにタグ付けするには、[Fleet tags (フリートタグ)] をクリアします。スポットフリートリクエストのみにタグ付けするには、[インスタンスタグ] をクリアします。

  6. [Tell us how much capacity you need] で、以下を実行します。

    1. [Total target capacity] で、ターゲットキャパシティーにリクエストする単位数を指定します。インスタンスまたは vCPU を選択できます。ターゲット容量を 0 に指定して後で容量を追加できるようにするには、[Maintain target capacity] を選択します。

    2. (オプション) [Optional On-Demand portion] でリクエストするオンデマンド単位数を指定します。数値はターゲット容量の合計未満にする必要があります。Amazon EC2 は差分を計算し、この差をリクエストするスポット単位に割り当てます。

      重要

      オプションのオンデマンド部分を指定する場合、最初に起動テンプレートを選択する必要があります。

    3. (オプション) デフォルトでは、スポットサービスは中断されると スポットインスタンス を削除します。ターゲット容量を維持するには、[ターゲット容量を維持する] を選択します。これで、中断時に スポットインスタンス を終了、停止、または休止するように指定できます。これを行うには、[Interruption behavior] から対応するオプションを選択します。

    4. (オプション) フリートの既存スポットインスタンスにインスタンスの再調整の通知が発行されたときに、スポットフリートが代替スポットインスタンスを起動できるようにするには、[容量の再調整] を選択します。詳細については、「容量の再調整」を参照してください。

      注記

      代替インスタンスを起動しても、再調整の対象としてマークされたインスタンスは自動的に終了しません。終了することも、実行したままにすることもできます。実行中は、両方のインスタンスに対して課金されます。

      再調整対象としてマークされたインスタンスは、中断のリスクが高くなります。Amazon EC2 が中断する前に 2 分間のスポットインスタンス中断通知を受け取ります。

    5. (オプション) フリートのすべての スポットインスタンス に対して 1 時間あたりに支払う金額を制御するには、[スポットのターゲットコストを維持する (高度 - オプション)] を選択し、1 時間あたりに支払うことができる上限の合計金額を入力します。上限の合計金額に達すると、ターゲット容量に満たない場合でも、スポットフリートはスポットインスタンスの起動を停止します。詳細については、「使用量の管理」を参照してください。

  7. [Fleet request settings] で、以下を実行します。

    1. アプリケーションまたはタスクの選択に基づいて、フリートリクエストおよびフリートの配分戦略を確認します。インスタンスタイプまたは配分戦略を変更するには、[Apply recommendations] をオフにします。

    2. (オプション) インスタンスタイプを削除するには、[Fleet request] で [Remove] を選択します。インスタンスタイプを追加するには、[Select instance types] を選択します。

    3. [オプション] [Fleet allocation strategy] で、お客様のニーズに合った戦略を選択します。詳細については、「スポットインスタンス の配分戦略」を参照してください。

  8. [Additional request details] で、以下を実行します。

    1. 追加リクエストの詳細を確認します。変更するには、[Apply defaults] をオフにします。

    2. (オプション) [IAM fleet role] で、デフォルトのロールを使用するか、または別のロールを選択できます。ロールの変更後にデフォルトのロールを使用するには、[Use default role] を選択します。

    3. (オプション) [Maximum price] では、デフォルトの上限料金 (オンデマンド料金) を使用するか、支払う予定の上限料金を指定することができます。上限価格が選択したインスタンスタイプのスポット料金より低い場合、スポットインスタンス は起動されません。

    4. (オプション) 特定の期間中のみ有効なリクエストを作成するには、[Request valid from] および [Request valid until] を編集します。

    5. (オプション) デフォルトでは、リクエストの有効期限が切れると スポットインスタンス は終了します。リクエストの有効期限が切れた後も実行し続ける場合、[Terminate the instances when the request expires] をオフにします。

    6. (オプション) ロードバランサーを使用する スポットインスタンス を登録するには、[Receive traffic from one or more load balancers] を選択して、1 つ以上の クラシックロードバランサー またはターゲットグループを選択します。

  9. (オプション) AWS CLI で使用される起動設定のコピーをダウンロードするには、[JSON config] を選択します。

  10. [Launch] を選択します。

    スポットフリートリクエストタイプは fleet です。リクエストが実行されると、タイプ instance のリクエストが追加されます。このとき、状態は active になり、ステータスは fulfilled になります。

スポットフリートを作成するにはAWS CLI

AWS CLI を使用して、スポットフリートリクエストを作成するには

  • スポットフリートリクエストを作成するには、request-spot-fleet コマンドを使用します。

aws ec2 request-spot-fleet --spot-fleet-request-config file://config.json

設定ファイルの例については、「スポットフリートの設定例」を参照してください。

出力例を次に示します。

{ "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE" }

スポットフリートにタグ付けします。

スポットフリートリクエストを分類および管理しやすくするため、カスタムメタデータでタグ付けできます。スポットフリートリクエストへのタグの割り当ては、リクエストの作成時または作成後に行うことができます。Amazon EC2 コンソールまたはコマンドラインツールを使用してタグを割り当てることができます。

フリートリクエストにタグを付けると、スポットフリートが起動するインスタンスとボリュームには自動的にタグ付けされません。スポットフリートが起動するインスタンスとボリュームには、明示的にタグを付ける必要があります。タグは、フリートリクエストのみに割り当てるか、スポットフリートが起動したインスタンスのみに割り当てるか、フリートが起動したインスタンスにアタッチされたボリュームのみに割り当てるか、または 3 つすべてに割り当てるかを選択できます。

注記

ボリュームタグは、オンデマンドインスタンス にアタッチされたボリュームでのみサポートされます。スポットインスタンス にアタッチされているボリュームにタグを付けることはできません。

タグの仕組みの詳細については、「Amazon EC2 リソースのタグ付け」を参照してください。

Prerequisite

リソースにタグ付けするアクセス許可を IAM ユーザーに付与します。詳細については、「例: リソースのタグ付け」を参照してください。

リソースにタグ付けするアクセス許可を IAM ユーザーに付与するには

以下を含む IAM ポリシーを作成します。

  • ec2:CreateTags アクション。これにより、タグを作成するアクセス許可が IAM ユーザーに付与されます。

  • ec2:RequestSpotFleet アクション。これにより、スポットフリートリクエストを作成するアクセス許可が IAM ユーザーに付与されます。

  • Resource で、"*" を指定する必要があります。これにより、ユーザーはすべてのリソースタイプにタグ付けできます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "TagSpotFleetRequest", "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "*" }
重要

現在、spot-fleet-request リソースに対するリソースレベルのアクセス許可はサポートされていません。リソースとして spot-fleet-request を指定した場合、フリートにタグ付けしようとすると、不正な例外が発生します。以下の例は、ポリシーを設定しない方法を示しています。

{ "Effect": "Allow", "Action": [ "ec2:CreateTags", "ec2:RequestSpotFleet" ], "Resource": "arn:aws:ec2:us-east-1:111122223333:spot-fleet-request/*" }

新しいスポットフリートにタグを付けます。

コンソールを使用して、新しいスポットフリートリクエストにタグ付けするには

  1. 定義済みパラメータを使用してスポットフリートリクエストを作成します (コンソール)」の手順に従います。

  2. タグを追加するには、[追加設定] を展開し、[新規タグの追加] を選択して、タグのキーと値を入力します。各タグについて、これを繰り返します。

    タグごとに、スポットフリートリクエストとインスタンスに同じタグを付けることができます。両方にタグ付けするには、[Instance tags (インスタンスタグ)] と [Fleet tags (フリートタグ)] の両方が選択されていることを確認します。スポットフリートリクエストのみにタグ付けするには、[インスタンスタグ] をクリアします。フリートによって起動されたインスタンスのみにタグ付けするには、[Fleet tags (フリートタグ)] をクリアします。

  3. 必須フィールドに入力してスポットフリートリクエストを作成し、[起動] を選択します。詳細については、「定義済みパラメータを使用してスポットフリートリクエストを作成します (コンソール)」を参照してください。

AWS CLI を使用して、新しいスポットフリートリクエストにタグ付けするには

作成時にスポットフリートリクエストにタグ付けするには、スポットフリートリクエスト設定を以下のようにします。

  • スポットフリートリクエストのタグを SpotFleetRequestConfig で指定します。

  • ResourceType で、spot-fleet-request を指定します。別の値を指定すると、フリートリクエストは失敗します。

  • Tags で、キーと値のペアを指定します。キーと値のペアは複数指定できます。

以下の例では、スポットフリートリクエストに 2 つのタグ (Key=Environment、Value=Production、および Key=Cost-Center、Value=123) が付けられています。

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }

新しいスポットフリート、およびそれが起動するインスタンスおよびボリュームにタグ付けします。

新しいスポットフリートリクエストと、AWS CLI を使用して起動するインスタンスおよびボリュームにタグ付けするには

作成時にスポットフリートリクエストにタグ付けし、フリートがインスタンスを起動するときにインスタンスおよびボリュームにタグ付けするには、スポットフリートリクエスト設定を次のようにします。

スポットフリートリクエストのタグ

  • スポットフリートリクエストのタグを SpotFleetRequestConfig で指定します。

  • ResourceType で、spot-fleet-request を指定します。別の値を指定すると、フリートリクエストは失敗します。

  • Tags で、キーと値のペアを指定します。キーと値のペアは複数指定できます。

インスタンスタグ:

  • LaunchSpecifications で、インスタンスのタグを指定します。

  • ResourceType で、instance を指定します。別の値を指定すると、フリートリクエストは失敗します。

  • Tags で、キーと値のペアを指定します。キーと値のペアは複数指定できます。

    または、スポットフリートリクエストで参照される起動テンプレートで、インスタンスのタグを指定できます。

ボリュームタグ:

  • スポットフリートリクエストで参照される起動テンプレートのボリュームのタグを指定します。LaunchSpecifications でのボリュームのタグ付けはサポートされていません。

以下の例では、スポットフリートリクエストに 2 つのタグ (Key=Environment、Value=Production、および Key=Cost-Center、Value=123) が付けられています。フリートが起動するインスタンスには、1 つのタグ (スポットフリートリクエストのタグの 1 つと同じ) Key=Cost-Center and Value=123 が付けられます。

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1, "TagSpecifications": [ { "ResourceType": "spot-fleet-request", "Tags": [ { "Key": "Environment", "Value":"Production" }, { "Key": "Cost-Center", "Value":"123" } ] } ] } }

AWS CLI を使用して、スポットフリートが起動したインスタンスにタグ付けするには

フリートがインスタンスを起動するときにインスタンスにタグ付けするには、スポットフリートリクエストで参照される起動テンプレートでタグを指定するか、以下のようにスポットフリートリクエスト設定でタグを指定できます。

  • LaunchSpecifications で、インスタンスのタグを指定します。

  • ResourceType で、instance を指定します。別の値を指定すると、フリートリクエストは失敗します。

  • Tags で、キーと値のペアを指定します。キーと値のペアは複数指定できます。

以下の例では、フリートによって起動されるインスタンスに 1 つのタグ (Key=Cost-Center and Value=123) が付けられています。

{ "SpotFleetRequestConfig": { "AllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "default", "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large", "TagSpecifications": [ { "ResourceType": "instance", "Tags": [ { "Key": "Cost-Center", "Value": "123" } ] } ] } ], "SpotPrice": "5", "TargetCapacity": 2, "TerminateInstancesWithExpiration": true, "Type": "maintain", "ReplaceUnhealthyInstances": true, "InstanceInterruptionBehavior": "terminate", "InstancePoolsToUseCount": 1 } }

AWS CLI を使用して、スポットフリートが起動するオンデマンドインスタンスにアタッチされたボリュームにタグ付けするには

フリートが作成したときにボリュームにタグ付けするには、スポットフリートリクエストで参照される起動テンプレートでタグを指定する必要があります。

注記

ボリュームタグは、オンデマンドインスタンス にアタッチされたボリュームでのみサポートされます。スポットインスタンス にアタッチされているボリュームにタグを付けることはできません。

LaunchSpecifications でのボリュームのタグ付けはサポートされていません。

既存のスポットフリートにタグを付けます。

コンソールを使用して、既存のスポットフリートリクエストにタグ付けするには

スポットフリートリクエストを作成した後、コンソールを使用してフリートリクエストにタグを追加できます。

  1. スポットコンソール (https://console.aws.amazon.com/ec2spot) を開きます。

  2. スポットフリートリクエストを選択します。

  3. [Tags (タグ)] タブを選択してから、[タグの作成] を選択します。

AWS CLI を使用して、既存のスポットフリートリクエストにタグ付けするには

create-tags コマンドを使用して、既存のリソースにタグ付けできます。以下の例では、既存のスポットフリートリクエストにタグ Key=purpose and Value=test が付けられています。

aws ec2 create-tags \ --resources sfr-11112222-3333-4444-5555-66666EXAMPLE \ --tags Key=purpose,Value=test

スポットフリートリクエストタグを表示する

コンソールを使用して、スポットフリートリクエストタグを表示するには

  1. スポットコンソール (https://console.aws.amazon.com/ec2spot) を開きます。

  2. スポットフリートリクエストを選択し、[タグ] タブを選択します。

スポットフリートリクエストタグを記述するには

describe-tags コマンドを使用して、指定したリソースのタグを表示します。以下の例では、指定したスポットフリートリクエストのタグを記述します。

aws ec2 describe-tags \ --filters "Name=resource-id,Values=sfr-11112222-3333-4444-5555-66666EXAMPLE"
{ "Tags": [ { "Key": "Environment", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Production" }, { "Key": "Another key", "ResourceId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "ResourceType": "spot-fleet-request", "Value": "Another value" } ] }

スポットフリートリクエストを記述することで、スポットフリートリクエストのタグを表示することもできます。

describe-spot-fleet-requests コマンドを使用して、指定したスポットフリートリクエストの設定を表示します。これには、フリートリクエストに指定されたタグが含まれます。

aws ec2 describe-spot-fleet-requests \ --spot-fleet-request-ids sfr-11112222-3333-4444-5555-66666EXAMPLE
{ "SpotFleetRequestConfigs": [ { "ActivityStatus": "fulfilled", "CreateTime": "2020-02-13T02:49:19.709Z", "SpotFleetRequestConfig": { "AllocationStrategy": "capacityOptimized", "OnDemandAllocationStrategy": "lowestPrice", "ExcessCapacityTerminationPolicy": "Default", "FulfilledCapacity": 2.0, "OnDemandFulfilledCapacity": 0.0, "IamFleetRole": "arn:aws:iam::111122223333:role/aws-ec2-spot-fleet-tagging-role", "LaunchSpecifications": [ { "ImageId": "ami-0123456789EXAMPLE", "InstanceType": "c4.large" } ], "TargetCapacity": 2, "OnDemandTargetCapacity": 0, "Type": "maintain", "ReplaceUnhealthyInstances": false, "InstanceInterruptionBehavior": "terminate" }, "SpotFleetRequestId": "sfr-11112222-3333-4444-5555-66666EXAMPLE", "SpotFleetRequestState": "active", "Tags": [ { "Key": "Environment", "Value": "Production" }, { "Key": "Another key", "Value": "Another value" } ] } ] }

スポットフリートを監視します。

上限料金がスポット料金を超え、容量が利用可能な場合、スポットフリートはスポットインスタンスを起動します。スポットインスタンスは、中断されるか終了されるまで実行されます。

スポットフリートを監視するには (コンソール)

  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで、[Spot Requests] を選択します。

  3. スポットフリートリクエストを選択します。設定の詳細を表示するには、[Description] を選択します。

  4. スポットフリートのスポットインスタンスを一覧表示するには、インスタンスを選択します。

  5. スポットフリートの履歴を表示するには、[履歴] を選択します。

スポットフリートを監視するには (AWS CLI)

スポットフリートリクエストの詳細を表示するには、describe-spot-fleet-requests コマンドを使用します。

aws ec2 describe-spot-fleet-requests

指定したスポットフリートのスポットインスタンスの詳細を表示するには、describe-spot-fleet-instances コマンドを使用します。

aws ec2 describe-spot-fleet-instances \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE

指定したスポットフリートリクエストの履歴を表示するには、describe-spot-fleet-request-history コマンドを使用します。

aws ec2 describe-spot-fleet-request-history \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --start-time 2015-05-18T00:00:00Z

スポットフリートリクエストを変更します。

以下のタスクを完了するように、アクティブスポットフリートリクエストを変更できます。

  • ターゲット容量とオンデマンド部分を増やす

  • ターゲット容量とオンデマンド部分を減らす

注記

ワンタイムスポットフリートリクエストは変更できません。スポットフリートリクエストの作成時に [ターゲット容量の維持] を選択した場合にのみ、スポットフリートリクエストを変更することができます。

ターゲット容量を増やすと、スポットフリートは追加のスポットインスタンスを起動します。オンデマンド部分を増やすと、スポットフリートは追加のオンデマンドインスタンスを起動します。

ターゲット容量を増やすと、スポットフリートは、スポットフリートリクエストの配分戦略に従って、追加のスポットインスタンスを起動します。配分戦略が lowestPrice の場合、スポットフリートは、スポットフリートリクエストの最低価格のスポットキャパシティープールからインスタンスを起動します。配分戦略が diversified の場合、スポットフリートは、スポットフリートリクエストのプール全体にインスタンスを分散します。

ターゲット容量を減らすと、スポットフリートは新しいターゲット容量を超えるすべてのオープンリクエストをキャンセルします。フリートのサイズが新しいターゲット容量に達するまで、スポットフリートがスポットインスタンスを終了させるようにリクエストできます。配分戦略が lowestPrice の場合、スポットフリートは最高単価のインスタンスを終了させます。配分戦略が diversified の場合、スポットフリートはプール全体でインスタンスを終了させます。または、スポットフリートが現在のサイズを維持するようにリクエストすることもできますが、中断されたり手動で終了されたスポットインスタンスを置き換えることはできません。

ターゲット容量が減ったためにスポットフリートがインスタンスを終了する場合、インスタンスはスポットインスタンスの中断通知を受け取ります。

スポットフリートリクエストを変更するには (コンソール)

  1. スポットコンソール (https://console.aws.amazon.com/ec2spot/home/fleet) を開きます。

  2. スポットフリートリクエストを選択します。

  3. [Actions]、[Modify target capacity] の順に選択します。

  4. [Modify target capacity] で、以下の操作を実行します。

    1. 新しいターゲット容量とオンデマンド部分を入力します。

    2. (オプション) ターゲット容量を小さくしてもスポット群の現在のサイズを保持する場合は、[Terminate instances] をオフにします。

    3. [Submit] を選択します。

AWS CLI を使用して、スポットフリートリクエストを変更するには

modify-spot-fleet-requestコマンドを使用して、指定するスポットフリートリクエストのターゲット容量を更新します。

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 20

前のコマンドを以下のように変更して、結果的にいずれのスポットインスタンスも終了せずに、指定したスポットフリートのターゲット容量を減らすことができます。

aws ec2 modify-spot-fleet-request \ --spot-fleet-request-id sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --target-capacity 10 \ --excess-capacity-termination-policy NoTermination

スポットフリートリクエストをキャンセルします。

スポットフリートの使用が終了すると、スポットフリートリクエストをキャンセルできます。これにより、スポットフリートに関連付けられているすべてのスポットリクエストがキャンセルされるため、スポットフリートに新しいスポットインスタンスは起動されません。スポットフリートがスポットインスタンスを終了するか指定する必要があります。インスタンスを終了する場合、スポットフリートリクエストは cancelled_terminating 状態になります。それ以外の場合、スポットフリートリクエストは cancelled_running 状態になり、インスタンスは中断または手動終了されるまで、引き続き実行されます。

スポットフリートリクエストをキャンセルするには (コンソール)

  1. スポットコンソール (https://console.aws.amazon.com/ec2spot/home/fleet) を開きます。

  2. スポットフリートリクエストを選択します。

  3. [Actions]、[Cancel spot request] の順に選択します。

  4. [スポットリクエストのキャンセル] で、スポットフリートをキャンセルすることを確認します。スポット群の現在のサイズを保持するには、[Terminate instances] をオフにします。準備ができたら、[Confirm] を選択します。

AWS CLI を使用して、スポットフリートリクエストをキャンセルするには

指定したスポットフリートリクエストをキャンセルし、インスタンスを終了するには、cancel-spot-fleet-requests コマンドを使用します。

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --terminate-instances

出力例を次に示します。

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_terminating", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }

前のコマンドを以下のように変更することで、インスタンスを終了せずに、指定したスポットフリートリクエストをキャンセルできます。

aws ec2 cancel-spot-fleet-requests \ --spot-fleet-request-ids sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE \ --no-terminate-instances

出力例を次に示します。

{ "SuccessfulFleetRequests": [ { "SpotFleetRequestId": "sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE", "CurrentSpotFleetRequestState": "cancelled_running", "PreviousSpotFleetRequestState": "active" } ], "UnsuccessfulFleetRequests": [] }