View a markdown version of this page

Ambientes de computação em instâncias gerenciadas do Amazon ECS - AWS Batch

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á.

Ambientes de computação em instâncias gerenciadas do Amazon ECS

AWS Batch os ambientes computacionais nas instâncias gerenciadas do Amazon ECS usam um bloco de managedInstancesProvider configuração interno. computeResources Essa estrutura se alinha ao modelo de provedor de capacidade do Amazon ECS e é independente. Todas as configurações de rede, perfil de instância e seleção de instâncias estão dentro desse bloco.

A lista a seguir descreve os parâmetros do ambiente computacional para ambientes computacionais de instâncias gerenciadas do Amazon ECS.

type(nível superior)

Deve ser MANAGED.

"type": "MANAGED"
computeResources.type

Deve ser ECS_MANAGED_INSTANCES. Diferentemente dos ambientes computacionais Fargate e Amazon EC2, a capacidade spot não é expressa como um tipo separado (não há nenhum ECS_MANAGED_INSTANCES_SPOT tipo). Em vez disso, use capacityOptionType inside managedInstancesProvider.instanceLaunchTemplate para especificar On-Demand ou detectar a capacidade.

"type": "ECS_MANAGED_INSTANCES"
computeResources.maxvCpus

O número máximo de vCPUs para o qual o ambiente de computação pode ser escalado. Funciona da mesma forma que nos ambientes maxvCpus de computação Fargate — ele limita o total de vCPU consumido em todas as tarefas em execução.

Importante

Atualmente, AWS Batch avalia maxvCpus com base no total de vCPUs solicitadas pela execução de trabalhos, não no total de vCPUs das instâncias subjacentes do Amazon EC2. As instâncias gerenciadas do Amazon ECS usam alocação de instâncias multilocatárias. Como resultado, a capacidade real de vCPU da instância provisionada pode exceder o total de vCPUs do trabalho. O ambiente computacional pode provisionar mais capacidade de instância do que o maxvCpus valor indica. Esse comportamento pode ser refinado em uma atualização futura.

computeResources.managedInstancesProvider

Necessário para ambientes computacionais de instâncias gerenciadas do Amazon ECS. Contém todas as Instances-specific configurações gerenciadas do Amazon ECS. Para obter mais informações, consulte a Referência ManagedInstancesProvider de API do Amazon Elastic Container Service. Os seguintes campos opcionais estão disponíveis:

infrastructureRoleArn

Obrigatório. O ARN da função do IAM que o Amazon ECS assume para gerenciar instâncias do Amazon EC2 em seu nome. Essa função deve ter uma política de confiança paraecs.amazonaws.com. Seu diretor do IAM deve ter iam:PassRole permissão para essa função com a condiçãoiam:PassedToService: ecs.amazonaws.com.

propagateTags

Opcional. Controla se as tags no provedor de capacidade são propagadas para as instâncias do Amazon EC2 que ele executa. Os valores válidos são CAPACITY_PROVIDER e NONE.

instanceLaunchTemplate

Obrigatório. Contém a configuração de inicialização da instância:

ec2InstanceProfileArn

Obrigatório. O ARN do perfil de instância do Amazon EC2 para as instâncias gerenciadas. Esse perfil de instância deve usar a política AmazonECSInstanceRolePolicyForManagedInstances gerenciada com uma política de confiança paraec2.amazonaws.com.

networkConfiguration

Obrigatório. Especifica a configuração da VPC para as instâncias gerenciadas.

  • subnets — Obrigatório. As sub-redes VPC nas quais as instâncias são iniciadas. As instâncias precisam de acesso à rede externa para se comunicarem com o endpoint do serviço Amazon ECS. Se suas sub-redes não fornecerem endereços IP públicos, elas precisarão ter um gateway NAT para acesso de saída à Internet.

  • securityGroups — Obrigatório. Os grupos de segurança da VPC a serem associados às instâncias.

instanceRequirements

Opcional. Especifica as restrições sobre quais tipos de instância do Amazon EC2 o Amazon ECS pode iniciar. Se não forem fornecidos, todos os tipos de instância disponíveis são elegíveis.

  • allowedInstanceTypes— Uma lista de tipos ou famílias de instâncias específicos (por exemplo, m5.large oug5). Quando especificados, somente esses tipos de instância são usados.

capacityOptionType

Opcional. O modelo de precificação por capacidade. Os valores válidos são ON_DEMAND (padrão) e SPOT. ComSPOT, o Amazon ECS lança instâncias spot que podem proporcionar economias significativas para cargas de trabalho tolerantes a falhas.

storageConfiguration

Opcional. Configura o volume raiz do EBS para instâncias.

  • storageSizeGiB— O tamanho do volume raiz em GiB.

monitoring

Opcional. O nível de CloudWatch monitoramento das instâncias. Os valores válidos são BASIC e DETAILED.

fipsEnabled

Opcional. Quando definido comotrue, permite a conformidade com o FIPS 140-2 nas instâncias gerenciadas. Não está disponível em todos Regiões da AWS.

capacityReservations

