Amazon SageMaker HyperPod のスポットインスタンス HyperPod - Amazon SageMaker AI

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SageMaker HyperPod のスポットインスタンス HyperPod

Amazon SageMaker HyperPod は Amazon EC2 スポットインスタンスをサポートしているため、耐障害性とステートレス AI/ML ワークロードのコストを大幅に削減できます。ユースケースには、バッチ推論とトレーニングジョブ、ハイパーパラメータ調整、実験的なワークロードなどがあります。また、スポットインスタンスを使用して、この低コストの容量が利用可能になったときにコンピューティング容量を自動的にスケールし、追加されたスポット容量が再利用されたときにオンデマンド容量にスケールバックすることもできます。

デフォルトでは、HyperPod のスポットインスタンスは HyperPod の継続的プロビジョニング機能を使用します。これにより、SageMaker HyperPod は使用可能なインスタンスでワークロードがすぐに開始される間、バックグラウンドで残りの容量を自動的にプロビジョニングできます。キャパシティの制約やその他の問題が原因でノードのプロビジョニングに障害が発生した場合、SageMaker HyperPod はクラスターが希望するスケールに達するまでバックグラウンドで自動的に再試行するため、自動スケーリングオペレーションは回復力とノンブロッキングを維持します。Karpenter ベースの自動スケーリングでスポットインスタンスを使用することもできます。

考慮すべき主な機能と概念

  • オンデマンドインスタンスと比較して最大 90% のコスト削減を実現

  • 中断を処理でき、ジョブの開始時間と完了時間が柔軟であるジョブにスポットインスタンスを使用する

  • Karpenter を自動スケーリングに使用する場合、スポット容量が中断または使用不可になったときに自動的にオンデマンドにフォールバックするように HyperPod を設定できます。

  • HyperPod でサポートされているさまざまな CPU、GPU、アクセラレーターインスタンスタイプにアクセスする

  • 容量の可用性は EC2 からの供給に依存し、リージョンとインスタンスタイプによって異なります。

  • EC2 が提供するスポットインスタンスアドバイザーなどのさまざまなツールを使用して、目的のインスタンスを取得する可能性の特定や中断の可能性の特定など、さまざまなアクションを実行できます。

開始方法

前提条件

開始する前に、以下を確認してください。

AWS CLI のインストールと設定

AWS 認証情報とリージョンを設定します。

aws configure

詳細な手順については、AWS 認証情報のドキュメントを参照してください。

SageMaker HyperPod 実行の IAM ロール

クラスターを更新するには、まず Karpenter の AWS Identity and Access Management (IAM) アクセス許可を作成する必要があります。手順については、「Karpenter を使用した HyperPod 自動スケーリング用の IAM ロールの作成」を参照してください。

VPC および EKS クラスターのセットアップ

2.1 VPC クラスターと EKS クラスターを作成する

HyperPod EKS セットアップガイドに従って、次の操作を行います。

  1. 複数のアベイラビリティーゾーンにサブネットを持つ VPC を作成する

  2. EKS クラスターを作成します。

  3. Helm チャートを使用して必要な依存関係をインストールする

2.2 環境変数を設定する

export EKS_CLUSTER_ARN="arn:aws:eks:REGION:ACCOUNT_ID:cluster/CLUSTER_NAME" export EXECUTION_ROLE="arn:aws:iam::ACCOUNT_ID:role/SageMakerExecutionRole" export BUCKET_NAME="your-s3-bucket-name" export SECURITY_GROUP="sg-xxxxx" export SUBNET="subnet-xxxxx" export SUBNET1="subnet-xxxxx" export SUBNET2="subnet-xxxxx" export SUBNET3="subnet-xxxxx"

スポットインスタンスのサービスクォータ

SageMaker HyperPod クラスターで作成するインスタンスに必要なクォータがあることを確認します。クォータを確認するには、Service Quotas コンソールで、ナビゲーションペインで AWS サービスを選択し、SageMaker を選択します。たとえば、次のスクリーンショットは、c5 インスタンスで使用可能なクォータを示しています。

コストリージョン情報を含むイメージ。

スポットの可用性を確認する

スポットインスタンスグループを作成する前に、さまざまなアベイラビリティーゾーンの可用性を確認してください。

aws ec2 get-spot-placement-scores \ --region us-west-2 \ --instance-types c5.2xlarge \ --target-capacity 10 \ --single-availability-zone \ --region-names us-west-2

