

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 definizioni di lavoro utilizzando EcsProperties
<a name="multi-container-jobs"></a>

Utilizzando AWS Batch Job Definitions [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html), è possibile modellare hardware, sensori, ambienti 3D e altre simulazioni in contenitori separati. È possibile utilizzare questa funzionalità per organizzare in modo logico i componenti del carico di lavoro e separarli dall'applicazione principale. Questa funzionalità può essere utilizzata con AWS Batch Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS) e. AWS Fargate

## `ContainerProperties`rispetto alle definizioni delle mansioni `EcsProperties`
<a name="containerpropertions-vs-ecsproperties"></a>

È possibile scegliere di utilizzare [https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html)o utilizzare le [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html)definizioni in base al caso d'uso. A un livello elevato, l'esecuzione di AWS Batch job with `EcsProperties` è simile all'esecuzione di job con a. `ContainerProperties`

La struttura di definizione dei processi esistente, in uso`ContainerProperties`, rimane supportata. Se attualmente disponi di flussi di lavoro che utilizzano questa struttura, puoi continuare a eseguirli.

La differenza principale è che è stato aggiunto un nuovo oggetto alla definizione del processo per contenere le definizioni `EcsProperties` basate.

Ad esempio, una definizione di lavoro utilizzata `ContainerProperties` su Amazon ECS e Fargate ha la seguente struttura:

```
{
   "containerProperties": {
     ...
     "image": "my_ecr_image1",
     ...
  },
...
}
```

Una definizione di lavoro che viene utilizzata `EcsProperties` su Amazon ECS e Fargate ha la seguente struttura:

```
{
  "ecsProperties": {
    "taskProperties": [{
      "containers": [
        { 
          ...
          "image": "my_ecr_image1",
          ...
        },
        { 
          ...
          "image": "my_ecr_image2",
          ...
        },
```

## Modifiche generali al AWS Batch APIs
<a name="multi-container-general"></a>

Di seguito vengono illustrate ulteriormente alcune delle principali differenze nell'utilizzo dei tipi di dati `ContainerProperties` e delle `EcsProperties` API:
+ Molti dei parametri utilizzati all'interno `ContainerProperties` appaiono all'interno. `TaskContainerProperties` Alcuni esempi includono`command`,`image`, `privileged``secrets`, e`users`. Si possono trovare tutti all'interno [TaskContainerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html).
+ Alcuni `TaskContainerProperties` parametri non hanno equivalenti funzionali nella struttura precedente. Alcuni esempi includono,`dependsOn`,`essential`, `name``ipcMode`, e`pidMode`. Per ulteriori informazioni, consultare [EcsTaskDetails](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskDetails.html) e [TaskContainerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html).

  Inoltre, alcuni `ContainerProperties` parametri non hanno equivalenti o applicazioni nella `EcsProperties` struttura. In [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties), `container` è stato sostituito con in `containers` modo che il nuovo oggetto possa accettare fino a dieci elementi. [https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-containerProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-containerProperties)
+ `taskRoleArn`è funzionalmente equivalente `jobRoleArn` a. Per ulteriori informazioni, vedere [EcsTaskProperties: taskRoleArn](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html) e [ContainerProperties: jobRoleArn](https://docs.aws.amazon.com/batch/latest/APIReference/API_ContainerProperties.html).
+ È possibile includere da uno (1) a dieci (10) contenitori nella `EcsProperties` struttura. [Per ulteriori informazioni, vedi:containersEcsTaskProperties.](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html)
+ Gli oggetti `taskProperties` e InstanceTypes sono matrici, ma attualmente accettano solo un elemento. [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html)

## Definizioni di processi multi-container per Amazon ECS
<a name="multi-container-ecs-updates"></a>

Per adattarsi alla struttura multi-contenitore per Amazon ECS, alcuni tipi di dati delle API sono diversi. Ad esempio, 
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-ecsProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-ecsProperties)è lo stesso livello della definizione di `containerProperties` contenitore singolo. Per ulteriori informazioni, consulta [EcsProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html) nella *guida di riferimento delle API AWS Batch *.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html#Batch-Type-EcsProperties-taskProperties)contiene le proprietà definite per il task Amazon ECS. Per ulteriori informazioni, consulta [EcsProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsProperties.html) nella *guida di riferimento delle API AWS Batch *.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html#Batch-Type-EcsTaskProperties-containers](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html#Batch-Type-EcsTaskProperties-containers)include informazioni simili a quelle contenute `containerProperties` nella definizione di contenitore singolo. La differenza principale è che `containers` consente di definire fino a dieci contenitori. *Per ulteriori informazioni, consulta [ECSTaskProperties:Containers](https://docs.aws.amazon.com/batch/latest/APIReference/API_EcsTaskProperties.html) nella API Reference Guide.AWS Batch *
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential)il parametro indica in che modo il contenitore influisce sul lavoro. Tutti i contenitori essenziali devono essere completati correttamente (uscire come 0) per far avanzare il lavoro. Se un contenitore contrassegnato come essenziale fallisce (esce come diverso da 0), il processo fallisce.

  Il valore predefinito è `true` e almeno un contenitore deve essere contrassegnato come. `essential` Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-essential) nella *guida di riferimento delle API AWS Batch *.
