始めてみる AWSTOE - EC2 Image Builder

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

始めてみる AWSTOE

AWS Task Orchestrator and Executor (AWSTOE) アプリケーションは、コンポーネント定義フレームワーク内でコマンドを作成、検証、実行するスタンドアロンアプリケーションです。 AWS AWSTOE サービスを使用して、ワークフローの調整、ソフトウェアのインストール、システム構成の変更、イメージビルドのテストを行うことができます。

AWSTOE アプリケーションをインストールして初めて使用する場合は、次の手順に従います。

ステップ 1: インストール AWSTOE

コンポーネントをローカルで開発するには、 AWSTOE アプリケーションをダウンロードしてインストールします。

  1. AWSTOE アプリケーションをダウンロードします。

    インストールするには AWSTOE、アーキテクチャとプラットフォームに適したダウンロードリンクを選択してください。アプリケーションのダウンロードリンクの詳細なリストについては、「AWSTOE ダウンロード」を参照してください。

    重要

    AWS TLS バージョン 1.0 と 1.1 のサポートを段階的に廃止します。S3 AWSTOE バケットにアクセスしてダウンロードするには、クライアントソフトウェアが TLS バージョン 1.2 以降を使用する必要があります。詳細については、AWS セキュリティのブログ記事を参照してください。

  2. 署名を検証する

    ダウンロードを確認する手順は、 AWSTOE インストール後にアプリケーションを実行するサーバープラットフォームによって異なります。Linux サーバでダウンロードを確認する方法については、「Linux で署名を検証する」を参照してください。Windows サーバでダウンロードを確認する方法については、「Windows で署名を検証する」を参照してください。

重要

AWSTOE はダウンロード場所から直接呼び出されます。別途インストールを行う必要はありません。つまり、 AWSTOE ローカル環境を変更できるということでもあります。

コンポーネント開発中の変更を確実に分離するために、EC2 AWSTOE インスタンスを使用してコンポーネントの開発とテストを行うことをお勧めします。

ステップ 2: 認証情報を設定する AWS

AWSTOE 次のようなタスクを実行する場合 AWS のサービス、Amazon S3 や Amazon AWS CloudWatch などに接続するための認証情報が必要です。

  • ユーザー指定の Amazon S3 AWSTOE パスからドキュメントをダウンロードします。

  • S3Download または S3Upload アクションモジュールを実行する。

  • ログをにストリーミングする ( CloudWatch有効になっている場合)。

EC2 AWSTOE インスタンスで実行している場合、実行には EC2 インスタンスにアタッチされている IAM AWSTOE ロールと同じ権限が使用されます。

EC2 の IAM ロールの詳細については、「Amazon EC2 向けの IAM ロール」を参照してください。

以下の例は、 AWS AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYおよび環境変数を使用して認証情報を設定する方法を示しています。

これらの変数を Linux、macOS、または Unix で設定するには、export を使用します。

$ export AWS_ACCESS_KEY_ID=your_access_key_id
$ export AWS_SECRET_ACCESS_KEY=your_secret_access_key

Windows でこれらの変数を設定するには PowerShell、を使用してください$env

C:\> $env:AWS_ACCESS_KEY_ID=your_access_key_id
C:\> $env:AWS_SECRET_ACCESS_KEY=your_secret_access_key

Windowsでコマンドプロンプトを使ってこれらの変数を設定するには、setを使う。

C:\> set AWS_ACCESS_KEY_ID=your_access_key_id
C:\> set AWS_SECRET_ACCESS_KEY=your_secret_access_key

ステップ 3: コンポーネントドキュメントをローカルで開発する

AWSTOE コンポーネントはプレーンテキストの YAML ドキュメントで作成されます。ドキュメントの構文についてはでコンポーネントドキュメントを使用する AWSTOEを参照。

以下は、ドキュメントをローカルで開発する際に使用できる Hello World コンポーネントドキュメントの例です。

hello-world-windows.yml.

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

hello-world-linux.yml.

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

ステップ 4: コンポーネントを検証する AWSTOE

AWSTOE コンポーネントの構文は、 AWSTOE アプリケーションを使用してローカルで検証できます。以下の例は、 AWSTOE validateコンポーネントを実行せずに構文を検証するアプリケーションコマンドを示しています。

注記

AWSTOE アプリケーションは、現在のオペレーティングシステムのコンポーネント構文のみを検証できます。たとえば、awstoe.exe を Windows で実行している場合、ExecuteBash アクションモジュールを使用する Linux ドキュメントの構文は検証できません。

Windows

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

Linux

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

ステップ 5: AWSTOE コンポーネントを実行する

AWSTOE アプリケーションは、--phasesコマンドライン引数を使用して、指定されたドキュメントの 1 つ以上のフェーズを実行できます。--phasesでサポートされている値はbuildvalidatetestです。複数のフェーズ値をカンマで区切って入力できます。

フェーズのリストを指定すると、 AWSTOE アプリケーションは各ドキュメントの指定されたフェーズを順番に実行します。たとえば、の AWSTOE AND build validate フェーズを実行しdocument1.yaml、その後にの AND build validate フェーズを実行します。document2.yaml

ログを安全に保存し、トラブルシューティングのために保持するには、Amazon S3 にログストレージを設定することをお勧めします。Image Builder では、ログを発行するための Amazon S3 の場所はインフラストラクチャ設定で指定されます。インフラ構成の詳細については、EC2 Image Builder インフラストラクチャ設定の管理を参照。

フェーズのリストが提供されていない場合、 AWSTOE アプリケーションはすべてのフェーズを YAML ドキュメントに記載されている順序で実行します。

1 つまたは複数のドキュメントで特定のフェーズを実行するには、以下のコマンドを使用します。

単一フェーズ

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

複数フェーズ

awstoe run --documents hello-world.yml --phases build,test
ドキュメント実行

1 つのドキュメントですべてのフェーズを実行

awstoe run --documents documentName.yaml

複数のドキュメントで全フェーズを実行

awstoe run --documents documentName1.yaml,documentName2.yaml

Amazon S3 情報を入力して、 AWSTOE ユーザー定義のローカルパスからログをアップロードします (推奨)

awstoe run --documents documentName.yaml --log-s3-bucket-name <S3Bucket> --log-s3-key-prefix <S3KeyPrefix> --log-s3-bucket-owner <S3BucketOwner> --log-directory <local_path>

1 つのドキュメントですべてのフェーズを実行し、すべてのログをコンソールに表示します。

awstoe run --documents documentName.yaml --trace

コマンドの例

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

一意の ID でドキュメントを実行

awstoe run --documents <documentName>.yaml --execution-id <user provided id> --phases <comma separated list of phases>

以下の点についてサポートを受けてください。 AWSTOE

awstoe --help