ヒント: 配置スコアが高いアベイラビリティーゾーンをターゲットにして、可用性を向上させます。スポットインスタンスアドバイザーと EC2 スポットの料金で可用性を確認することもできます。アベイラビリティスコアが高い必要なアベイラビリティーゾーンを選択し、関連付けられたサブネットを持つインスタンスグループを設定して、その AZ でインスタンスを起動します。

インスタンスグループの作成 (Auto Scaling なし)

CreateCluster (スポット)

aws sagemaker create-cluster \ --cluster-name clusterNameHere \ --orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \ --node-provisioning-mode "Continuous" \ --cluster-role 'arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole' \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]' --vpc-config '{ "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET'"] }'

クラスターの更新 (スポット + オンデマンド)

aws sagemaker update-cluster \ --cluster-name "my-cluster" \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-x-az3", "InstanceType": "ml.c5.xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} }, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET3'"] } }, { "InstanceGroupName": "auto-spot-c5-2x-az2", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET2'"] } }, { "InstanceGroupName": "auto-ondemand-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]'

CapacityRequirements インスタンスグループが作成されると、 を変更することはできません。

クラスターの説明

aws sagemaker describe-cluster --cluster-name $HP_CLUSTER_NAME --region us-west-2
## Sample Response { "ClusterName": "my-cluster", "InstanceGroups": [ { "InstanceGroupName": "ml.c5.2xlarge", "InstanceType": "ml.c5.xlarge", "InstanceCount": 5, "CurrentCount": 3, "CapacityRequirements: { "Spot": {} }, "ExecutionRole": "arn:aws:iam::account:role/SageMakerExecutionRole", "InstanceStorageConfigs": [...], "OverrideVpcConfig": {...} } // Other IGs ] }

DescribeClusterNode

aws sagemaker describe-cluster-node --cluster-name $HP_CLUSTER_NAME --region us-west-2
## Sample Response { "NodeDetails": { "InstanceId": "i-1234567890abcdef1", "InstanceGroupName": "ml.c5.2xlarge", "CapacityType": "Spot", "InstanceStatus": {...} } }

コンソールの使用

SageMaker HyperPod クラスターの作成と設定

開始するには、SageMaker HyperPod EKS クラスターを起動して設定し、クラスターの作成時に継続的プロビジョニングモードが有効になっていることを確認します。以下のステップを実行します。

  1. SageMaker AI コンソールで、ナビゲーションペインで HyperPod クラスターを選択します。

  2. Amazon EKS で HyperPod クラスターの作成とオーケストレーションを選択します。

  3. セットアップオプションで、カスタムセットアップを選択します。

  4. [名前] に名前を入力します。

  5. インスタンス復旧 で、自動 を選択します。

  6. インスタンスプロビジョニングモードでは、「継続的プロビジョニングを使用する」を選択します。

  7. CapacityType : スポットの選択

  8. [Submit] を選択してください。

コンソール のスクリーンショット:

作成クラスターフローを含むイメージ。

この設定では、仮想プライベートクラウド (VPC)、サブネット、セキュリティグループ、EKS クラスターなどの必要な設定を作成し、クラスターに演算子をインストールします。新しいクラスターを作成する代わりに既存のクラスターを使用する場合は、EKS クラスターなどの既存のリソースを指定することもできます。この設定には約 20 分かかります。

同じクラスターに新しいスポットインスタンスグループを追加する

既存の HyperPod EKS クラスターにスポット IG を追加するには。以下のステップを実行します。

  1. SageMaker AI コンソールで、ナビゲーションペインで HyperPod クラスターを選択します。

  2. Amazon EKS オーケストレーションを使用して既存の HyperPod クラスターを選択します (継続的なプロビジョニングが有効になっていることを確認します)。

  3. [Edit (編集)] をクリックします。

  4. クラスターの編集ページで、インスタンスグループの作成をクリックします。

  5. キャパシティタイプを選択する: インスタンスグループ設定でインスタンスをスポットします。

  6. インスタンスグループの作成 をクリックします。

  7. 送信 をクリックします。

コンソール のスクリーンショット:

インスタンスグループ作成フローを含むイメージ。

の使用 CloudFormation

