Usa il modello di EC2 lancio di Amazon con AWS Batch - 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à.

Usa il modello di EC2 lancio di Amazon con AWS Batch

AWS Batch supporta l'utilizzo di modelli di EC2 lancio di Amazon con i tuoi ambienti di EC2 elaborazione. Con i modelli di avvio, puoi modificare la configurazione predefinita delle tue risorse di AWS Batch calcolo senza doverne creare di personalizzate. AMIs

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 EC2 console Amazon. Oppure, puoi usare AWS CLI o un AWS SDK. Ad esempio, il JSON file seguente rappresenta un modello di avvio che ridimensiona il volume di dati Docker per la risorsa di AWS Batch elaborazione predefinita AMI 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 salvandolo 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 EC2 tag Amazon) 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 EC2 tag Amazon 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 EC2 chiavi Amazon

  • EC2AMIID Amazon

  • Gruppo di sicurezza IDs

  • EC2Etichette Amazon

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)

  • Disabilita API la terminazione (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 lancio durante gli aggiornamenti dell'infrastruttura. Per ulteriori informazioni, consulta Aggiornamento degli ambienti di elaborazione.

Dati EC2 degli utenti Amazon nei modelli di lancio

Puoi fornire i dati EC2 utente di Amazon nel tuo modello di lancio eseguito da cloud-init all'avvio delle istanze. I tuoi dati utente possono eseguire scenari di configurazione comuni, tra cui, a titolo esemplificativo ma non esaustivo, i seguenti:

I dati EC2 degli utenti Amazon nei modelli di lancio devono essere in formato di archivio MIME multiparte. Questo perché i dati utente vengono uniti ad altri dati AWS Batch utente necessari per configurare le risorse di elaborazione. Puoi combinare più blocchi di dati utente in un unico file composto da MIME più parti. Ad esempio, potresti voler combinare un cloud boothook che configura il demone Docker con uno script di user data shell che scrive informazioni di configurazione per l'agente container Amazon. ECS

Se utilizzi AWS CloudFormation, il tipo AWS:CloudFormation: :Init può essere utilizzato con lo script di supporto cfn-init per eseguire scenari di configurazione comuni.

Un file composto da MIME più parti è composto dai seguenti componenti:

  • Il tipo di contenuto e la dichiarazione di delimitazione della parte: Content-Type: multipart/mixed; boundary="==BOUNDARY=="

  • La dichiarazione di MIME versione: 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: text/cloud-config; charset="us-ascii". Per ulteriori informazioni sui tipi di contenuto, consulta la documentazione di cloud-init. È 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 composto da MIME più parti:. --==BOUNDARY==-- È necessario mantenere vuota la linea prima del limite di chiusura.

Nota

Se aggiungi dati utente a un modello di lancio nella EC2 console Amazon, puoi incollarli come testo semplice. In alternativa, puoi caricarli da un file. Se usi AWS CLI o an 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 JSON file.

{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..." } }