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 i modelli di lancio di Amazon EC2 con AWS Batch
AWS Batch supporta l'utilizzo dei 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.
I modelli di avvio possono specificare le AMI che hanno la precedenza nell'ordine di selezione delle AMI. Per ulteriori informazioni, consulta Ordine di selezione AMI.
Nota
Quando si specifica un modello di avvio personalizzato per un ambiente di AWS Batch calcolo, AWS Batch non si collega direttamente il modello di avvio al gruppo Auto Scaling sottostante. AWS Batch Crea invece un modello di Batch-managed avvio separato per il gruppo Auto Scaling e vi incorpora le impostazioni pertinenti del modello di avvio personalizzato. Di conseguenza, il modello di avvio che vedi associato al gruppo Auto Scaling è diverso da quello specificato originariamente. Questo è il comportamento previsto.
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 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 avvio e la configurazione dell'ambiente di calcolo. Se c'è una 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 dei gruppi 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 di Spot Instance)
-
Disattiva la terminazione dell'API (AWS Batch deve controllare il ciclo di vita dell'istanza)
AWS Batch aggiorna il modello di lancio con una nuova versione del modello di avvio solo durante gli aggiornamenti dell'infrastruttura. Per ulteriori informazioni, consulta Aggiornare un ambiente di calcolo in AWS Batch.
Modelli di avvio predefiniti e sostituiti
È possibile definire un modello di avvio predefinito per l'ambiente di calcolo e un modello di avvio sostitutivo per tipi e famiglie di istanze specifici. Questo può esserti utile in modo che il modello predefinito venga utilizzato per la maggior parte dei tipi di istanze negli ambienti di calcolo.
Le variabili $Default di sostituzione $Latest possono essere utilizzate invece di denominare una versione specifica. Se non si fornisce un modello di avvio sostitutivo, il modello di avvio predefinito viene applicato automaticamente.
Se si utilizza la $Latest variabile $Default or, AWS Batch applicherà le informazioni correnti al momento della creazione dell'ambiente di calcolo. Se la versione predefinita o più recente cambia in futuro, è necessario aggiornare le informazioni tramite UpdateComputeEnvironment o tramite il Console di gestione AWS - AWS Batch.
Per fornire ulteriore flessibilità, è possibile definire l'override che i modelli di avvio vengano applicati a tipi o famiglie di istanze di calcolo specifici.
Nota
È possibile specificare fino a dieci (10) modelli di avvio sostitutivi per ambiente di calcolo.
Utilizzate il targetInstanceTypes parametro per selezionare il tipo o la famiglia di istanze che deve utilizzare questo modello di avvio sostitutivo. Il tipo o la famiglia di istanza devono essere prima identificati dal instanceTypes parametro.
Se definisci le sostituzioni dei modelli di avvio e decidi di rimuoverle in un secondo momento, puoi passare un array vuoto per annullare l'impostazione del overrides parametro nell'UpdateComputeEnvironmentoperazione API. Puoi anche scegliere di non includere il overrides parametro quando invii l'operazione API. UpdateComputeEnvironment Per ulteriori informazioni, consulta, LaunchTemplateSpecification.overrides
Per ulteriori informazioni, consulta LaunchTemplateSpecificationOverride.targetInstanceTypes la guida di riferimento sulle AWS Batch API.
Dati utente di Amazon EC2 nei modelli di avvio
Puoi fornire i dati utente di Amazon EC2 nel modello di avvio eseguito da cloud-init
I dati utente di Amazon EC2 nei modelli di avvio devono essere nel formato di archivio multiparte MIME.
Se stai usando AWS CloudFormation, il tipo AWS::CloudFormation: :Init può essere usato con lo script helper https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html 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 riga prima di questo limite. -
La dichiarazione del tipo di contenuto per il blocco:
Content-Type:. Per ulteriori informazioni sui tipi di contenuto, consulta la Cloud-Init documentazionetext/cloud-config; charset="us-ascii". È necessario mantenere vuota la riga dopo la dichiarazione del tipo di contenuto. -
Il contenuto dei dati utente, ad esempio un elenco di comandi o
cloud-initdirettive di shell.
-
-
Il limite di chiusura che indica la fine del file in più parti MIME:.
--==BOUNDARY==--È necessario mantenere vuota la riga prima del limite di chiusura.
Nota
Se aggiungi dati utente a un modello di avvio nella console Amazon EC2, puoi incollarli come testo normale. Oppure puoi caricarlo da un file. Se utilizzi AWS CLI o un AWS SDK, devi prima base64 codificare i dati dell'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..." } }
Valori di configurazione riservati degli agenti Amazon ECS
AWS Batch Scrive valori di configurazione specifici degli agenti Amazon ECS /etc/ecs/ecs.config quando le istanze vengono avviate in ambienti di elaborazione EC2-based gestiti che utilizzano Amazon ECS. AWS Batch può anche sovrascrivere questi valori durante gli aggiornamenti dell'ambiente di calcolo, quindi le modifiche potrebbero non persistere.
Importante
I conflitti tra i dati utente e i valori AWS Batch gestiti possono impedire la pianificazione dei processi, causare comportamenti di scalabilità imprevisti e comportare costi imprevisti.
Importante
Non copiare i dati utente da un modello AWS Batch di avvio gestito nel tuo modello di avvio. AWS Batch-managed user data contengono valori che differiscono tra gli ambienti di elaborazione e cambiano quando l'ambiente di elaborazione viene aggiornato. Se il modello di avvio contiene valori copiati, potrebbero entrare in conflitto con i valori previsti per l'ambiente di calcolo corrente.
Non impostate i seguenti valori nei dati utente del modello di avvio. Questi valori sono gestiti da AWS Batch e i conflitti possono causare problemi di pianificazione e scalabilità:
ECS_CLUSTERECS_INSTANCE_ATTRIBUTES
Per ulteriori informazioni sui parametri sopra elencati, consulta la configurazione dell'agente container Amazon ECS nella Amazon Elastic Container Service Developer Guide.