Resources: TestCluster: Type: AWS::SageMaker::Cluster Properties: ClusterName: "SampleCluster" InstanceGroups: - InstanceGroupName: group1 InstanceType: ml.c5.2xlarge InstanceCount: 1 LifeCycleConfig: SourceS3Uri: "s3://'$BUCKET_NAME'" OnCreate: "on_create_noop.sh" ExecutionRole: "'$EXECUTION_ROLE'", ThreadsPerCore: 1 CapacityRequirements: Spot: {} VpcConfig: Subnets: - "'$SUBNET1'" SecurityGroupIds: - "'$SECURITY_GROUP'" Orchestrator: Eks: ClusterArn: '$EKS_CLUSTER_ARN' NodeProvisioningMode: "Continuous" NodeRecovery: "Automatic"

詳細については、https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster-getting-started-eks-console-create-cluster-cfn.html を参照してください。

Karpenter ベースの Auto Scaling

クラスターロールを作成する

ステップ 1: IAM コンソールに移動する

  1. AWS Management ConsoleIAM サービスに移動する

  2. 左側のサイドバーのロールをクリックします。

  3. ロールの作成 をクリックします。

ステップ 2: 信頼ポリシーを設定する

  1. カスタム信頼ポリシーの選択 ( AWS サービスの代わりに)

  2. デフォルトの JSON をこの信頼ポリシーに置き換えます。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "hyperpod.sagemaker.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

次へをクリック

ステップ 3: カスタムアクセス許可ポリシーを作成する

これらは特定の SageMaker アクセス許可であるため、カスタムポリシーを作成する必要があります。

  1. ポリシーの作成 (新しいタブを開く) をクリックします。

  2. JSON タブをクリックします。

  3. 次のポリシーを入力します。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:BatchAddClusterNodes", "sagemaker:BatchDeleteClusterNodes" ], "Resource": "*" } ] }
  4. [次へ] をクリックします。

  5. 次のような名前を付けます。 SageMakerHyperPodRolePolicy

  6. ポリシーの作成 をクリックします。

ステップ 4: ポリシーをロールにアタッチする

  1. ロール作成タブに戻る

  2. ポリシーリストを更新する

  3. 新しく作成したポリシーを検索して選択する

  4. [次へ] をクリックします。

ステップ 5: ロールの名前と作成

  1. ロール名を入力する (例: SageMakerHyperPodRole)

  2. 必要に応じて説明を追加します。

  3. 信頼ポリシーとアクセス許可を確認する

  4. ロールの作成 をクリックします。

検証

作成後、次の方法で検証できます。

  • 信頼関係タブにハイパーポッドサービスが表示されることを確認する

  • アクセス許可タブにカスタムポリシーが表示されることを確認する

  • ロール ARN は HyperPod で使用できます

ロール ARN 形式は次のとおりです。

arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole

AutoScaling を使用してクラスターを作成する:

可用性を向上させるには、サブネットを設定して複数の AZs に IGs を作成します。フォールバックにonDemand IGs を含めることもできます。

aws sagemaker create-cluster \ --cluster-name clusterNameHere \ --orchestrator 'Eks={ClusterArn='$EKS_CLUSTER_ARN'}' \ --node-provisioning-mode "Continuous" \ --cluster-role 'arn:aws:iam::YOUR-ACCOUNT-ID:role/SageMakerHyperPodRole' \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 0, // For Auto scaling keep instance count as 0 "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]' --vpc-config '{ "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET'"] }' --auto-scaling ' { "Mode": "Enable", "AutoScalerType": "Karpenter" }'

クラスターの更新 (スポット + オンデマンド)

aws sagemaker update-cluster \ --cluster-name "my-cluster" \ --instance-groups '[{ "InstanceGroupName": "auto-spot-c5-x-az3", "InstanceType": "ml.c5.xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} }, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET3'"] } }, { "InstanceGroupName": "auto-spot-c5-2x-az2", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "CapacityRequirements: { "Spot": {} } "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET2'"] } }, { "InstanceGroupName": "auto-ondemand-c5-2x-az1", "InstanceType": "ml.c5.2xlarge", "InstanceCount": 2, "LifeCycleConfig": { "SourceS3Uri": "s3://'$BUCKET_NAME'", "OnCreate": "on_create_noop.sh" }, "ExecutionRole": "'$EXECUTION_ROLE'", "ThreadsPerCore": 1, "OverrideVpcConfig": { "SecurityGroupIds": ["'$SECURITY_GROUP'"], "Subnets": ["'$SUBNET1'"] } }]'

HyperpodNodeClass を作成する

