EC2 フリート 設定例 - Amazon Elastic Compute Cloud

EC2 フリート 設定例

以下の例で示しているのは、EC2 フリート を作成するための create-fleet コマンドで使用できる起動設定です。create-fleet パラメータの詳細については、「EC2 フリート JSON 設定ファイルリファレンス」を参照してください。

例 1: スポットインスタンス をデフォルト購入オプションとして起動する

次の例では、EC2 フリート で必要な最小限のパラメータ (起動テンプレート、ターゲット容量、デフォルト購入オプション) を指定します。起動テンプレートは、起動テンプレート ID とバージョン番号によって識別されます。フリートのターゲット容量は 2 インスタンスであり、デフォルト購入オプションは spot です。この結果、フリートは 2 スポットインスタンス を起動します。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

例 2: オンデマンドインスタンス をデフォルト購入オプションとして起動する

次の例では、EC2 フリート で必要な最小限のパラメータ (起動テンプレート、ターゲット容量、デフォルト購入オプション) を指定します。起動テンプレートは、起動テンプレート ID とバージョン番号によって識別されます。フリートのターゲット容量は 2 インスタンスであり、デフォルト購入オプションは on-demand です。この結果、フリートは 2 オンデマンドインスタンス を起動します。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "on-demand" } }

例 3: オンデマンドインスタンス をプライマリ容量として起動する

次の例では、フリートの合計ターゲット容量を 2 インスタンス、ターゲット容量を 1 オンデマンドインスタンス として指定します。デフォルト購入オプションは spot です。フリートは指定されたとおり 1 オンデマンドインスタンス を起動しますが、合計ターゲット容量を満たすために、さらに 1 つ以上のインスタンスを起動する必要があります。購入オプションの差は TotalTargetCapacityOnDemandTargetCapacity = DefaultTargetCapacityType と計算されます。この結果、フリートは 1 スポットインスタンス を起動します。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "OnDemandTargetCapacity":1, "DefaultTargetCapacityType": "spot" } }

例 4: lowest-price 割り当て戦略を使用して スポットインスタンス を起動する

スポットインスタンス の配分戦略を指定しない場合、デフォルト配分戦略である lowest-price が使用されます。次の例では、lowest-price の配分戦略を使用します。起動テンプレートをオーバーライドする 3 つの起動条件は、インスタンスタイプが異なりますが、加重容量とサブネットは同じです。合計ターゲット容量は 2 インスタンスで、デフォルト購入オプションは spot です。EC2 フリート は、最低価格の起動条件のインスタンスタイプを使用して 2 スポットインスタンス を起動します。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c3.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" }, { "InstanceType": "c5.large", "WeightedCapacity": 1, "SubnetId": "subnet-a4f6c5d3" } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 2, "DefaultTargetCapacityType": "spot" } }

例 5: キャパシティーの予約 および prioritized 割り当て戦略を使用して オンデマンドインスタンス を起動する

キャパシティーの予約 の使用戦略を use-capacity-reservations-first に設定することで、オンデマンドインスタンス の起動時に最初に オンデマンドキャパシティー予約 を使用するようにフリートを設定できます。また、複数のインスタンスプールに未使用 キャパシティーの予約 がある場合、選択したオンデマンド配分戦略が適用されます。この例では、オンデマンド配分戦略は prioritized です。

この例では、利用可能な未使用 キャパシティーの予約 が 15 個あります。これは、フリートの目標オンデマンド容量である 12 オンデマンドインスタンス を超えています。

アカウントには、3 つの異なるプールに以下の 15 個の未使用 キャパシティーの予約 があります。各プールの キャパシティーの予約 の数は AvailableInstanceCount で示されます。

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

以下のフリート設定は、この例に関連する設定のみを示しています。オンデマンド配分戦略は prioritized であり、キャパシティーの予約 の使用戦略は use-capacity-reservations-first です。合計ターゲット容量は 12 で、デフォルトのターゲット容量タイプは on-demand です。

注記

フリートタイプは instant であることが必要です。キャパシティーの予約 は他のフリートタイプではサポートされていません。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-1234567890abcdefg", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 1.0 }, { "InstanceType": "c3.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 2.0 }, { "InstanceType": "c5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 3.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "prioritized" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

上記の設定を使用して instant フリートを作成すると、目標容量を満たすために以下の 12 個のインスタンスが起動されます。

  • 5 c4.large オンデマンドインスタンス (us-east-1a) – c4.large (us-east-1a) が最初に優先され、利用可能な未使用 c4.large キャパシティーの予約 が 5 つあります。

  • 5 c3.large オンデマンドインスタンス (us-east-1a) – c3.large (us-east-1a) が 2 番目に優先され、利用可能な未使用 c3.large キャパシティーの予約 が 5 つあります。

  • 2 c5.large オンデマンドインスタンス (us-east-1a) – c5.large (us-east-1a) は 3 番目に優先され、利用可能な未使用 c5.large キャパシティーの予約 が 5 つあります。そのうちの 2 つのみが目標容量を満たすために必要です。

フリートの起動後、describe-capacity-reservations を実行して、未使用 キャパシティーの予約 の数を確認できます。この例では、以下のレスポンスが表示されます。これは、c4.large および c3.large のすべての キャパシティーの予約 が使用され、c5.large の 3 つの キャパシティーの予約 が未使用のままであることを示しています。

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "AvailableInstanceCount": 3 }

