翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
を使用してカスタムコンポーネントを開発するための手動セットアップ AWSTOE
AWS Task Orchestrator and Executor (AWSTOE) アプリケーションは、コンポーネント定義フレームワーク内でコマンドを作成、検証、実行するスタンドアロンアプリケーションです。 AWS のサービスでは、 AWSTOE を使用してワークフローのオーケストレーション、ソフトウェアのインストール、システム設定の変更、イメージビルドのテストを行うことができます。
AWSTOE アプリケーションを手動でインストールし、カスタムコンポーネントを開発するためのスタンドアロンアプリケーションとして使用するには、次の手順に従います。Image Builder コンソールまたは AWS CLI コマンドを使用してカスタムコンポーネントを作成する場合、Image Builder はこれらのステップを処理します。詳細については、「Image Builder を使用してカスタムコンポーネントを作成する」を参照してください。
使用を開始する手順
ステップ 1: をインストールする AWSTOE
コンポーネントをローカルで開発するには、 AWSTOE アプリケーションをダウンロードしてインストールします。
-
AWSTOE アプリケーションをダウンロードする
をインストールするには AWSTOE、アーキテクチャとプラットフォームに適したダウンロードリンクを選択します。アプリケーションのダウンロードリンクの詳細なリストについては、「AWSTOE ダウンロード」を参照してください。
重要
AWS は、TLSバージョン 1.0 および 1.1 のサポートを段階的に廃止しています。 AWSTOE ダウンロードのために S3 バケットにアクセスするには、クライアントソフトウェアがTLSバージョン 1.2 以降を使用する必要があります。詳細については、AWS セキュリティのブログ記事
を参照してください。 -
署名を検証する
ダウンロードを検証する手順は、インストール後に AWSTOE アプリケーションを実行するサーバープラットフォームによって異なります。Linux サーバーでダウンロードを確認する方法については、「Linux で署名を検証する」を参照してください。Windows サーバーでダウンロードを確認する方法については、「Windows で署名を検証する」を参照してください。
重要
AWSTOE は、ダウンロード場所から直接呼び出されます。別途インストールを行う必要はありません。つまり、 はローカル環境を変更 AWSTOE することもできます。
コンポーネント開発中に変更を確実に分離するには、EC2インスタンスを使用して AWSTOE コンポーネントを開発およびテストすることをお勧めします。
ステップ 2: AWS 認証情報を設定する
AWSTOE では AWS のサービス、タスクを実行する CloudWatch際に、Amazon S3 や Amazon などの他の に接続するための AWS 認証情報が必要です。
-
ユーザー提供の Amazon S3 パスから AWSTOE ドキュメントをダウンロードします。
-
S3Download
またはS3Upload
アクションモジュールを実行する。 -
有効にすると CloudWatch、ログを にストリーミングします。
EC2 インスタンス AWSTOE で を実行している場合、 の実行はEC2インスタンスにアタッチされたIAMロールと同じアクセス許可 AWSTOE を使用します。
のIAMロールの詳細についてはEC2、IAM「Amazon のロールEC2」を参照してください。
次の例は、 AWS_ACCESS_KEY_ID
および AWS_SECRET_ACCESS_KEY
環境変数を使用して AWS 認証情報を設定する方法を示しています。
これらの変数を 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: コンポーネントドキュメントをローカルで開発する
コンポーネントはプレーンテキスト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
でサポートされている値はbuild
、validate
、test
です。複数のフェーズ値をカンマで区切って入力できます。
フェーズのリストを指定すると、 AWSTOE アプリケーションは各ドキュメントの指定されたフェーズを順次実行します。例えば、 は の build
および validate
フェーズ AWSTOE を実行しdocument1.yaml
、続いて の build
および validate
フェーズを実行しますdocument2.yaml
。
ログを安全に保存し、トラブルシューティングのために保持するには、Amazon S3 にログストレージを設定することをお勧めします。Image Builder では、ログを発行するための Amazon S3 の場所はインフラストラクチャ設定で指定されます。インフラ構成の詳細については、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