HyperpodNodeClass は、SageMaker HyperPod で事前に作成されたインスタンスグループにマッピングするカスタムリソースで、Karpenter の自動スケーリングの決定でサポートされているインスタンスタイプとアベイラビリティーゾーンに関する制約を定義します。を使用するにはHyperpodNodeClass、NodePools でポッドのスケールアップに使用する AWS コンピューティングリソースInstanceGroupsのソースとして使用する SageMaker HyperPod クラスターの名前を指定します。ここで使用するHyperpodNodeClass名前は、参照する次のセクションの NodePool に引き継がれます。これにより、NodePool HyperpodNodeClass にリソースの描画元が指示されます。を作成するにはHyperpodNodeClass、次の手順を実行します。

  1. 次のコードのような YAML ファイル (nodeclass.yaml など) を作成します。SageMaker HyperPod クラスターの作成時に使用したInstanceGroup名前を追加します。既存の SageMaker HyperPod EKS クラスターに新しいインスタンスグループを追加することもできます。

  2. NodePool 設定でHyperPodNodeClass名前を参照します。

以下はサンプル HyperpodNodeClass です。

apiVersion: karpenter.sagemaker.amazonaws.com/v1 kind: HyperpodNodeClass metadata: name: multiazg6 spec: instanceGroups: # name of InstanceGroup in HyperPod cluster. InstanceGroup needs to pre-created # before this step can be completed. # MaxItems: 10 - auto-spot-c5-2x-az1 - auto-spot-c5-2x-az2 - auto-spot-c5-x-az3 - auto-ondemand-c5-2x-az1

Karpenter は、設定で指定されている場合、オンデマンドをフォールバックとして使用して、オンデマンドインスタンスよりもスポットインスタンスグループを優先します。インスタンスの選択は、各サブネットのアベイラビリティーゾーンに関連付けられた EC2 スポットプレイスメントスコアによってソートされます。

を使用して EKS クラスターに設定を適用しますkubectl

kubectl apply -f nodeclass.yaml

HyperPod クラスターで AutoScaling が有効になっている必要があり、 を適用するInService前に AutoScaling ステータスHyperpodNodeClassが に変わる必要があります。また、インスタンスグループの容量をスポットまたはOnDemandとして表示します。詳細と重要な考慮事項については、SageMaker HyperPod EKS での Autoscaling」を参照してください。

たとえば、

apiVersion: karpenter.sagemaker.amazonaws.com/v1 kind: HyperpodNodeClass metadata: creationTimestamp: "2025-11-30T03:25:04Z" name: multiazc6 uid: ef5609be-15dd-4700-89ea-a3370e023690 spec: instanceGroups: -spot1 status: conditions: // true when all IGs in the spec are present in SageMaker cluster, false otherwise - lastTransitionTime: "2025-11-20T03:25:04Z" message: "" observedGeneration: 3 reason: InstanceGroupReady status: "True" type: InstanceGroupReady // true if subnets of IGs are discoverable, false otherwise - lastTransitionTime: "2025-11-20T03:25:04Z" message: "" observedGeneration: 3 reason: SubnetsReady status: "True" type: SubnetsReady // true when all dependent resources are Ready [InstanceGroup, Subnets] - lastTransitionTime: "2025-11-30T05:47:55Z" message: "" observedGeneration: 3 reason: Ready status: "True" type: Ready instanceGroups: - instanceTypes: - ml.c5.2xlarge name:auto-spot-c5-2x-az2 subnets: - id: subnet-03ecc649db2ff20d2 zone: us-west-2a zoneId: usw2-az2 - capacities: {"Spot": {}}

NodePool を作成する

NodePool は、Karpenter が作成できるノードと、それらのノードで実行できるポッドに制約を設定します。NodePool は、次のようなさまざまなアクションを実行するように設定できます。

  • Karpenter が作成するノードで実行できるポッドを制限するラベルとテイントを定義する

  • ノードの作成を特定のゾーン、インスタンスタイプ、コンピュータアーキテクチャなどに制限する

NodePool の詳細については、NodePools」を参照してください。SageMaker HyperPod マネージド Karpenter は、この記事で説明する既知の Kubernetes および Karpenter 要件の限定されたセットをサポートしています。

NodePool を作成するには、次の手順を実行します。

目的の ノードプール 設定で nodepool.yaml という名前の YAML ファイルを作成します。次のコードは、サンプル NodePool を作成するためのサンプル設定です。ml.g6.xlarge SageMaker インスタンスタイプを含めるように NodePool を指定し、さらに 1 ゾーンに指定します。詳細については、「NodePools」を参照してください。

