Instâncias spot na Amazon SageMaker HyperPod - SageMaker IA da Amazon

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Instâncias spot na Amazon SageMaker HyperPod

A Amazon SageMaker HyperPod oferece suporte às Amazon EC2 Spot Instances, permitindo uma economia significativa de custos para cargas de trabalho tolerantes a falhas e sem estado. AI/ML Os casos de uso incluem inferência em lote e trabalhos de treinamento, ajuste de hiperparâmetros e cargas de trabalho experimentais. Você também pode usar instâncias spot para escalar automaticamente sua capacidade computacional quando essa capacidade de baixo custo estiver disponível e reduzir para a capacidade sob demanda quando a capacidade spot adicional for recuperada.

Por padrão, as Instâncias Spot HyperPod funcionam com o recurso de provisionamento contínuo HyperPod do Spot, que permite provisionar automaticamente SageMaker HyperPod a capacidade restante em segundo plano, enquanto as cargas de trabalho são iniciadas imediatamente nas instâncias disponíveis. Quando o provisionamento de nós encontra falhas devido a restrições de capacidade ou outros problemas, tente novamente SageMaker HyperPod automaticamente em segundo plano até que os clusters atinjam a escala desejada, para que suas operações de escalonamento automático permaneçam resilientes e sem bloqueio. Você também pode usar instâncias spot com escalonamento automático baseado em Karpenter.

Principais capacidades e conceitos a serem considerados

  • Obtenha até 90% de economia de custos em comparação com instâncias sob demanda

  • Use instâncias spot para trabalhos que possam lidar com interrupções e em que os horários de início e conclusão do trabalho sejam flexíveis

  • Ao usar o Karpenter para escalabilidade automática, você pode configurar para retornar automaticamente HyperPod para o On-Demand quando a capacidade spot for interrompida ou indisponível

  • Acesse uma ampla variedade de tipos de instância de CPU, GPU e acelerador suportados pelo HyperPod

  • A disponibilidade da capacidade depende do fornecimento EC2 e varia de acordo com a região e o tipo de instância

  • Você pode realizar várias ações, como identificar a probabilidade de obter as instâncias desejadas ou de ser interrompido, usando várias ferramentas, como o Spot Instance Advisor fornecido pela EC2

Introdução

Pré-requisitos

Antes de começar, verifique se você tem:

AWS CLI instalado e configurado

Configure suas AWS credenciais e sua região:

aws configure

Consulte a documentação de AWS credenciais para obter instruções detalhadas.

Função do IAM para SageMaker HyperPod execução

Para atualizar o cluster, você deve primeiro criar permissões de AWS Identity and Access Management (IAM) para o Karpenter. Para obter instruções, consulte Criar uma função do IAM para HyperPod escalonamento automático com o Karpenter.

Configuração de cluster VPC e EKS

2.1 Crie um cluster VPC e EKS

Siga o guia de configuração do HyperPod EKS para:

  1. Crie uma VPC com sub-redes em várias zonas de disponibilidade

  2. Crie um cluster do EKS

  3. Instale as dependências necessárias usando gráficos do Helm

2.2 Definir variáveis de ambiente

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"

Cotas de serviço para as instâncias spot

Verifique se você tem as cotas necessárias para as instâncias que você criará no SageMaker HyperPod cluster. Para revisar suas cotas, no console Service Quotas, AWS escolha serviços no painel de navegação e escolha. SageMaker Por exemplo, a captura de tela a seguir mostra a cota disponível para instâncias c5.

Uma imagem contendo informações da região de custo.

Verifique a disponibilidade do spot

Antes de criar grupos de instâncias spot, verifique a disponibilidade em diferentes zonas de disponibilidade:

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

Dica: segmente zonas de disponibilidade com pontuações de posicionamento mais altas para melhorar a disponibilidade. Você também pode verificar a disponibilidade do Spot Instance Advisor e do EC2 Spot Pricing. Selecione a zona de disponibilidade necessária com melhor pontuação de disponibilidade e configure o grupo de instâncias com a sub-rede associada para iniciar a instância nessa AZ.

