

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

# Pengaturan manual untuk mengembangkan komponen khusus dengan AWSTOE
<a name="toe-get-started"></a>

Aplikasi AWS Task Orchestrator and Executor (AWSTOE) adalah aplikasi mandiri yang membuat, memvalidasi, dan menjalankan perintah dalam kerangka definisi komponen. AWS layanan dapat digunakan AWSTOE untuk mengatur alur kerja, menginstal perangkat lunak, memodifikasi konfigurasi sistem, dan menguji build gambar.

Ikuti langkah-langkah ini untuk menginstal AWSTOE aplikasi secara manual dan menggunakannya sebagai aplikasi yang berdiri sendiri untuk mengembangkan komponen khusus. Image Builder menangani langkah-langkah ini untuk Anda, jika Anda menggunakan konsol Image Builder atau AWS CLI perintah untuk membuat komponen kustom. Untuk informasi selengkapnya, lihat [Buat komponen kustom dengan Image Builder](create-component.md).

**Topics**
+ [Verifikasi tanda tangan unduhan AWSTOE instalasi](awstoe-verify-sig.md)
+ [Langkah 1: Instal AWSTOE](#toe-start-install)
+ [Langkah 2: Tetapkan AWS kredensyal](#toe-start-credentials)
+ [Langkah 3: Kembangkan dokumen komponen secara lokal](#toe-start-develop)
+ [Langkah 4: Validasi komponen AWSTOE](#toe-start-validate)
+ [Langkah 5: Jalankan AWSTOE komponen](#toe-start-run)

## Langkah 1: Instal AWSTOE
<a name="toe-start-install"></a>

Untuk mengembangkan komponen secara lokal, unduh dan instal AWSTOE aplikasi.

1. 

**Unduh AWSTOE aplikasinya**

   Untuk menginstal AWSTOE, pilih tautan unduhan yang sesuai untuk arsitektur dan platform Anda. Untuk daftar lengkap tautan unduhan aplikasi, lihat [AWSTOE download](toe-component-manager.md#toe-downloads)
**penting**  
AWS menghapus dukungan untuk TLS versi 1.0 dan 1.1 secara bertahap. Untuk mengakses bucket S3 untuk AWSTOE unduhan, perangkat lunak klien Anda harus menggunakan TLS versi 1.2 atau yang lebih baru. Untuk informasi lebih lanjut, lihat [posting Blog AWS Keamanan](https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/) ini.

1. 

**Verifikasi tanda tangan**

   Langkah-langkah untuk memverifikasi unduhan Anda bergantung pada platform server tempat Anda menjalankan AWSTOE aplikasi setelah Anda menginstalnya. Untuk memverifikasi unduhan Anda di server Linux, lihat[Verifikasi tanda tangan di Linux atau macOS](awstoe-verify-sig.md#awstoe-verify-sig-linux). Untuk memverifikasi unduhan Anda di server Windows, lihat[Verifikasi tanda tangan di Windows](awstoe-verify-sig.md#awstoe-verify-sig-win).

**catatan**  
AWSTOE dipanggil langsung dari lokasi unduhannya. Tidak perlu langkah instalasi terpisah. Ini juga berarti bahwa AWSTOE dapat membuat perubahan pada lingkungan lokal.  
Untuk memastikan bahwa Anda mengisolasi perubahan selama pengembangan komponen, sebaiknya gunakan EC2 instance untuk mengembangkan dan menguji AWSTOE komponen.

## Langkah 2: Tetapkan AWS kredensyal
<a name="toe-start-credentials"></a>

 AWSTOE memerlukan AWS kredensi untuk terhubung ke yang lain Layanan AWS, seperti Amazon S3 dan CloudWatch Amazon, saat menjalankan tugas, seperti: 
+ Mengunduh AWSTOE dokumen dari jalur Amazon S3 yang disediakan pengguna.
+ Modul lari `S3Download` atau `S3Upload` tindakan.
+ Streaming log ke CloudWatch, saat diaktifkan.

Jika Anda menjalankan AWSTOE sebuah EC2 instance, maka menjalankan AWSTOE menggunakan izin yang sama dengan peran IAM yang dilampirkan ke instance. EC2 

Untuk informasi selengkapnya tentang peran IAM EC2, lihat [peran IAM untuk Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html). EC2

Contoh berikut menunjukkan cara mengatur AWS kredensyal menggunakan variabel `AWS_ACCESS_KEY_ID` dan `AWS_SECRET_ACCESS_KEY` lingkungan. 

Untuk mengatur variabel ini di Linux, macOS, atau Unix, gunakan. `export`

```
export AWS_ACCESS_KEY_ID=your_access_key_id
```

```
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
```

Untuk mengatur variabel-variabel ini pada Windows menggunakan PowerShell, gunakan`$env`.

```
$env:AWS_ACCESS_KEY_ID=your_access_key_id
```

```
$env:AWS_SECRET_ACCESS_KEY=your_secret_access_key
```

Untuk mengatur variabel-variabel ini pada Windows menggunakan command prompt, gunakan`set`.

```
set AWS_ACCESS_KEY_ID=your_access_key_id
```

```
set AWS_SECRET_ACCESS_KEY=your_secret_access_key
```

## Langkah 3: Kembangkan dokumen komponen secara lokal
<a name="toe-start-develop"></a>

Komponen ditulis dengan dokumen YAMAL plaintext. Untuk informasi selengkapnya tentang sintaks dokumen, lihat[Gunakan kerangka dokumen AWSTOE komponen untuk komponen kustom](toe-use-documents.md).

Berikut ini adalah contoh dokumen komponen *Hello World* untuk membantu Anda memulai.

------
#### [ Linux ]

Beberapa contoh komponen Linux dalam panduan ini mengacu pada file dokumen komponen bernama`hello-world-linux.yml`. Anda dapat menggunakan dokumen berikut untuk memulai dengan contoh-contoh tersebut.

```
name: Hello World
description: This is hello world testing document for Linux.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the build phase.'
  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the validate phase.'
  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the test phase.'
```

------
#### [ Windows ]

Beberapa contoh komponen Windows dalam panduan ini merujuk ke file dokumen komponen bernama`hello-world-windows.yml`. Anda dapat menggunakan dokumen berikut untuk memulai dengan contoh-contoh tersebut.

```
name: Hello World
description: This is Hello World testing document for Windows.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host 'Hello World from the build phase.'
  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host 'Hello World from the validate phase.'
  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecutePowerShell
        inputs:
          commands:
            - Write-Host 'Hello World from the test phase.'
```

------
#### [ macOS ]

Beberapa contoh komponen macOS dalam panduan ini merujuk ke file dokumen komponen bernama. `hello-world-macos.yml` Anda dapat menggunakan dokumen berikut untuk memulai dengan contoh-contoh tersebut.

```
name: Hello World
description: This is hello world testing document for macOS.
schemaVersion: 1.0
phases:
  - name: build
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the build phase.'
  - name: validate
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the validate phase.'
  - name: test
    steps:
      - name: HelloWorldStep
        action: ExecuteBash
        inputs:
          commands:
            - echo 'Hello World from the test phase.'
```

------

## Langkah 4: Validasi komponen AWSTOE
<a name="toe-start-validate"></a>

Anda dapat memvalidasi sintaks AWSTOE komponen secara lokal dengan aplikasi. AWSTOE Contoh berikut menunjukkan `validate` perintah AWSTOE aplikasi untuk memvalidasi sintaks komponen tanpa menjalankannya.

**catatan**  
 AWSTOE Aplikasi hanya dapat memvalidasi sintaks komponen untuk sistem operasi saat ini. Misalnya, saat berjalan `awstoe.exe` di Windows, Anda tidak dapat memvalidasi sintaks untuk dokumen Linux yang menggunakan modul `ExecuteBash` tindakan.

Linux atau macOS

```
awstoe validate --documents /home/user/hello-world.yml
```

Windows

```
awstoe.exe validate --documents C:\Users\user\Documents\hello-world.yml
```

## Langkah 5: Jalankan AWSTOE komponen
<a name="toe-start-run"></a>

 AWSTOE Aplikasi dapat menjalankan satu atau lebih fase dokumen tertentu menggunakan argumen baris `--phases` perintah. Nilai yang didukung untuk `--phases` are`build`,`validate`, dan`test`. Beberapa nilai fase dapat dimasukkan sebagai nilai yang dipisahkan koma.

Saat Anda memberikan daftar fase, AWSTOE aplikasi secara berurutan menjalankan fase yang ditentukan dari setiap dokumen. Misalnya, AWSTOE menjalankan `build` dan `validate` fase`document1.yaml`, diikuti oleh `build` dan `validate` fase`document2.yaml`.

Untuk memastikan bahwa log Anda disimpan dengan aman dan disimpan untuk pemecahan masalah, sebaiknya konfigurasi penyimpanan log di Amazon S3. Di Image Builder, lokasi Amazon S3 untuk menerbitkan log ditentukan dalam konfigurasi infrastruktur. Untuk informasi selengkapnya tentang konfigurasi infrastruktur, lihat [Kelola konfigurasi infrastruktur Image Builder](manage-infra-config.md)

Jika daftar fase tidak disediakan, AWSTOE aplikasi menjalankan semua fase dalam urutan yang tercantum dalam dokumen YAMAL.

Untuk menjalankan fase tertentu dalam satu atau beberapa dokumen, gunakan perintah berikut.

Fase tunggal

```
awstoe run --documents hello-world.yml --phases build
```

Beberapa fase

```
awstoe run --documents {{hello-world.yml}} --phases build,test
```

**Jalankan dokumen**  
Jalankan semua fase dalam satu dokumen

```
awstoe run --documents {{documentName.yaml}}
```

Jalankan semua fase dalam beberapa dokumen

```
awstoe run --documents {{documentName1.yaml}},{{documentName2.yaml}}
```

Masukkan informasi Amazon S3 untuk mengunggah AWSTOE log dari jalur lokal yang ditentukan pengguna (disarankan)

```
awstoe run --documents {{documentName.yaml}} --log-s3-bucket-name {{amzn-s3-demo-destination-bucket}} --log-s3-key-prefix {{S3KeyPrefix}} --log-s3-bucket-owner {{S3BucketOwner}} --log-directory {{local_path}}
```

Jalankan semua fase dalam satu dokumen, dan tampilkan semua log di konsol

```
awstoe run --documents {{documentName.yaml}} --trace
```

Perintah contoh

```
awstoe run --documents {{s3://bucket/key/doc.yaml}} --phases {{build,validate}}
```

Jalankan dokumen dengan ID unik

```
awstoe run --documents {{documentName.yaml}} --execution-id {{user-provided-id}} --phases {{build,test}}
```

Dapatkan bantuan dengan AWSTOE

```
awstoe --help
```