

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.

# Bootstrapping von Windows-Container-Instances von Amazon ECS zur Weitergabe von Daten
<a name="bootstrap_windows_container_instance"></a>

Beim Starten einer Amazon-EC2-Instance haben Sie die Möglichkeit, Benutzerdaten an die EC2-Instance zu übergeben. Die Daten können für allgemeine automatisierte Konfigurationsaufgaben und sogar zur Ausführung von Skripts beim Start der Instance verwendet werden. In Amazon ECS werden Benutzerdaten hauptsächlich zur Übergabe von Konfigurationsinformationen an den Docker-Daemon und den Amazon-ECS-Container-Agenten verwendet.

Sie können mehrere Arten von Benutzerdaten an Amazon EC2 übergeben, darunter auch Cloud-Boothooks, Shell-Skripts und `cloud-init`-Anweisungen. Weitere Informationen zu diesen und anderen Formattypen finden Sie in der [Cloud-Init-Dokumentation](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

Sie können diese Benutzerdaten übergeben, wenn Sie den Amazon EC2-Start-Assistenten verwenden. Weitere Informationen finden Sie unter [Starten einer Amazon ECS Linux-Container-Instance](launch_container_instance.md).

## Standardmäßige Windows-Benutzerdaten
<a name="windows-default-userdata"></a>

Dieses Beispiel-Benutzerdatenskript zeigt die Standardbenutzerdaten, die Ihre Windows-Container-Instances erhalten, wenn Sie die Konsole verwenden. Das Skript unten führt Folgendes durch:
+ Setzt den Clusternamen auf den Namen, den Sie eingegeben haben.
+ Legt die IAM-Rollen für Aufgaben fest.
+ Legt `json-file` und `awslogs` als verfügbare Protokolltreiber fest.

Darüber hinaus sind die folgenden Optionen verfügbar, wenn Sie den `awsvpc`-Netzwerkmodus verwenden.
+ `EnableTaskENI`: Dieses Flag aktiviert das Aufgabennetzwerk und ist erforderlich, wenn Sie den `awsvpc`-Netzwerkmodus verwenden.
+ `AwsvpcBlockIMDS`: Dieses optionale Flag blockiert den IMDS-Zugriff für die Task-Container, die im `awsvpc`-Netzwerkmodus ausgeführt werden.
+ `AwsvpcAdditionalLocalRoutes`: Mit diesem optionalen Flag können Sie zusätzliche Routen haben.

  Ersetzen Sie `ip-address` mit der IP-Adresse für die zusätzlichen Routen, zum Beispiel 172.31.42.23/32.

Sie können dieses Skript für Ihre eigenen Container-Instances verwenden (vorausgesetzt, sie werden von dem für Amazon ECS optimierten Windows-Server-AMI gestartet). 

Ersetzen Sie die Zeile `-Cluster cluster-name`, um Ihren eigenen Clusternamen anzugeben.

```
<powershell>
Initialize-ECSAgent -Cluster cluster-name -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]' -EnableTaskENI -AwsvpcBlockIMDS -AwsvpcAdditionalLocalRoutes
'["ip-address"]'
</powershell>
```

 Für Windows-Aufgaben, die für die Verwendung des `awslogs`-Protokolltreibers konfiguriert sind, müssen Sie auch die `ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE`-Umgebungsvariable für die Container-Instance festlegen. Verwenden Sie die folgende Syntax: 

Ersetzen Sie die Zeile `-Cluster cluster-name`, um Ihren eigenen Clusternamen anzugeben.

```
<powershell>
[Environment]::SetEnvironmentVariable("ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE", $TRUE, "Machine")
Initialize-ECSAgent -Cluster cluster-name -EnableTaskIAMRole -LoggingDrivers '["json-file","awslogs"]'
</powershell>
```

## Benutzerdaten für die Installation des Windows-Agenten
<a name="agent-service-userdata"></a>

Mit diesem Beispiel-Benutzerdatenskript wird der Amazon-ECS-Container-Agent auf einer Instance installiert, die mit einem **Windows\$1Server-2016-English-Full-Containers**-AMI gestartet wurde. Es wurde anhand der Anweisungen zur Agenteninstallation auf der [ GitHubREADME-Seite des Amazon ECS Container Agent-Repositorys](https://github.com/aws/amazon-ecs-agent) angepasst.

**Anmerkung**  
Dieses Skript dient als Beispiel. Der Einstieg in Windows-Container ist mit dem Amazon-ECS-optimierten Windows Server-AMI wesentlich einfacher. Weitere Informationen finden Sie unter [Erstellen eines Amazon-ECS-Clusters für Fargate-Workloads](create-cluster-console-v2.md).

Informationen zur Installation des Amazon ECS-Agenten auf Windows Server 2022 Full finden Sie in [Ausgabe 3753](https://github.com/aws/amazon-ecs-agent/issues/3753) unter GitHub.

Sie können dieses Skript für Ihre eigenen Container-Instances verwenden (vorausgesetzt, sie werden mit einer Version des **Windows\$1Server-2016-English-Full-Container**-AMI gestartet). Achten Sie darauf, die Zeile `windows` zu ersetzen, um Ihren eigenen Cluster-Namen anzugeben (wenn Sie keinen Cluster namens `windows` verwenden).

```
<powershell>
# Set up directories the agent uses
New-Item -Type directory -Path ${env:ProgramFiles}\Amazon\ECS -Force
New-Item -Type directory -Path ${env:ProgramData}\Amazon\ECS -Force
New-Item -Type directory -Path ${env:ProgramData}\Amazon\ECS\data -Force
# Set up configuration
$ecsExeDir = "${env:ProgramFiles}\Amazon\ECS"
[Environment]::SetEnvironmentVariable("ECS_CLUSTER", "windows", "Machine")
[Environment]::SetEnvironmentVariable("ECS_LOGFILE", "${env:ProgramData}\Amazon\ECS\log\ecs-agent.log", "Machine")
[Environment]::SetEnvironmentVariable("ECS_DATADIR", "${env:ProgramData}\Amazon\ECS\data", "Machine")
# Download the agent
$agentVersion = "latest"
$agentZipUri = "https://s3.amazonaws.com/amazon-ecs-agent/ecs-agent-windows-$agentVersion.zip"
$zipFile = "${env:TEMP}\ecs-agent.zip"
Invoke-RestMethod -OutFile $zipFile -Uri $agentZipUri
# Put the executables in the executable directory.
Expand-Archive -Path $zipFile -DestinationPath $ecsExeDir -Force
Set-Location ${ecsExeDir}
# Set $EnableTaskIAMRoles to $true to enable task IAM roles
# Note that enabling IAM roles will make port 80 unavailable for tasks.
[bool]$EnableTaskIAMRoles = $false
if (${EnableTaskIAMRoles}) {
  $HostSetupScript = Invoke-WebRequest https://raw.githubusercontent.com/aws/amazon-ecs-agent/master/misc/windows-deploy/hostsetup.ps1
  Invoke-Expression $($HostSetupScript.Content)
}
# Install the agent service
New-Service -Name "AmazonECS" `
        -BinaryPathName "$ecsExeDir\amazon-ecs-agent.exe -windows-service" `
        -DisplayName "Amazon ECS" `
        -Description "Amazon ECS service runs the Amazon ECS agent" `
        -DependsOn Docker `
        -StartupType Manual
sc.exe failure AmazonECS reset=300 actions=restart/5000/restart/30000/restart/60000
sc.exe failureflag AmazonECS 1
Start-Service AmazonECS
</powershell>
```