apiVersion: karpenter.sh/v1 kind: NodePool metadata: name: gpunodepool spec: template: spec: nodeClassRef: group: karpenter.sagemaker.amazonaws.com kind: HyperpodNodeClass name: multiazg6 expireAfter: Never requirements: - key: node.kubernetes.io/instance-type operator: Exists - key: "node.kubernetes.io/instance-type" // Optional otherwise Karpenter will decide based on Job config resource requirements operator: In values: ["ml.c5.2xlarge"] - key: "topology.kubernetes.io/zone" operator: In values: ["us-west-2a"]

ヒント: EC2 スポットの中断時に、Hyperpod はノードをテイントしてポッドエビクションをトリガーします。Karpenter の統合プロセスはポッドの中断予算を尊重し、通常の Kubernetes エビクションを実行しますが、consolidateAfter: 0 を設定した場合、統合はすぐに行われるため、ポッドの正常なエビクションにかかる時間はごくわずかです。最大 2 分までゼロ以外の値に設定すると、チェックポイントのニーズに応じてポッドを正常に削除できます。

NodePool をクラスターに適用します。

kubectl apply -f nodepool.yaml

NodePool ステータスをモニタリングして、ステータスの準備完了条件が True に設定されていることを確認します。

kubectl get nodepool gpunodepool -oyaml

この例では、NodePool を使用してポッドのハードウェア (インスタンスタイプ) と配置 (アベイラビリティーゾーン) を指定する方法を示します。

シンプルなワークロードを起動する

次のワークロードは、デプロイ中のポッドがポッドごとにレプリカごとに 1 つの CPU と 256 MB のメモリをリクエストする Kubernetes デプロイを実行します。ポッドはまだスピンアップされていません。

kubectl apply -f https://raw.githubusercontent.com/aws/karpenter-provider-aws/refs/heads/main/examples/workloads/inflate.yaml

これを適用すると、次のスクリーンショットに示すように、クラスターにデプロイと単一ノードの起動が表示されます。

このコンポーネントをスケールするには、次のコマンドを使用します。

kubectl scale deployment inflate --replicas 10

詳細については、https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-hyperpod-eks-autoscaling.html を参照してください。

ノード中断の管理

スポットインスタンスはいつでも再利用できます。EC2 はほとんどの場合、ベストエフォートの 2 分間の中断通知を提供しますが、この通知は保証されません。状況によっては、EC2 は事前警告なしでスポットインスタンスを直ちに終了することがあります。HyperPod は両方のシナリオを自動的に処理します。

  • 2 分前の通知の場合: スポット容量が利用可能になると、正常なポッドエビクションと制御された容量置換を自動的に再試行します。

  • 通知なし (即時終了): 正常なエビクションなしでノード交換 (スポット容量が利用可能になったとき) を自動的に再試行します

仕組み

EC2 がスポット中断通知を送信すると、HyperPod は自動的に次の操作を行います。

  1. 中断シグナルを検出します

  2. ノードをテイントする: 中断されたインスタンスで新しいポッドがスケジュールされないようにします

  3. ポッドの削除: 実行中のポッドが作業を完了またはチェックポイントする時間を与える (Kubernetes を優先terminationGracePeriodSeconds)

  4. 容量を置き換える: 代替インスタンスを自動的にプロビジョニングしようとします (可用性に基づいてスポットまたはオンデマンド)。

    容量置換は、代替インスタンスを自動的にプロビジョニングすることで機能します。容量がすぐに利用できない場合、システムはリソースにアクセスできるようになるまでチェックを続けます。Auto Scaling 以外のインスタンスグループの場合、HyperPod は必要な容量が利用可能になるまで同じインスタンスグループ内でスケールアップを試みます。Karpenter ベースのインスタンスグループの場合、プライマリグループが需要に対応できない場合、Karpenter は Node クラスで設定された他のインスタンスグループにフォールバックメカニズムを実装します。さらに、オンデマンドをフォールバックオプションとして設定することで、Karpenter がスポットインスタンスグループを正常にスケールアップできない場合にオンデマンドインスタンスに自動的に切り替えることができます。

  5. ワークロードの再スケジュール: Kubernetes は正常なノードで削除されたポッドを自動的に再スケジュールします

使用状況と請求の検索

HyperPod のスポットインスタンスの使用状況と請求を確認するには、Cost Explorer コンソールを使用できます AWS 。請求とコスト管理 > 請求に進む

コストリージョン情報を含むイメージ。

コンソールで使用状況と請求を確認するには、「請求とコスト管理 > Cost Explorer」を参照してください。

コストと使用量を含むイメージ。