+ Con il [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn)parametro, è possibile definire un elenco di dipendenze del contenitore. Per ulteriori informazioni, consulta [https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn](https://docs.aws.amazon.com/batch/latest/APIReference/API_TaskContainerProperties.html#Batch-Type-TaskContainerProperties-dependsOn) nella *guida di riferimento delle API AWS Batch *.
**Nota**  
La complessità dell'`dependsOn`elenco e il relativo runtime del contenitore possono influire sull'ora di inizio del processo. Se l'esecuzione delle dipendenze impiega molto tempo, il processo rimarrà in uno `STARTING` stato fino al completamento.

[Per ulteriori informazioni sulla struttura `ecsProperties` and, consulta la sintassi della [RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#API_RegisterJobDefinition_RequestBody)richiesta per ECSProperties.](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-ecsProperties)

## Definizioni di processi multi-container per Amazon EKS
<a name="multi-container-eks-updates"></a>

Per adattarsi alla struttura multi-contenitore per Amazon EKS, alcuni tipi di dati delle API sono diversi. Ad esempio, 
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainer.html#Batch-Type-EksContainer-name](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksContainer.html#Batch-Type-EksContainer-name)è un identificatore univoco per il contenitore. Questo oggetto non è richiesto per un singolo contenitore, ma è necessario quando si definiscono più contenitori in un contenitore. Quando `name` non è definito per singoli contenitori, viene applicato il nome predefinito`default`,.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-initContainers](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-initContainers)sono definiti all'interno del tipo di [eksPodProperties](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html)dati. Vengono eseguiti prima dei contenitori delle applicazioni, vengono sempre eseguiti fino al completamento e devono essere completati correttamente prima dell'avvio del contenitore successivo.

  Questi contenitori sono registrati con l'agente Amazon EKS Connector e mantengono le informazioni di registrazione nell'archivio dati di backend di Amazon Elastic Kubernetes Service. L'`initContainers`oggetto può accettare fino a dieci (10) elementi. Per ulteriori informazioni, vedete [Init Containers](https://kubernetes.io/docs/concepts/workloads/pods/init-containers/) nella *Kubernetesdocumentazione*.
**Nota**  
L'`initContainers`oggetto può influire sull'ora di inizio del lavoro. Se l'esecuzione `initContainers` richiede molto tempo, il processo rimarrà in uno `STARTING` stato fino al completamento.
+ [https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-shareProcessNamespace](https://docs.aws.amazon.com/batch/latest/APIReference/API_EksPodProperties.html#Batch-Type-EksPodProperties-shareProcessNamespace)indica se i contenitori nel contenitore possono condividere lo stesso spazio dei nomi del processo. Il valore predefinito è `false`. Impostando questa opzione `true` per consentire ai contenitori di visualizzare e segnalare i processi in altri contenitori che si trovano nello stesso contenitore.
+ Ogni contenitore è importante. Tutti i contenitori devono essere completati correttamente (uscire come 0) affinché il lavoro abbia esito positivo. Se un contenitore fallisce (esce con un valore diverso da 0), il processo fallisce.

[Per ulteriori informazioni sulla struttura `eksProperties` and, vedere la sintassi della [RegisterJobDefinition](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#API_RegisterJobDefinition_RequestBody)richiesta per EksProperties.](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html#Batch-RegisterJobDefinition-request-eksProperties)

# Riferimento: scenari AWS Batch di lavoro che utilizzano EcsProperties
<a name="multi-container-jobs-scenarios"></a>

Per illustrare come le definizioni di AWS Batch job utilizzate `EcsProperties` possono essere strutturate in base alle esigenze dell'utente, questo argomento presenta i seguenti payload. [https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_RegisterJobDefinition.html) È possibile copiare questi esempi in un file, personalizzarli in base alle proprie esigenze e quindi utilizzare il AWS Command Line Interface (AWS CLI) per chiamare. `RegisterJobDefinition`

## AWS Batch lavoro per Amazon ECS su Amazon EC2
<a name="multi-container-scenario-on-ec2"></a>

Di seguito è riportato un esempio di AWS Batch lavoro per Amazon Elastic Container Service su Amazon Elastic Compute Cloud:

```
{
    "jobDefinitionName": "multicontainer-ecs-ec2",
    "type": "container",
    "ecsProperties": {
        "taskProperties": [
          {
            "containers": [
              {
                "name": "c1",
                "essential": false,
                "command": [
                  "echo",
                  "hello world"
                ],
                "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                "resourceRequirements": [
                  {
                    "type": "VCPU",
                    "value": "2"
                  },
                  {
                    "type": "MEMORY",
                    "value": "4096"
                  }
                ]
              },
              {
                "name": "c2",
                "essential": false,
                "command": [
                  "echo",
                  "hello world"
                ],
                "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                "resourceRequirements": [
                  {
                    "type": "VCPU",
                    "value": "2"
                  },
                  {
                    "type": "MEMORY",
                    "value": "4096"
                  }
                ]
              },
              {
                "name": "c3",
                "essential": true,
                "command": [
                  "echo",
                  "hello world"
                ],
                "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                "firelensConfiguration": {
                  "type": "fluentbit",
                  "options": {
                    "enable-ecs-log-metadata": "true"
                  }
                 },
                "resourceRequirements": [
                  {
                    "type": "VCPU",
                    "value": "6"
                  },
                  {
                    "type": "MEMORY",
                    "value": "12288"
                  }
                ]
              }
            ]
          }
        ]
  }
}
```

## AWS Batch lavoro per Amazon ECS su Fargate
<a name="multi-containers-ecs-on-fargate"></a>

Di seguito è riportato un esempio di AWS Batch lavoro per Amazon Elastic Container Service su AWS Fargate:

```
{
    "jobDefinitionName": "multicontainer-ecs-fargate",
    "type": "container",
    "platformCapabilities": [
        "FARGATE"
    ],
    "ecsProperties": {
        "taskProperties": [
          {
            "containers": [
              {
                "name": "c1",
                "command": [
                  "echo",
                  "hello world"
                ],
                "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                "resourceRequirements": [
                  {
                    "type": "VCPU",
                    "value": "2"
                  },
                  {
                    "type": "MEMORY",
                    "value": "4096"
                  }
                ]
              },
              {
                "name": "c2",
                "essential": true,
                "command": [
                  "echo",
                  "hello world"
                ],
                "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                "resourceRequirements": [
                  {
                    "type": "VCPU",
                    "value": "6"
                  },
                  {
                    "type": "MEMORY",
                    "value": "12288"
                  }
                ]
              }
            ],
            "executionRoleArn": "arn:aws:iam::1112223333:role/ecsTaskExecutionRole"
          }
        ]
  }
}
```

## AWS Batch lavoro per Amazon EKS
<a name="multi-containers-eks-example"></a>

Di seguito è riportato un esempio di AWS Batch job per Amazon Elastic Kubernetes Service:

```
{
  "jobDefinitionName": "multicontainer-eks",
  "type": "container",
  "eksProperties": {
    "podProperties": {
      "shareProcessNamespace": true,
      "initContainers": [
        {
          "name": "init-container",
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
          "command": [
            "echo"
          ],
          "args": [
            "hello world"
          ],
          "resources": {
            "requests": {
              "cpu": "1",
              "memory": "512Mi"
            }
          }
        },
        {
          "name": "init-container-2",
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
          "command": [
            "echo",
            "my second init container"
          ],
          "resources": {
            "requests": {
              "cpu": "1",
              "memory": "512Mi"
            }
          }
        }
      ],
      "containers": [
        {
          "name": "c1",
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
          "command": [
            "echo world"
         ],
          "resources": {
            "requests": {
              "cpu": "1",
              "memory": "512Mi"
            }
          }
        },
        {
          "name": "sleep-container",
          "image": "public.ecr.aws/amazonlinux/amazonlinux:2",
          "command": [
            "sleep",
            "20"
          ],
          "resources": {
            "requests": {
              "cpu": "1",
              "memory": "512Mi"
            }
          }
        }
      ]
    }
  }
}
```

## AWS Batch Job MNP con più contenitori per nodo
<a name="multi-container-ecs-mnp"></a>

Di seguito è riportato un esempio di AWS Batch job multi-node parallel (MNP) con più contenitori per nodo:

```
{
  "jobDefinitionName": "multicontainer-mnp",
  "type": "multinode",
  "nodeProperties": {
    "numNodes": 6,
    "mainNode": 0,
    "nodeRangeProperties": [
      {
        "targetNodes": "0:5",
        "ecsProperties": {
          "taskProperties": [
            {
              "containers": [
                {
                  "name": "range05-c1",
                  "command": [
                    "echo",
                    "hello world"
                  ],
                  "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                  "resourceRequirements": [
                    {
                      "type": "VCPU",
                      "value": "2"
                    },
                    {
                      "type": "MEMORY",
                      "value": "4096"
                    }
                  ]
                },
                {
                  "name": "range05-c2",
                  "command": [
                    "echo",
                    "hello world"
                  ],
                  "image": "public.ecr.aws/amazonlinux/amazonlinux:latest",
                  "resourceRequirements": [
                    {
                      "type": "VCPU",
                      "value": "2"
                    },
                    {
                      "type": "MEMORY",
                      "value": "4096"
                    }
                  ]
                }
              ]
            }
          ]
        }
      }
    ]
  }
}
```