

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden Sie Amazon EC2-Startvorlagen mit AWS Batch
<a name="launch-templates"></a>

AWS Batch unterstützt die Verwendung von Amazon EC2-Startvorlagen in Ihren EC2-Rechenumgebungen. Mit Startvorlagen können Sie die Standardkonfiguration Ihrer AWS Batch Rechenressourcen ändern, ohne benutzerdefinierte AMIs erstellen zu müssen.

In Startvorlagen können AMIs angegeben werden, die in der AMI-Auswahlreihenfolge Vorrang haben. Weitere Informationen finden Sie unter [AMI-Auswahlreihenfolge](ami-selection-order.md).

**Anmerkung**  
Wenn Sie eine benutzerdefinierte Startvorlage für eine AWS Batch Rechenumgebung angeben, hängt Ihre Startvorlage AWS Batch nicht direkt an die zugrunde liegende Auto Scaling-Gruppe an. AWS Batch Erstellt stattdessen eine separate Batch-managed Startvorlage für die Auto Scaling-Gruppe und integriert die relevanten Einstellungen aus Ihrer benutzerdefinierten Startvorlage in diese. Daher unterscheidet sich die Startvorlage, die Sie der Auto Scaling-Gruppe zugeordnet sehen, von der ursprünglich angegebenen. Dieses Verhalten wird erwartet.

**Anmerkung**  
Startvorlagen werden auf AWS Fargate-Ressourcen nicht unterstützt.

Sie müssen eine Startvorlage erstellen, bevor Sie sie mit einer Datenverarbeitungsumgebung verknüpfen können. Sie können eine Startvorlage in der Amazon EC2-Konsole erstellen. Oder Sie können das AWS CLI oder ein AWS SDK verwenden. Die folgende JSON-Datei stellt beispielsweise eine Startvorlage dar, die die Größe des Docker-Datenvolumens für das AWS Batch Standard-Computerressourcen-AMI ändert und auch festlegt, dass es verschlüsselt wird.

```
{
    "LaunchTemplateName": "increase-container-volume-encrypt",
    "LaunchTemplateData": {
        "BlockDeviceMappings": [
            {
                "DeviceName": "/dev/xvda",
                "Ebs": {
                    "Encrypted": true,
                    "VolumeSize": 100,
                    "VolumeType": "gp2"
                }
            }
        ]
    }
}
```

Sie können die vorherige Startvorlage erstellen, indem Sie die JSON-Datei in einer Datei speichern, die aufgerufen wird, `lt-data.json` und den folgenden AWS CLI Befehl ausführen.

```
aws ec2 --region {{<region>}} create-launch-template --cli-input-json file://lt-data.json
```

Weitere Informationen zu Startvorlagen finden Sie unter [ Launching an Instance from a Launch Template ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) im * Amazon EC2-Benutzerhandbuch*.

Wenn Sie eine Startvorlage verwenden, um Ihre Datenverarbeitungsumgebung zu erstellen, können Sie die folgenden vorhandenen Parameter der Datenverarbeitungsumgebung in Ihre Startvorlage verschieben:

**Anmerkung**  
Angenommen, jeder dieser Parameter (mit Ausnahme der Amazon EC2-Tags) ist sowohl in der Startvorlage als auch in der Konfiguration der Rechenumgebung angegeben. Dann haben die Parameter der Rechenumgebung Vorrang. Amazon EC2-Tags werden zwischen der Startvorlage und der Konfiguration der Rechenumgebung zusammengeführt. Wenn der Schlüssel des Tags kollidiert, hat der Wert in der Konfiguration der Computerumgebung Vorrang.
+ Amazon EC2-Schlüsselpaar
+ Amazon EC2-AMI-ID
+ Sicherheitsgruppen-IDs
+ Amazon EC2-Tags

Die folgenden Parameter der Startvorlage werden ** ignoriert ** von AWS Batch:
+ Instance-Typ (Legen Sie beim Erstellen Ihrer Datenverarbeitungsumgebung die gewünschten Instance-Typen fest.)
+ Instance-Rolle (Legen Sie beim Erstellen Ihrer Datenverarbeitungsumgebung die gewünschte Instance-Rolle fest.)
+ Netzwerkschnittstellen-Subnetze (Legen Sie beim Erstellen Ihrer Datenverarbeitungsumgebung die gewünschten Subnetze fest.)
+ Optionen für den Instance-Markt (AWS Batch muss die Spot-Instance-Konfiguration steuern)
+ Deaktivieren Sie die API-Terminierung (AWS Batch muss den Lebenszyklus der Instanz kontrollieren)