Criação de um grupo de instâncias (sem escalonamento automático)

CreateCluster (Mancha)

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'"] }'

Cluster de atualização (spot + sob demanda)

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'"] } }]'

CapacityRequirementsnão pode ser modificado depois que um grupo de instâncias é criado.

Descreva o cluster

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": {...} } }

Usando o console

Criar e configurar um SageMaker HyperPod cluster

Para começar, inicie e configure seu cluster SageMaker HyperPod EKS e verifique se o modo de provisionamento contínuo está ativado na criação do cluster. Execute as etapas a seguir:

  1. No console do SageMaker AI, escolha HyperPod clusters no painel de navegação.

  2. Escolha Create HyperPod cluster e Orchestrated on Amazon EKS.

  3. Para opções de configuração, selecione Configuração personalizada.

  4. Nome, insira um nome.

  5. Em Recuperação de instância, selecione Automático.

  6. Em Modo de provisionamento de instâncias, selecione Usar provisionamento contínuo.

  7. CapacityType : Selecione o local

  8. Selecione Enviar.

Captura de tela do console:

Uma imagem contendo o fluxo do cluster de criação.

Essa configuração cria a configuração necessária, como nuvem privada virtual (VPC), sub-redes, grupos de segurança e cluster EKS, e instala operadores no cluster. Você também pode fornecer recursos existentes, como um cluster EKS, se quiser usar um cluster existente em vez de criar um novo. Essa configuração levará cerca de 20 minutos.

Adicionar um novo grupo de instâncias spot ao mesmo cluster

Para adicionar um Spot IG ao seu cluster HyperPod EKS existente. Execute as etapas a seguir:

  1. No console do SageMaker AI, escolha HyperPod clusters no painel de navegação.

  2. Selecione um HyperPod cluster existente com o Amazon EKS Orchestration (garanta que o provisionamento contínuo esteja ativado).

  3. Clique em Edit.

  4. Na página Editar cluster, clique em Criar grupo de instâncias.

  5. Selecione o tipo de capacidade: instância spot na configuração do grupo de instâncias.

  6. Clique em Criar grupo de instâncias.

  7. Clique em Enviar.

Captura de tela do console:

Uma imagem contendo o fluxo de criação do grupo de instâncias.

Usando 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"

Consulte https://docs.aws.amazon.com/sagemaker/latest/dg/smcluster- getting-started-eks-console - create-cluster-cfn .html para obter detalhes.

Escalonamento automático baseado em Karpenter

Criar função de cluster

Etapa 1: Navegar até o console do IAM

  1. Vá para o serviço AWS Management ConsoleIAM

  2. Clique em Funções na barra lateral esquerda

  3. Clique em Criar função

Etapa 2: Configurar a política de confiança

  1. Selecione Política de confiança personalizada (em vez de AWS serviço)

  2. Substitua o JSON padrão por esta política de confiança:

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

clique em Avançar

Etapa 3: criar uma política de permissões personalizada

Como essas são SageMaker permissões específicas, você precisará criar uma política personalizada:

  1. Clique em Criar política (abre uma nova guia)

  2. Clique na guia JSON

  3. Insira esta política:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:BatchAddClusterNodes", "sagemaker:BatchDeleteClusterNodes" ], "Resource": "*" } ] }
  4. Clique em Avançar.

  5. Dê a ele um nome como SageMakerHyperPodRolePolicy

  6. Clique em Criar política

Etapa 4: anexar a política à função

  1. Volte para a guia de criação de funções

  2. Atualize a lista de políticas

  3. Pesquise e selecione sua política recém-criada

  4. Clique em Avançar.