例 6: 合計ターゲット容量が未使用 キャパシティーの予約 の数を超えたときに キャパシティーの予約 および prioritized 配分戦略を使用して オンデマンドインスタンス を起動する

キャパシティーの予約 の使用戦略を use-capacity-reservations-first に設定することで、オンデマンドインスタンス の起動時に最初に オンデマンドキャパシティー予約 を使用するようにフリートを設定できます。また、未使用 キャパシティーの予約 の数が目標オンデマンド容量よりも少ない場合、残りのオンデマンド目標容量は、選択したオンデマンド配分戦略に従って満たされます。この例では、オンデマンド配分戦略は prioritized です。

この例では、利用可能な未使用 キャパシティーの予約 が 15 個あります。これは、フリートの目標オンデマンド容量である 16 オンデマンドインスタンス を下回っています。

アカウントには、3 つの異なるプールに以下の 15 個の未使用 キャパシティーの予約 があります。各プールの キャパシティーの予約 の数は AvailableInstanceCount で示されます。

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-111", "InstanceType": "c3.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-111", "InstanceType": "c5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

以下のフリート設定は、この例に関連する設定のみを示しています。オンデマンド配分戦略は prioritized であり、キャパシティーの予約 の使用戦略は use-capacity-reservations-first です。合計ターゲット容量は 16 で、デフォルトのターゲット容量タイプは on-demand です。

注記

フリートタイプは instant であることが必要です。キャパシティーの予約 は他のフリートタイプではサポートされていません。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "c4.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 1.0 }, { "InstanceType": "c3.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 2.0 }, { "InstanceType": "c5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1, "Priority": 3.0 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "prioritized" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

上記の設定を使用して instant フリートを作成すると、目標容量を満たすために以下の 16 個のインスタンスが起動されます。

  • 6 c4.large オンデマンドインスタンス (us-east-1a) – c4.large (us-east-1a) が最初に優先され、利用可能な未使用 c4.large キャパシティーの予約 が 5 つあります。キャパシティーの予約 は、5 つの オンデマンドインスタンス を起動するために最初に使用され、さらにオンデマンド配分戦略 (この例では prioritized) に従って、追加の オンデマンドインスタンス が起動されます。

  • 5 c3.large オンデマンドインスタンス (us-east-1a) – c3.large (us-east-1a) が 2 番目に優先され、利用可能な未使用 c3.large キャパシティーの予約 が 5 つあります。

  • 5 c5.large オンデマンドインスタンス (us-east-1a) – c5.large (us-east-1a) が 3 番目に優先され、利用可能な未使用 c5.large キャパシティーの予約 が 5 つあります。

フリートの起動後、describe-capacity-reservations を実行して、未使用 キャパシティーの予約 の数を確認できます。この例では、以下のレスポンスが表示されます。これは、すべてのプール内のすべての キャパシティーの予約 が使用されたことを示しています。

{ "CapacityReservationId": "cr-111", "InstanceType": "c4.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "c3.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "c5.large", "AvailableInstanceCount": 0 }

例 7: キャパシティーの予約 および lowest-price 割り当て戦略を使用して オンデマンドインスタンス を起動する

キャパシティーの予約 の使用戦略を use-capacity-reservations-first に設定することで、オンデマンドインスタンス の起動時に最初に オンデマンドキャパシティー予約 を使用するようにフリートを設定できます。また、複数のインスタンスプールに未使用 キャパシティーの予約 がある場合、選択したオンデマンド配分戦略が適用されます。この例では、オンデマンド配分戦略は lowest-price です。

この例では、利用可能な未使用 キャパシティーの予約 が 15 個あります。これは、フリートの目標オンデマンド容量である 12 オンデマンドインスタンス を超えています。

アカウントには、3 つの異なるプールに以下の 15 個の未使用 キャパシティーの予約 があります。各プールの キャパシティーの予約 の数は AvailableInstanceCount で示されます。

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

以下のフリート設定は、この例に関連する設定のみを示しています。オンデマンド配分戦略は lowest-price であり、キャパシティーの予約 の使用戦略は use-capacity-reservations-first です。合計ターゲット容量は 12 で、デフォルトのターゲット容量タイプは on-demand です。

この例では、オンデマンドインスタンス の料金は以下のようになります。

  • m5.large – 0.096 USD/時間

  • m4.xlarge – 0.20 USD/時間

  • m4.2xlarge – 0.40 USD/時間

注記

フリートタイプは instant であることが必要です。キャパシティーの予約 は他のフリートタイプではサポートされていません。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 12, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

上記の設定を使用して instant フリートを作成すると、目標容量を満たすために以下の 12 個のインスタンスが起動されます。

  • 5 m5.large オンデマンドインスタンス (us-east-1a) – m5.large (us-east-1a) は最低料金であり、利用可能な未使用 m5.large キャパシティーの予約 が 5 つあります。

  • 5 m4.xlarge オンデマンドインスタンス (us-east-1a) – m4.xlarge (us-east-1a) は次に低い料金であり、利用可能な未使用 m4.xlarge キャパシティーの予約 が 5 つあります。

  • 2 m4.2xlarge オンデマンドインスタンス (us-east-1a) – m4.2xlarge (us-east-1a) は 3 番目に低い料金であり、利用可能な未使用 m4.2xlarge キャパシティーの予約 は 5 つあります。そのうちの 2 つのみが目標容量を満たすために必要です。

フリートの起動後、describe-capacity-reservations を実行して、未使用 キャパシティーの予約 の数を確認できます。この例では、以下のレスポンスが表示されます。これは、m5.large および m4.xlarge のすべての キャパシティーの予約 が使用され、m4.2xlarge の 3 つの キャパシティーの予約 が未使用のままであることを示しています。

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 3 }

