ジョブ定義の例 - AWS Batch

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

ジョブ定義の例

次のジョブ定義の例では、環境変数、パラメータ置換やボリュームのマウントなどの一般的なパターンを使用する方法を示しています。

環境変数の使用

次のジョブ定義の例では、環境変数を使用してファイルタイプと Amazon S3 URL を指定します。この用例は、「簡単な "Fetch & Run" AWS Batch ジョブを作成する」コンピュータブログポストから引用しています。-fetch_and_run.shスクリプトは、これらの環境変数を使用してmyjob.shスクリプトを作成し、そのファイルタイプを宣言します。

この例では、コマンドと環境変数はジョブ定義でハードコード化されていますが、さらに柔軟性のあるジョブ定義を作成するためにコマンドと環境変数を指定して、コマンドと環境変数を指定できます。

{ "jobDefinitionName": "fetch_and_run", "type": "container", "containerProperties": { "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/fetch_and_run", "vcpus": 2, "memory": 2000, "command": [ "myjob.sh", "60" ], "jobRoleArn": "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly", "environment": [ { "name": "BATCH_FILE_S3_URL", "value": "s3://my-batch-scripts/myjob.sh" }, { "name": "BATCH_FILE_TYPE", "value": "script" } ], "user": "nobody" } }

パラメータ置換の使用

次の例では、パラメータ置換とデフォルト値を設定するためのジョブ定義を説明しています。

Ref:: セクションの command 宣言は、パラメータ置換のためにプレースホルダ―を設定するときに使用します。このジョブ定義でジョブを送信する場合、inputfileoutputfileのような値に上書きしてパラメータを指定します。-parametersセクションは、codecですが、必要に応じてパラメータを上書きできます。

詳細については、「Parameters」を参照してください。

{ "jobDefinitionName": "ffmpeg_parameters", "type": "container", "parameters": {"codec": "mp4"}, "containerProperties": { "image": "my_repo/ffmpeg", "vcpus": 2, "memory": 2000, "command": [ "ffmpeg", "-i", "Ref::inputfile", "-c", "Ref::codec", "-o", "Ref::outputfile" ], "jobRoleArn": "arn:aws:iam::123456789012:role/ECSTask-S3FullAccess", "user": "nobody" } }

GPU 機能のテスト

次のジョブ定義の例では、GPU ワークロードの AMI の使用 で説明されている GPU ワークロード AMI が適切に設定されているかどうかをテストします。このジョブ定義の例では、TensorFlow ディープ MNIST 分類子を実行します。の例: GitHub からダウンロードします。

{ "containerProperties": { "image": "tensorflow/tensorflow:1.8.0-devel-gpu", "vcpus": 8, "command": [ "sh", "-c", "cd /tensorflow/tensorflow/examples/tutorials/mnist; python mnist_deep.py" ], "memory": 32000 }, "type": "container", "jobDefinitionName": "tensorflow_mnist_deep" }

あなたは、と呼ばれる前の JSON テキストを持つファイルを作成することができますtensorflow_mnist_deep.json登録します。AWS Batchジョブ定義は、以下のコマンドでダウンロードできます。

aws batch register-job-definition --cli-input-json file://tensorflow_mnist_deep.json

マルチノードの並列ジョブ

以下のジョブ定義の例では、マルチノードの並列ジョブを示しています。詳細については、「」を参照してください。マルチノード並列ジョブを使用して、密結合された分子動力学ワークフローを構築するAWS Batch()AWSコンピューティングブログ。

{ "jobDefinitionName": "gromacs-jobdef", "jobDefinitionArn": "arn:aws:batch:us-east-2:123456789012:job-definition/gromacs-jobdef:1", "revision": 6, "status": "ACTIVE", "type": "multinode", "parameters": {}, "nodeProperties": { "numNodes": 2, "mainNode": 0, "nodeRangeProperties": [ { "targetNodes": "0:1", "container": { "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/gromacs_mpi:latest", "vcpus": 8, "memory": 24000, "command": [], "jobRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", "ulimits": [], "instanceType": "p3.2xlarge" } } ] } }