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à.
Supporto modello di avvio
AWS Batch supporta l'utilizzo di modelli di lancio di Amazon EC2 con i tuoi ambienti di calcolo EC2. Con i modelli di avvio, puoi modificare la configurazione predefinita delle tue risorse di AWS Batch calcolo senza dover creare AMI personalizzate.
Nota
I modelli di avvio non sono supportati nelle risorse AWS Fargate.
È necessario creare un modello di avvio prima di associarlo a un ambiente di calcolo. Puoi creare un modello di lancio nella console Amazon EC2. In alternativa, puoi utilizzare AWS CLI o un AWS SDK. Ad esempio, il seguente file JSON rappresenta un modello di avvio che ridimensiona il volume di dati Docker per l'AMI della risorsa di AWS Batch calcolo predefinita e lo imposta anche per la crittografia.
{ "LaunchTemplateName": "increase-container-volume-encrypt", "LaunchTemplateData": { "BlockDeviceMappings": [ { "DeviceName": "/dev/xvda", "Ebs": { "Encrypted": true, "VolumeSize": 100, "VolumeType": "gp2" } } ] } }
È possibile creare il modello di avvio precedente salvando il codice JSON in un file chiamato lt-data.json
ed eseguendo il comando seguente. AWS CLI
aws ec2 --region
<region>
create-launch-template --cli-input-json file://lt-data.json
Per ulteriori informazioni sui modelli di lancio, consulta Launching an Instance from a Launch Template nella Amazon EC2 User Guide.
Se si utilizza un modello di avvio per creare il tuo ambiente di calcolo, è possibile spostare i seguenti parametri di ambiente di calcolo esistenti sul modello di avvio:
Nota
Supponiamo che uno qualsiasi di questi parametri (ad eccezione dei tag Amazon EC2) sia specificato sia nel modello di avvio che nella configurazione dell'ambiente di calcolo. Quindi, i parametri dell'ambiente di calcolo hanno la precedenza. I tag Amazon EC2 vengono uniti tra il modello di lancio e la configurazione dell'ambiente di calcolo. In caso di collisione sulla chiave del tag, il valore nella configurazione dell'ambiente di calcolo ha la precedenza.
-
Coppia di chiavi Amazon EC2
-
ID AMI Amazon EC2
-
ID gruppo di sicurezza
-
Tag Amazon EC2
I seguenti parametri del modello di avvio vengono ignorati da: AWS Batch
-
Tipo di istanza (specificare i tipi di istanza desiderati al momento della creazione dell'ambiente di calcolo)
-
Ruolo istanza (specificare il ruolo di istanza desiderato al momento della creazione dell'ambiente di calcolo)
-
Sottoreti dell'interfaccia di rete (specificare i tipi di sottoreti desiderati al momento della creazione dell'ambiente di calcolo)
-
Opzioni di mercato delle istanze (AWS Batch deve controllare la configurazione dell'istanza Spot)
-
Disattiva la terminazione dell'API (AWS Batch deve controllare il ciclo di vita dell'istanza)
AWS Batch aggiorna il modello di lancio solo con una nuova versione del modello di avvio durante gli aggiornamenti dell'infrastruttura. Per ulteriori informazioni, consulta Aggiornamento degli ambienti di elaborazione.
Dati utente di Amazon EC2 nei modelli di lancio
Puoi fornire i dati utente di Amazon EC2 nel tuo modello di lancio eseguito da cloud-init
I dati utente di Amazon EC2 nei modelli di avvio devono essere in formato di archivio multiparte MIME
Se lo utilizzi AWS CloudFormation, il AWS::CloudFormation::Inittipo può essere utilizzato con lo script di supporto cfn-init per eseguire scenari di configurazione comuni.
Un file MIME in più parti è composto dai seguenti elementi:
-
Il tipo di contenuto e la dichiarazione di delimitazione della parte:
Content-Type: multipart/mixed; boundary="==BOUNDARY=="
-
La dichiarazione della versione MIME:
MIME-Version: 1.0
-
Uno o più blocchi di dati utente che contengono i seguenti componenti:
-
Il limite di apertura che segnala l'inizio di un blocco di dati utente:
--==BOUNDARY==
. È necessario mantenere vuota la linea prima di questo limite. -
La dichiarazione del tipo di contenuto per il blocco:
Content-Type:
. Per ulteriori informazioni sui tipi di contenuto, consulta la documentazione di cloud-inittext/cloud-config
; charset="us-ascii". È necessario lasciare vuota la riga dopo la dichiarazione del tipo di contenuto. -
Il contenuto dei dati utente, ad esempio un elenco di comandi o
cloud-init
direttive di shell.
-
-
Il limite di chiusura che segnala la fine del file multiparte MIME:.
--==BOUNDARY==--
È necessario mantenere vuota la linea prima del limite di chiusura.
Di seguito sono riportati alcuni esempi di file MIME multiparte che è possibile utilizzare per crearne di personalizzati.
Nota
Se aggiungi dati utente a un modello di lancio nella console Amazon EC2, puoi incollarli come testo semplice. In alternativa, puoi caricarli da un file. Se utilizzi AWS CLI o un AWS SDK, devi prima base64
codificare i dati utente e inviare quella stringa come valore del UserData
parametro quando chiami CreateLaunchTemplate, come mostrato in questo file JSON.
{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "
ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW...
" } }
Esempi
Esempio: monta un file system Amazon EFS esistente
Questo esempio di file multiparte MIME configura la risorsa di calcolo per installare il amazon-efs-utils
pacchetto e montare un file system Amazon EFS esistente su. /mnt/efs
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"
packages:
- amazon-efs-utils
runcmd:
- file_system_id_01=fs-abcdef123
- efs_directory=/mnt/efs
- mkdir -p ${efs_directory}
- echo "${file_system_id_01}:/ ${efs_directory} efs tls,_netdev" >> /etc/fstab
- mount -a -t efs defaults
--==MYBOUNDARY==--
Esempio: sovrascrivi la configurazione predefinita dell'agente container Amazon ECS
Questo esempio di file MIME in più parti sostituisce le impostazioni predefinite per la pulizia di un'immagine Docker per una risorsa di calcolo.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/x-shellscript; charset="us-ascii"
#!/bin/bash
echo ECS_IMAGE_CLEANUP_INTERVAL=60m >> /etc/ecs/ecs.config
echo ECS_IMAGE_MINIMUM_CLEANUP_AGE=60m >> /etc/ecs/ecs.config
--==MYBOUNDARY==--
Esempio: montaggio di un file system Amazon FSx for Lustre esistente
Questo file MIME multiparte di esempio configura la risorsa di calcolo per installare il lustre2.10
pacchetto dalla libreria Extras e montare un file system FSx for Lustre esistente su e un nome di montaggio di. /scratch
fsx
Questo esempio è per Amazon Linux 2. Per istruzioni di installazione per altre distribuzioni Linux, consulta Installazione del client Lustre nella Guida per l'utente di Amazon FSx for Lustre. Per ulteriori informazioni, consulta Mounting your Amazon FSx file system automaticamente nella Amazon FSx for Lustre User Guide.
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"
runcmd:
- file_system_id_01=fs-0abcdef1234567890
- region=us-east-2
- fsx_directory=/scratch
- amazon-linux-extras install -y lustre2.10
- mkdir -p ${fsx_directory}
- mount -t lustre ${file_system_id_01}.fsx.${region}.amazonaws.com@tcp:fsx
${fsx_directory}
--==MYBOUNDARY==--
Nei volumi e nei membri MountPoints delle proprietà del contenitore, i punti di montaggio devono essere mappati nel contenitore.
{ "volumes": [ { "host": { "sourcePath": "
/scratch
" }, "name": "Scratch
" } ], "mountPoints": [ { "containerPath": "/scratch
", "sourceVolume": "Scratch
" } ], }