例 8: 合計ターゲット容量が未使用 キャパシティーの予約 の数を超えたときに キャパシティーの予約 および lowest-price 配分戦略を使用して オンデマンドインスタンス を起動する

キャパシティーの予約 の使用戦略を use-capacity-reservations-first に設定することで、オンデマンドインスタンス の起動時に最初に オンデマンドキャパシティー予約 を使用するようにフリートを設定できます。また、未使用 キャパシティーの予約 の数が目標オンデマンド容量よりも少ない場合、残りのオンデマンド目標容量は、選択したオンデマンド配分戦略に従って満たされます。この例では、オンデマンド配分戦略は lowest-price です。

この例では、利用可能な未使用 キャパシティーの予約 が 15 個あります。これは、フリートの目標オンデマンド容量である 16 オンデマンドインスタンス を下回っています。

アカウントには、3 つの異なるプールに以下の 15 個の未使用 キャパシティーの予約 があります。各プールの キャパシティーの予約 の数は AvailableInstanceCount で示されます。

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount": 5, "InstanceMatchCriteria": "open", "State": "active" } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "InstancePlatform": "Linux/UNIX", "AvailabilityZone": "us-east-1a", "AvailableInstanceCount":5, "InstanceMatchCriteria": "open", "State": "active" }

以下のフリート設定は、この例に関連する設定のみを示しています。オンデマンド配分戦略は lowest-price であり、キャパシティーの予約 の使用戦略は use-capacity-reservations-first です。合計ターゲット容量は 16 で、デフォルトのターゲット容量タイプは on-demand です。

この例では、オンデマンドインスタンス の料金は以下のようになります。

  • m5.large – 0.096 USD/時間

  • m4.xlarge – 0.20 USD/時間

  • m4.2xlarge – 0.40 USD/時間

注記

フリートタイプは instant であることが必要です。キャパシティーの予約 は他のフリートタイプではサポートされていません。

{ "LaunchTemplateConfigs": [ { "LaunchTemplateSpecification": { "LaunchTemplateId": "lt-0e8c754449b27161c", "Version": "1" } "Overrides": [ { "InstanceType": "m5.large", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 }, { "InstanceType": "m4.2xlarge", "AvailabilityZone": "us-east-1a", "WeightedCapacity": 1 } ] } ], "TargetCapacitySpecification": { "TotalTargetCapacity": 16, "DefaultTargetCapacityType": "on-demand" }, "OnDemandOptions": { "AllocationStrategy": "lowest-price" "CapacityReservationOptions": { "UsageStrategy": "use-capacity-reservations-first" } }, "Type": "instant", }

上記の設定を使用して instant フリートを作成すると、目標容量を満たすために以下の 16 個のインスタンスが起動されます。

  • 6 m5.large オンデマンドインスタンス (us-east-1a) – m5.large (us-east-1a) は最低料金であり、利用可能な未使用 m5.large キャパシティーの予約 が 5 つあります。キャパシティーの予約 は、5 つの オンデマンドインスタンス を起動するために最初に使用され、さらにオンデマンド配分戦略 (この例では lowest-price) に従って、追加の オンデマンドインスタンス が起動されます。

  • 5 m4.xlarge オンデマンドインスタンス (us-east-1a) – m4.xlarge (us-east-1a) は次に低い料金であり、利用可能な未使用 m4.xlarge キャパシティーの予約 が 5 つあります。

  • 5 m4.2xlarge オンデマンドインスタンス (us-east-1a) – m4.2xlarge (us-east-1a) は 3 番目に低い料金であり、利用可能な未使用 m4.2xlarge キャパシティーの予約 が 5 つあります。

フリートの起動後、describe-capacity-reservations を実行して、未使用 キャパシティーの予約 の数を確認できます。この例では、以下のレスポンスが表示されます。これは、すべてのプール内のすべての キャパシティーの予約 が使用されたことを示しています。

{ "CapacityReservationId": "cr-111", "InstanceType": "m5.large", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-222", "InstanceType": "m4.xlarge", "AvailableInstanceCount": 0 } { "CapacityReservationId": "cr-333", "InstanceType": "m4.2xlarge", "AvailableInstanceCount": 0 }