Etapa 5: nomear e criar função

  1. Insira um nome de função (por exemplo,SageMakerHyperPodRole)

  2. Adicione uma descrição, se desejar

  3. Revise a política de confiança e as permissões

  4. Clique em Criar função

Verificação

Após a criação, você pode verificar por:

  • A verificação da guia Relações de confiança mostra o serviço hyperpod.

  • Verificar a guia Permissões mostra sua política personalizada

  • O ARN da função estará disponível para uso com HyperPod

O formato ARN da função será:

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

Crie um cluster com AutoScaling:

Para melhor disponibilidade, crie IGs em vários AZs configurando sub-redes. Você também pode incluir o onDemand IGs como alternativa.

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" }'

Cluster de atualização (spot + sob demanda)

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'"] } }]'

Criar HyperpodNodeClass

HyperpodNodeClassé um recurso personalizado que mapeia grupos de instâncias pré-criados em SageMaker HyperPod, definindo restrições em torno de quais tipos de instância e zonas de disponibilidade são compatíveis com as decisões de escalonamento automático da Karpenter. Para usarHyperpodNodeClass, basta especificar os nomes InstanceGroups do SageMaker HyperPod cluster que você deseja usar como fonte dos recursos AWS computacionais a serem usados para escalar seus pods no seu. NodePools O HyperpodNodeClass nome que você usa aqui é transferido para a NodePool próxima seção, onde você o referenciará. Isso indica de NodePool onde HyperpodNodeClass extrair recursos. Para criar umHyperpodNodeClass, conclua as seguintes etapas:

  1. Crie um arquivo YAML (por exemplo, nodeclass.yaml) semelhante ao código a seguir. Adicione InstanceGroup os nomes que você usou no momento da criação do SageMaker HyperPod cluster. Você também pode adicionar novos grupos de instâncias a um cluster SageMaker HyperPod EKS existente.

  2. Faça referência ao HyperPodNodeClass nome na sua NodePool configuração.

Veja a seguir uma amostraHyperpodNodeClass:

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

O Karpenter prioriza grupos de instâncias spot em vez de instâncias sob demanda, usando o On-Demand como substituto quando especificado na configuração. A seleção de instâncias é classificada por pontuações de posicionamento EC2 spot associadas à zona de disponibilidade de cada sub-rede.

Aplique a configuração ao seu cluster EKS usandokubectl:

kubectl apply -f nodeclass.yaml

O HyperPod cluster deve estar AutoScaling habilitado e o AutoScaling status deve mudar para InService antes que o HyperpodNodeClass possa ser aplicado. Também mostra as capacidades dos grupos de instâncias como Spot ou OnDemand. Para obter mais informações e considerações importantes, consulte Escalonamento automático no EKS. SageMaker HyperPod

Por exemplo

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": {}}

Criar NodePool

NodePool Define restrições nos nós que podem ser criados pelo Karpenter e nos pods que podem ser executados nesses nós. O NodePool pode ser configurado para realizar várias ações, como:

  • Defina rótulos e manchas para limitar os pods que podem ser executados nos nós que o Karpenter cria

  • Limite a criação de nós a determinadas zonas, tipos de instância e arquiteturas de computador, e assim por diante

Para obter mais informações sobre NodePool, consulte NodePools. SageMaker HyperPod O Managed Karpenter oferece suporte a um conjunto limitado de requisitos conhecidos do Kubernetes e do Karpenter, que explicamos neste post.

Para criar um NodePool, conclua as seguintes etapas:

Crie um arquivo YAML nodepool.yaml com o nome da NodePool configuração desejada. O código a seguir é um exemplo de configuração para criar uma amostra NodePool. Especificamos o NodePool para incluir nosso tipo de SageMaker instância ml.g6.xlarge e também o especificamos para uma zona. Consulte NodePoolspara obter mais personalizações.

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"]

