

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à.

# Bootstrap di istanze di container Windows Amazon ECS per il trasferimento dei dati
<a name="bootstrap_windows_container_instance"></a>

Quando avvii un'istanza Amazon EC2, puoi trasferire i dati utente all'istanza EC2. I dati possono essere utilizzati per eseguire attività di configurazione automatizzate di routine e anche per l'esecuzione di script all'avvio dell'istanza. Per Amazon ECS, i casi di utilizzo più comuni per i dati utente riguardano la trasmissione di informazioni sulla configurazione al daemon Docker e all'agente del container Amazon ECS.

Puoi trasferire diversi tipi di dati utente ad Amazon EC2, ad esempio hook di avvio del cloud, script di shell e direttive `cloud-init`. Per ulteriori informazioni su questi e altri tipi di formato, consulta la [documentazione su cloud-init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

È possibile passare questi dati utente quando si utilizza la procedura guidata di avvio di Amazon EC2. Per ulteriori informazioni, consulta [Avvio di un'istanza di container Linux di Amazon ECS](launch_container_instance.md).

## Data utente di Windows di default
<a name="windows-default-userdata"></a>

Questo script di dati utente di esempio mostra i dati utente predefiniti che le istanze di container Windows ricevono se si utilizza la console. Lo script sottostante esegue le seguenti operazioni:
+ Imposta il nome del cluster in base al nome inserito.
+ Imposta i ruoli IAM per i processi.
+ Imposta `json-file` e `awslogs` come i driver di log disponibili.

Inoltre, le seguenti opzioni sono disponibili quando si utilizza la modalità di rete `awsvpc`.
+ `EnableTaskENI`: questo flag attiva la rete di processi ed è necessario quando si utilizza la modalità di rete `awsvpc`.
+ `AwsvpcBlockIMDS`: questo flag facoltativo blocca l'accesso IMDS per i contenitori di processi in esecuzione con la modalità di rete `awsvpc`.
+ `AwsvpcAdditionalLocalRoutes`: questo flag facoltativo consente di avere route aggiuntive.

  Sostituisci `ip-address` con l'indirizzo IP per le route aggiuntive, ad esempio 172.31.42.23/32.

Puoi usare questo script per le istanze di container, purché siano avviate da un'AMI Windows Server ottimizzata per Amazon ECS. 

Sostituisci la riga `-Cluster cluster-name` per specificare il nome del cluster.

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

 Per le attività di Windows configurate per utilizzare il driver di registrazione `awslogs`, è necessario impostare anche la variabile di ambiente `ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE` nell'istanza di container. Utilizzare la seguente sintassi. 

Sostituisci la riga `-Cluster cluster-name` per specificare il nome del cluster.

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

## Dati utente dell'installazione dell'agente Windows
<a name="agent-service-userdata"></a>

In questo esempio lo script dei dati utente installa l'agente del container di Amazon ECS su un'istanza avviata con un'AMI **Windows\$1Server-2016-English-Full-Containers**. È stato adattato dalle istruzioni di installazione dell'agente nella pagina README del [ GitHubrepository Amazon ECS Container Agent](https://github.com/aws/amazon-ecs-agent).

**Nota**  
Questo script è condiviso a scopo esemplificativo. È molto più facile iniziare a utilizzare i container di Windows con l'AMI Windows Server ottimizzata per Amazon ECS. Per ulteriori informazioni, consulta [Creazione di un cluster Amazon ECS per i carichi di lavoro Fargate](create-cluster-console-v2.md).

Per informazioni su come installare l'agente Amazon ECS su Windows Server 2022 Full, consulta il [numero 3753](https://github.com/aws/amazon-ecs-agent/issues/3753) su. GitHub

Puoi usare questo script per le tue istanze di container (purché siano avviate con una versione dell'AMI **Windows\$1Server-2016-English-Full-Containers**). Assicurati di sostituire la riga `windows` per specificare il nome del tuo cluster (se non utilizzi un cluster denominato `windows`).

```
<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>
```