Opcional. Visa as reservas On-Demand de capacidade (ODCRs) para uma disponibilidade previsível da capacidade.

  • reservationGroupArn— O ARN do grupo de reserva de capacidade a ser alvo.

  • reservationPreference— Controla como as reservas de capacidade são usadas. Os valores válidos são RESERVATIONS_ONLY (inicie somente em reservas), RESERVATIONS_FIRST (prefira reservas, volte para sob demanda) e RESERVATIONS_EXCLUDED (não use reservas).

instanceMetadataTagsPropagation

Opcional. Controla se as tags podem ser acessadas pelo serviço de metadados da instância (IMDS) nas instâncias gerenciadas.

localStorageConfiguration

Opcional. Configura os volumes de armazenamento de instâncias locais (SSDs NVMe locais) para as instâncias gerenciadas.

  • useLocalStorage— Se os volumes de armazenamento de instâncias estão disponíveis para contêineres em execução nas instâncias gerenciadas.

infrastructureOptimization

Opcional. Controla como o Amazon ECS gerencia instâncias ociosas.

  • scaleInAfter— O número de segundos em que uma instância deve ficar inativa antes que o Amazon ECS a encerre. Os valores válidos são -1 (para desativar a ampliação) ou 03600 (segundos de tempo ocioso antes do encerramento).

computeResources.capacityTags

Opcional. Tags a serem aplicadas ao provedor de capacidade do Amazon ECS e às instâncias do Amazon EC2 gerenciadas pelo ambiente computacional. Válido somente para ambientes ECS_MANAGED_INSTANCES computacionais. Seu diretor do IAM deve ter batch:SetCapacityTags permissão no recurso do ambiente computacional para especificar esse campo. Para obter mais informações, consulte Controle o acesso às etiquetas de capacidade com lote: SetCapacityTags.

Essas tags são separadas do nível superior tags no próprio recurso do ambiente computacional. Use capacityTags para alocação de custos e organização dos recursos de infraestrutura subjacentes.

Parâmetros não aplicáveis às instâncias gerenciadas do Amazon ECS

Os computeResources parâmetros a seguir não são válidos para ambientes computacionais de instâncias gerenciadas do Amazon ECS e não devem ser especificados:

  • allocationStrategy

  • bidPercentage

  • desiredvCpus

  • minvCpus

  • imageId

  • instanceTypes

  • instanceRole

  • ec2Configuration

  • ec2KeyPair

  • launchTemplate

  • placementGroup

  • spotIamFleetRole

  • subnets(use managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.subnets em vez disso)

  • securityGroupIds(use managedInstancesProvider.instanceLaunchTemplate.networkConfiguration.securityGroups em vez disso)

Atualização de ambientes computacionais de instâncias gerenciadas do Amazon ECS

Todos os atributos do ambiente computacional das Instâncias Gerenciadas do Amazon ECS podem ser atualizados, exceto o tipo de ambiente computacional, capacityOptionType e. fipsEnabled As atualizações fluem para o provedor de capacidade subjacente do Amazon ECS. As novas instâncias usam a configuração atualizada. As instâncias existentes continuam em execução até que seus trabalhos sejam concluídos e depois se esgotam naturalmente.

O seguinte não pode ser alterado após a criação:

  • O tipo de ambiente de computação (ECS_MANAGED_INSTANCESnão pode ser alterado para FARGATEEC2, ou outros tipos)

  • capacityOptionType— Você não pode alternar entre On-Demand e Spot após a criação

  • fipsEnabled— O modo FIPS não pode ser alterado após a criação

Exemplos

Configuração mínima

O exemplo a seguir mostra a configuração mínima necessária para criar um ambiente computacional de instâncias gerenciadas do Amazon ECS. O Amazon ECS seleciona automaticamente os tipos de instância de todos os tipos disponíveis.

{ "computeEnvironmentName": "my-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 256, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] } } } } }

Carga de trabalho de GPU com tipos de instância específicos

O exemplo a seguir cria um ambiente computacional restrito aos tipos de instância de GPU NVIDIA para cargas de trabalho de aprendizado de máquina.

{ "computeEnvironmentName": "my-gpu-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 1000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["g5.xlarge", "g5.2xlarge", "g5.4xlarge"] }, "capacityOptionType": "ON_DEMAND" } } } }

Capacidade pontual para cargas de trabalho econômicas

O exemplo a seguir cria um ambiente Spot-backed computacional para cargas de trabalho em lote tolerantes a falhas.

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "type": "MANAGED", "state": "ENABLED", "computeResources": { "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 5000, "managedInstancesProvider": { "infrastructureRoleArn": "arn:aws:iam::123456789012:role/ecsInfrastructureRole", "instanceLaunchTemplate": { "ec2InstanceProfileArn": "arn:aws:iam::123456789012:instance-profile/ecsInstanceProfile", "networkConfiguration": { "subnets": ["subnet-abcde012", "subnet-bcde012a", "subnet-cde012ab"], "securityGroups": ["sg-abcde012"] }, "instanceRequirements": { "allowedInstanceTypes": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT", "storageConfiguration": { "storageSizeGiB": 100 } } } } }