Dica: na interrupção EC2 pontual, o Hyperpod contamina um nó para acionar o despejo do pod. O processo de consolidação do Karpenter respeita os orçamentos de interrupção do pod e realiza o despejo normal do Kubernetes, mas se você definir consolidateAfter: 0, a consolidação pode acontecer imediatamente, dando muito pouco tempo para um despejo normal do pod. Defina-o como diferente de zero por até 2 minutos para permitir o despejo elegante da cápsula para qualquer necessidade de posto de controle.

Aplique o NodePool ao seu cluster:

kubectl apply -f nodepool.yaml

Monitore o NodePool status para garantir que a condição Pronto no status esteja definida como Verdadeiro:

kubectl get nodepool gpunodepool -oyaml

Este exemplo mostra como a NodePool pode ser usado para especificar o hardware (tipo de instância) e o posicionamento (zona de disponibilidade) dos pods.

Inicie uma carga de trabalho simples

A carga de trabalho a seguir executa uma implantação do Kubernetes em que os pods na implantação solicitam 1 CPU e 256 MB de memória por réplica, por pod. Os frutos ainda não foram fabricados.

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

Quando aplicamos isso, podemos ver uma implantação e o lançamento de um único nó em nosso cluster, conforme mostrado na captura de tela a seguir.

Para escalar esse componente, use o seguinte comando:

kubectl scale deployment inflate --replicas 10

Consulte https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker- hyperpod-eks-autoscaling .html para obter mais detalhes.

Gerenciando a interrupção do nó

As instâncias spot podem ser recuperadas a qualquer momento. EC2 fornece um aviso de interrupção de 2 minutos da melhor forma possível na maioria dos casos, mas esse aviso não é garantido. Em algumas situações, EC2 pode encerrar as Instâncias Spot imediatamente sem qualquer aviso prévio. HyperPod lida automaticamente com os dois cenários:

  • Com aviso prévio de 2 minutos: repete automaticamente o despejo elegante da cápsula e a substituição controlada da capacidade quando a capacidade Spot estiver disponível.

  • Sem aviso prévio (rescisão imediata): repete automaticamente a substituição do nó (quando a capacidade Spot estiver disponível) sem despejo normal

Como funciona

Quando EC2 envia um aviso de interrupção do Spot, HyperPod automaticamente:

  1. Detecta sinal de interrupção

  2. Constrói o nó: impede que novos pods sejam programados na instância interrompida

  3. Elimina pods com elegância: dá tempo para que os pods em execução concluam ou verifiquem seu trabalho (respeitando o Kubernetes) terminationGracePeriodSeconds

  4. Substitui a capacidade: tenta provisionar automaticamente as instâncias de substituição (spot ou sob demanda, com base na disponibilidade).

    A substituição da capacidade funciona provisionando automaticamente as instâncias de substituição. Quando a capacidade não está imediatamente disponível, o sistema continua verificando até que os recursos se tornem acessíveis. No caso de grupos de instâncias sem escalonamento automático, HyperPod tente escalar dentro do mesmo grupo de instâncias até que a capacidade necessária esteja disponível. Para grupos de instâncias baseados em Karpenter, o Karpenter implementa um mecanismo alternativo para outros grupos de instâncias configurados na classe Node quando o grupo primário não consegue acomodar a demanda. Além disso, você pode configurar o On-Demand como uma opção alternativa, permitindo que o Karpenter mude automaticamente para instâncias On-Demand caso não consiga escalar com sucesso os grupos de instâncias spot.

  5. Reprograma cargas de trabalho: o Kubernetes reprograma automaticamente os pods despejados em nós saudáveis

Encontrando seu uso e fatura

Para verificar o uso e o faturamento das Instâncias Spot, HyperPod você pode usar o Console do AWS Cost Explorer. Acesse Billing and Cost Management > Bill

Uma imagem contendo informações da região de custo.

Para explorar o uso e o faturamento no Console, acesse Billing and Cost Management > Cost Explorer

Uma imagem contendo custo e uso.