View a markdown version of this page

Crea una definizione di job sulle istanze gestite di Amazon ECS - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea una definizione di job sulle istanze gestite di Amazon ECS

Le definizioni dei job di Amazon ECS Managed Instances vengono utilizzate con la funzionalità della piattaforma. ecsProperties MANAGED_INSTANCES A differenza di Fargate, non ci sono restrizioni sulle combinazioni di dimensioni di vCPU e memoria e le risorse GPU sono supportate. Per ulteriori informazioni sui parametri supportati, vedere. Definizioni dei job sulle istanze gestite di Amazon ECS

Creazione di una definizione di processo su Amazon ECS Managed Instances (console)

Per creare una nuova definizione di job su Amazon ECS Managed Instances:
  1. Apri la AWS Batch console all'indirizzo. https://console.aws.amazon.com/batch/

  2. Dalla barra di navigazione in alto, scegli quello Regione AWS da usare.

  3. Nel riquadro di navigazione a sinistra, scegli Definizioni dei lavori.

  4. Scegli Crea.

  5. Per il tipo di orchestrazione, scegli ECS Managed Instances.

  6. Per Nome, immettete un nome univoco per la definizione del processo. Il nome può contenere fino a 128 caratteri. Deve contenere lettere maiuscole e minuscole, numeri, trattini (-) e caratteri di sottolineatura (_).

  7. (Facoltativo) Per il timeout di esecuzione, immettete il valore di timeout (in secondi). Il timeout di esecuzione è il periodo di tempo prima che un lavoro incompiuto venga terminato. Se un tentativo supera la durata del timeout, il tentativo viene interrotto e passa a uno stato. FAILED Per ulteriori informazioni, consulta Timeout dei processi. Il valore minimo è 60 secondi.

  8. Per il ruolo Execution, scegli un ruolo IAM che conceda all'agente container Amazon ECS l'autorizzazione a effettuare chiamate AWS API per tuo conto. Questo ruolo è richiesto per i job di Amazon ECS Managed Instances. Ad esempio, il ruolo viene utilizzato per estrarre immagini di container da Amazon ECR.

  9. Nella sezione Configurazione del contenitore:

    1. Per Immagine, inserisci l'immagine del contenitore da usare per il lavoro. Le immagini nei registri Amazon ECR possono essere specificate con la convenzione di denominazionerepository-url/image:tag. Le immagini nei registri pubblici utilizzano l'URI completo (ad esempio,). public.ecr.aws/amazonlinux/amazonlinux:2023

    2. Per Comando, immettete il comando da passare al contenitore.

    3. Per vCPUs (vCPU) specifica il numero di vCPU da prenotare per il container.

    4. Per Memoria, specifica il limite di memoria (in MiB) disponibile per il contenitore.

    5. (Facoltativo) Per le GPU, specifica il numero di dispositivi GPU da rendere disponibili per il contenitore. L'ambiente di calcolo deve avere istanze GPU disponibili.

  10. (Facoltativo) Espandi i tag, quindi scegli Aggiungi tag per aggiungere tag alla risorsa. Attiva Propaga tag per propagare i tag a partire dal job e dalla definizione del job.

  11. Scegli Create job definition (Crea definizione processo).

Creazione di una definizione di processo su istanze gestite di Amazon ECS (AWS CLI)

Usa il register-job-definition comando per creare una definizione di job per le istanze gestite di Amazon ECS.

Esempio di base

L'esempio seguente crea una definizione minima di processo che esegue un semplice comando.

$ aws batch register-job-definition \ --job-definition-name my-managed-instances-job-def \ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "main", "command": ["echo", "hello managed instances"], "resourceRequirements": [ {"type": "VCPU", "value": "1"}, {"type": "MEMORY", "value": "1024"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'

Definizione del lavoro GPU

L'esempio seguente crea una definizione di processo che richiede risorse GPU.

$ aws batch register-job-definition \ --job-definition-name my-gpu-managed-instances-job-def \ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/my-gpu-image:latest", "name": "main", "command": ["nvidia-smi"], "resourceRequirements": [ {"type": "VCPU", "value": "4"}, {"type": "MEMORY", "value": "16384"}, {"type": "GPU", "value": "1"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'

Multi-container definizione del lavoro (sidecar)

L'esempio seguente crea una definizione di lavoro con un contenitore principale e un contenitore di registrazione sidecar.

$ aws batch register-job-definition \ --job-definition-name my-sidecar-managed-instances-job-def \ --type container \ --platform-capabilities MANAGED_INSTANCES \ --ecs-properties '{ "taskProperties": [{ "containers": [{ "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "main", "command": ["echo", "processing data"], "essential": true, "resourceRequirements": [ {"type": "VCPU", "value": "2"}, {"type": "MEMORY", "value": "4096"} ] }, { "image": "public.ecr.aws/amazonlinux/amazonlinux:2023", "name": "sidecar", "command": ["echo", "logging sidecar"], "essential": false, "resourceRequirements": [ {"type": "VCPU", "value": "1"}, {"type": "MEMORY", "value": "512"} ] }], "executionRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole" }] }'