AWS Batch aktualisiert die Startvorlage nur bei Infrastrukturupdates mit einer neuen Version der Startvorlage. Weitere Informationen finden Sie unter [Aktualisieren Sie eine Rechenumgebung in AWS Batch](updating-compute-environments.md).

## Standardmäßige Startvorlagen und überschreibende Startvorlagen
<a name="default-lt-and-overrides"></a>

Sie können eine Standard-Startvorlage für die Rechenumgebung und eine Override-Startvorlage für bestimmte Instance-Typen und -Familien definieren. Dies kann für Sie nützlich sein, damit die Standardvorlage für die meisten Instanztypen in den Rechenumgebungen verwendet wird.

Die Substitutionsvariablen `$Default` und `$Latest` können verwendet werden, anstatt eine bestimmte Version zu benennen. Wenn Sie keine Override-Startvorlage angeben, wird automatisch die Standard-Startvorlage angewendet.

Wenn Sie entweder die `$Latest` Variable `$Default` oder verwenden, AWS Batch werden die aktuellen Informationen zum Zeitpunkt der Erstellung der Rechenumgebung angewendet. Wenn sich die Standardversion oder die neueste Version in Zukunft ändert, müssen Sie die Informationen über [ UpdateComputeEnvironment ](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateComputeEnvironment.html) oder über das AWS-Managementkonsole - aktualisieren AWS Batch.

Um zusätzliche Flexibilität zu bieten, können Sie festlegen, dass Override-Startvorlagen auf bestimmte Compute-Instance-Typen oder -Familien angewendet werden.

**Anmerkung**  
Sie können bis zu zehn (10) Override-Startvorlagen pro Rechenumgebung angeben.

