View a markdown version of this page

Tutorial: Crie um ambiente computacional gerenciado usando 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á.

Tutorial: Crie um ambiente computacional gerenciado usando instâncias gerenciadas do Amazon ECS

Este tutorial orienta você na criação de um ambiente AWS Batch computacional que usa instâncias gerenciadas do Amazon ECS. O Amazon ECS gerencia as instâncias do Amazon EC2 em seu nome — você especifica a capacidade máxima e as restrições opcionais da instância, e o Amazon ECS lida com o provisionamento, a escalabilidade e o encerramento.

Pré-requisitos

Antes de criar um ambiente computacional de instâncias gerenciadas do Amazon ECS, você deve ter o seguinte:

  • Uma função de infraestrutura do Amazon ECS — uma função do IAM que o Amazon ECS assume para gerenciar instâncias do Amazon EC2 em seu nome. A função deve ter uma política de confiança paraecs.amazonaws.com. Para obter mais informações, consulte a função IAM da infraestrutura do Amazon ECS no Guia do desenvolvedor do Amazon Elastic Container Service.

  • Um perfil de instância do Amazon EC2 — um perfil de instância que usa a política AmazonECSInstanceRolePolicyForManagedInstances gerenciada. A política de confiança deve ec2.amazonaws.com permitir assumir o papel.

  • Seu diretor do IAM deve ter iam:PassRole permissão para a função de infraestrutura com a condiçãoiam:PassedToService: ecs.amazonaws.com.

  • Uma VPC com sub-redes com acesso externo à Internet (atribuição de IP público ou gateway NAT).

Criação de um ambiente computacional de instâncias gerenciadas do Amazon ECS (console)

  1. Abra o AWS Batch console em https://console.aws.amazon.com/batch/.

  2. Na barra de navegação, escolha o Região da AWS a ser usado.

  3. No painel de navegação esquerdo, escolha Ambientes.

  4. Escolha Criar ambiente e, em seguida, escolha Criar ambiente computacional.

  5. Para o tipo de ambiente de computação, escolha ECS Managed Instances.

  6. Em Nome do ambiente de computação, insira um nome exclusivo. O nome pode ter até 128 caracteres e conter letras maiúsculas e minúsculas, números, hífens (-) e sublinhados (_).

  7. Em Máximo de vCPUs, insira o número máximo de vCPUs para as quais o ambiente de computação pode ser escalado.

  8. Para a função de infraestrutura, escolha a função de infraestrutura do Amazon ECS que você criou como pré-requisito.

  9. Em Perfil de instância, escolha o perfil de instância do Amazon EC2 que você criou como pré-requisito.

  10. Na seção Rede:

    1. Para VPC, escolha a VPC em que as instâncias serão lançadas.

    2. Para Sub-redes, escolha uma ou mais sub-redes. As sub-redes devem ter acesso de saída à Internet.

    3. Para grupos de segurança, escolha um ou mais grupos de segurança para associar às instâncias.

  11. (Opcional) Para o tipo de capacidade, escolha Spot para usar instâncias spot para economizar custos em cargas de trabalho tolerantes a falhas. O padrão é On-Demand.

  12. (Opcional) Para os tipos de instância permitidos, especifique quais tipos de instância o Amazon ECS pode iniciar. Se você não especificar nenhum, todos os tipos de instância disponíveis serão elegíveis.

  13. Escolha Criar ambiente computacional.

Criação de um ambiente computacional de instâncias gerenciadas do Amazon ECS (AWS CLI)

Use o create-compute-environment comando para criar um ambiente computacional de instâncias gerenciadas do Amazon ECS.

Exemplo básico

O exemplo a seguir cria um ambiente computacional com a configuração mínima necessária. O Amazon ECS pode usar qualquer tipo de instância disponível.

$ aws batch create-compute-environment \ --compute-environment-name my-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "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"] } } } }'

Identifique com tipos de instância específicos

O exemplo a seguir cria um ambiente Spot-backed computacional restrito a tipos específicos de instância.

$ aws batch create-compute-environment \ --compute-environment-name my-spot-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "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": ["m5.large", "m5.xlarge", "m6i.large", "m6i.xlarge"] }, "capacityOptionType": "SPOT" } } }'

Saída:

{ "computeEnvironmentName": "my-spot-managed-instances-ce", "computeEnvironmentArn": "arn:aws:batch:us-east-1:123456789012:compute-environment/my-spot-managed-instances-ce" }

Com reservas de capacidade

O exemplo a seguir cria um ambiente computacional que visa as reservas de On-Demand capacidade para obter capacidade previsível.

$ aws batch create-compute-environment \ --compute-environment-name my-reserved-managed-instances-ce \ --type MANAGED \ --state ENABLED \ --compute-resources '{ "type": "ECS_MANAGED_INSTANCES", "maxvCpus": 512, "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": ["m5.xlarge", "m5.2xlarge"] }, "capacityReservations": { "reservationGroupArn": "arn:aws:ec2:us-east-1:123456789012:capacity-reservation-group/my-reservation-group", "reservationPreference": "RESERVATIONS_FIRST" } } } }'

Próximas etapas

Depois de criar seu ambiente de computação, conclua as seguintes etapas para executar trabalhos:

  1. Crie uma fila de tarefas e associe seu ambiente computacional de instâncias gerenciadas do Amazon ECS a ela. Para obter mais informações, consulte Criar uma fila de trabalhos..

  2. Crie uma definição de tarefa com platformCapabilities set to MANAGED_INSTANCES e usingecsProperties. Para obter mais informações, consulte Definições de trabalho nas instâncias gerenciadas do Amazon ECS.

  3. Envie um trabalho para a fila de trabalhos. Para obter mais informações, consulte Tutorial: enviar um trabalho.