

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Bootstrapping instans penampung Amazon ECS Windows untuk meneruskan data
<a name="bootstrap_windows_container_instance"></a>

Saat meluncurkan instans Amazon EC2, Anda dapat meneruskan data pengguna ke instans EC2. Data dapat digunakan untuk melakukan tugas konfigurasi otomatis umum dan bahkan menjalankan skrip ketika boot instans. Untuk Amazon ECS, kasus penggunaan yang paling umum untuk data pengguna adalah meneruskan informasi konfigurasi ke daemon Docker dan agen penampung Amazon ECS.

Anda dapat meneruskan beberapa jenis data pengguna ke Amazon EC2, termasuk boothook cloud, skrip shell, dan arahan. `cloud-init` Untuk informasi selengkapnya tentang ini dan jenis format lainnya, lihat [Cloud-Initdokumentasi](https://cloudinit.readthedocs.io/en/latest/explanation/format.html). 

Anda dapat meneruskan data pengguna ini saat menggunakan wizard peluncuran Amazon EC2. Untuk informasi selengkapnya, lihat [Meluncurkan instans penampung Amazon ECS Linux](launch_container_instance.md).

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

Contoh skrip data pengguna ini menunjukkan data pengguna default yang diterima instance container Windows Anda jika Anda menggunakan konsol. Script di bawah ini melakukan hal berikut:
+ Menetapkan nama cluster ke nama yang Anda masukkan.
+ Menetapkan peran IAM untuk tugas.
+ Atur `json-file` dan `awslogs` sebagai driver pencatatan yang tersedia.

Selain itu, opsi berikut tersedia saat Anda menggunakan mode `awsvpc` jaringan.
+ `EnableTaskENI`: Bendera ini mengaktifkan jaringan tugas dan diperlukan saat Anda menggunakan mode `awsvpc` jaringan.
+ `AwsvpcBlockIMDS`: Bendera opsional ini memblokir akses IMDS untuk wadah tugas yang berjalan dalam mode `awsvpc` jaringan.
+ `AwsvpcAdditionalLocalRoutes`: Bendera opsional ini memungkinkan Anda memiliki rute tambahan.

  Ganti `ip-address` dengan Alamat IP untuk rute tambahan, misalnya 172.31.42. 23/32.

Anda dapat menggunakan skrip ini untuk instance container Anda sendiri (asalkan diluncurkan dari Amazon ECS-optimized Windows Server AMI). 

Ganti `-Cluster {{cluster-name}}` baris untuk menentukan nama cluster Anda sendiri.

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

 Untuk tugas Windows yang dikonfigurasi untuk menggunakan driver pencatatan `awslogs`, Anda juga harus mengatur variabel lingkungan `ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE` pada instans kontainer Anda. Gunakan sintaksis berikut: 

Ganti `-Cluster {{cluster-name}}` baris untuk menentukan nama cluster Anda sendiri.

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

## Data pengguna instalasi agen Windows
<a name="agent-service-userdata"></a>

Contoh skrip data pengguna ini menginstal agen penampung Amazon ECS pada instance yang diluncurkan dengan AMI **Windows\_Server-2016-**. English-Full-Containers Ini telah diadaptasi dari instruksi instalasi agen di halaman README [ GitHubrepositori Agen Kontainer Amazon ECS](https://github.com/aws/amazon-ecs-agent).

**catatan**  
Skrip ini dibagikan untuk keperluan contoh. Jauh lebih mudah untuk memulai dengan wadah Windows dengan menggunakan Amazon ECS-optimized Windows Server AMI. Untuk informasi selengkapnya, lihat [Membuat cluster Amazon ECS untuk beban kerja Fargate](create-cluster-console-v2.md).

Untuk informasi tentang cara menginstal agen Amazon ECS di Windows Server 2022 Lengkap, lihat [Masalah 3753](https://github.com/aws/amazon-ecs-agent/issues/3753) di. GitHub

Anda dapat menggunakan skrip ini untuk instance kontainer Anda sendiri (asalkan diluncurkan dengan versi **Windows\_Server-2016- English-Full-Containers AMI**). Pastikan untuk mengganti baris `{{windows}}` untuk menentukan nama klaster Anda sendiri (jika Anda tidak menggunakan sebuah klaster bernama `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>
```