Verwenden Sie den `targetInstanceTypes` Parameter, um den Instance-Typ oder die Instance-Familie auszuwählen, die diese Override-Startvorlage verwenden soll. Der Instanztyp oder die Instanzfamilie muss zuerst durch den [`instanceTypes`](https://docs.aws.amazon.com/batch/latest/APIReference/API_ComputeResource.html#Batch-Type-ComputeResource-instanceTypes) Parameter identifiziert werden.

Wenn Sie Überschreibungen für Startvorlagen definieren und beschließen, sie später zu entfernen, können Sie ein leeres Array übergeben, um den [`overrides`](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecification.html#Batch-Type-LaunchTemplateSpecification-overrides) Parameter im [`UpdateComputeEnvironment`](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecification.html) API-Vorgang aufzuheben. Sie können sich auch dafür entscheiden, den `overrides` Parameter beim Senden des `UpdateComputeEnvironment` API-Vorgangs nicht einzubeziehen. Weitere Informationen finden Sie unter [`LaunchTemplateSpecification.overrides`](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecification.html#Batch-Type-LaunchTemplateSpecification-overrides)

Weitere Informationen finden Sie [`LaunchTemplateSpecificationOverride.targetInstanceTypes`](https://docs.aws.amazon.com/batch/latest/APIReference/API_LaunchTemplateSpecificationOverride.html#Batch-Type-LaunchTemplateSpecificationOverride-targetInstanceTypes) im AWS Batch API-Referenzhandbuch.

## Amazon EC2-Benutzerdaten in Startvorlagen
<a name="lt-user-data"></a>

Sie können Amazon EC2-Benutzerdaten in Ihrer Startvorlage angeben, die [ beim Start Ihrer Instances von ](https://cloudinit.readthedocs.io/en/latest/index.html) Cloud-Init ausgeführt wird. Ihre Benutzerdaten können gängige Konfigurationsszenarien ausführen, einschließlich, aber nicht beschränkt auf die folgenden:
+ [Einschließen von Benutzern oder Gruppen](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#including-users-and-groups)
+ [Installieren von Paketen](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#install-arbitrary-packages)
+ [Erstellen von Partitionen und Dateisystemen](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#create-partitions-and-filesystems)

Amazon EC2-Benutzerdaten in Startvorlagen müssen im mehrteiligen [https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive) MIME-Archivformat vorliegen. Das liegt daran, dass Ihre Benutzerdaten mit anderen AWS Batch Benutzerdaten zusammengeführt werden, die für die Konfiguration Ihrer Rechenressourcen erforderlich sind. Sie können mehrere Benutzerdatenblöcke in einer einzelnen mehrteiligen MIME-Datei kombinieren. Beispielsweise möchten Sie vielleicht einen Cloud-Boothook, der den Docker-Daemon konfiguriert, mit einem Benutzerdaten-Shell-Skript kombinieren, das Konfigurationsinformationen für den Amazon ECS-Container-Agenten schreibt.

Wenn Sie ihn verwenden AWS CloudFormation, kann der [ Typ ](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-init.html)AWS::CloudFormation: :Init zusammen mit dem [https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html) cfn-init-Helfer-Skript verwendet werden, um allgemeine Konfigurationsszenarien durchzuführen.

Eine mehrteilige MIME-Datei umfasst folgende Komponenten:
+ Deklaration von Inhaltstyp und Teilgrenze: `Content-Type: multipart/mixed; boundary="==BOUNDARY=="`
+ Deklaration der MIME-Version: `MIME-Version: 1.0`
+ Ein oder mehrere Benutzerdatenblöcke, die die folgenden Komponenten enthalten:
  + Die Öffnungsgrenze, die den Beginn eines Benutzerdatenblocks signalisiert:`--==BOUNDARY==`. Sie müssen die Linie vor dieser Grenze leer lassen.
  + Die Inhaltstypdeklaration für den Block: `Content-Type: {{text/cloud-config}}; charset="us-ascii"`. Weitere Informationen zu Inhaltstypen finden Sie in der [ Cloud-Init Dokumentation](https://cloudinit.readthedocs.io/en/latest/topics/format.html). Sie müssen die Zeile nach der Inhaltstypdeklaration leer lassen.
  + Der Inhalt der Benutzerdaten, z. B. eine Liste von Shell-Befehlen oder `cloud-init` -Direktiven.
+ Die schließende Grenze, die das Ende der mehrteiligen MIME-Datei signalisiert:`--==BOUNDARY==--`. Sie müssen die Zeile vor der schließenden Grenze leer lassen.

**Anmerkung**  
Wenn Sie Benutzerdaten zu einer Startvorlage in der Amazon EC2-Konsole hinzufügen, können Sie sie als Klartext einfügen. Sie können es auch aus einer Datei hochladen. Wenn Sie das AWS CLI oder ein AWS SDK verwenden, müssen Sie zuerst die Benutzerdaten `base64` kodieren und diese Zeichenfolge beim Aufruf als Wert des `UserData` Parameters einreichen [ CreateLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html), wie in dieser JSON-Datei gezeigt.  

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

### Reservierte Konfigurationswerte für Amazon ECS-Agenten
<a name="lt-reserved-ecs-config"></a>

AWS Batch schreibt spezifische Konfigurationswerte für Amazon ECS-Agenten, `/etc/ecs/ecs.config` wenn Instances in EC2-based verwalteten Rechenumgebungen gestartet werden, die Amazon ECS verwenden. AWS Batch überschreibt diese Werte möglicherweise auch bei Aktualisierungen der Computerumgebung, sodass Ihre Änderungen möglicherweise nicht bestehen bleiben.

**Wichtig**  
Konflikte zwischen Ihren Benutzerdaten und den AWS Batch verwalteten Werten können die Planung von Aufträgen verhindern, zu unerwartetem Skalierungsverhalten führen und zu unerwarteten Kosten führen.

**Wichtig**  
Kopieren Sie keine Benutzerdaten aus einer von AWS Batch-verwalteten Startvorlage in Ihre eigene Startvorlage. AWS Batch-verwaltete Benutzerdaten enthalten Werte, die sich je nach Computerumgebung unterscheiden und sich ändern, wenn die Computerumgebung aktualisiert wird. Wenn Ihre Startvorlage kopierte Werte enthält, können diese mit den erwarteten Werten für die aktuelle Computerumgebung in Konflikt geraten.

Legen Sie die folgenden Werte nicht in den Benutzerdaten Ihrer Startvorlage fest. Diese Werte werden von verwaltet, AWS Batch und Konflikte können zu Problemen bei der Planung und Skalierung führen:
+ `ECS_CLUSTER`
+ `ECS_INSTANCE_ATTRIBUTES`

Weitere Informationen zu den oben aufgeführten Parametern finden Sie unter [ Amazon ECS-Container-Agent-Konfiguration ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html) im * Amazon Elastic Container Service Developer Guide*.

**Topics**
+ [Standardmäßige Startvorlagen und überschreibende Startvorlagen](#default-lt-and-overrides)
+ [Amazon EC2-Benutzerdaten in Startvorlagen](#lt-user-data)
+ [Referenz: Beispiele für Amazon EC2-Startvorlagen](launch-template-examples.md)