📝

AWS Batch で AWS CLI を実行してみた

に公開

前提

  • AWSServiceRoleForBatch ロールが存在している
  • ecsInstanceRole ロールが存在している
    • AdministratorAccess 権限が付与されている

1. AWS Batch コンピューティング環境の作成

以下の設定で作成しました。

  • コンピューティング環境設定: Amazon Elastic Compute Cloud (Amazon EC2)
  • オーケストレーションタイプ: マネージド型
  • 名前: my-batch-compute-env
  • サービスロール: AWSServiceRoleForBatch
  • インスタンスロール: ecsInstanceRole

上記以外はデフォルト設定です。

2. ジョブキューの作成

以下の設定で作成しました。

  • オーケストレーションタイプ: Amazon Elastic Compute Cloud (Amazon EC2)
  • 名前: my-aws-cli-job-definition
  • 接続されたコンピューティング環境: 手順 1 で作成した環境

上記以外はデフォルト設定です。

3. ジョブ定義の作成

以下の設定で作成しました。

  • オーケストレーションタイプ: Amazon Elastic Compute Cloud (Amazon EC2)
  • 名前: my-batch-job-queue
  • イメージ: amazon/aws-cli:latest
  • コマンド: ["s3","ls"]
  • 実行ロール: ecsTaskExecutionRole

上記以外はデフォルト設定です。

4. ジョブの実行

以下の設定で実行しました。

  • オーケストレーションタイプ: Amazon Elastic Compute Cloud (Amazon EC2)
  • 名前: my-first-aws-cli-job
  • ジョブ定義: 手順 3 で作成した定義
  • ジョブキュー: 手順 2 で作成した定義

上記以外はデフォルト設定です。

5. 動作確認

ジョブのステータスが SUCCEEDED になり、CloudWatch Logs のロググループ /aws/batch/job に S3 バケット一覧のログが出力されていれば成功です。

まとめ

今回は AWS Batch で AWS CLI を実行してみました。
どなたかの参考になれば幸いです。

Discussion