「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
起動テンプレートのサポート
AWS Batch では、EC2 コンピューティング環境で Amazon EC2 起動テンプレートを使用することができます。起動テンプレートを使用すると、カスタマイズした AWS Batch を作成せずに、AMIs コンピューティングリソースのデフォルト設定を変更できます。
起動テンプレートは AWS Fargate リソースではサポートされていません。
コンピューティング環境に関連付ける前に、起動テンプレートを作成する必要があります。起動テンプレートは、Amazon EC2 コンソールで作成するか、あるいは AWS CLI または AWS SDK を使用できます。たとえば、次の JSON ファイルは、デフォルトの AWS Batch コンピューティングリソース AMI の Docker データボリュームのサイズを変更する起動テンプレートを表し、また暗号化するように設定します。
{ "LaunchTemplateName": "increase-container-volume-encrypt", "LaunchTemplateData": { "BlockDeviceMappings": [ { "DeviceName": "/dev/xvdcz", "Ebs": { "Encrypted": true, "VolumeSize": 100, "VolumeType": "gp2" } } ] } }
JSON を lt-data.json
という名前のファイルに保存し、次の AWS CLI コマンドを実行することで、前の起動テンプレートを作成できます。
aws ec2 --region
<region>
create-launch-template --cli-input-json file://lt-data.json
起動テンプレートの詳細については、https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html の「起動テンプレートからのインスタンスの起動Linux インスタンス用 Amazon EC2 ユーザーガイド」を参照してください。
起動テンプレートを使用してコンピューティング環境を作成する場合、次の既存のコンピューティング環境パラメータを起動テンプレートに移動できます。
上記のパラメータ (Amazon EC2 タグ付き以外) が起動テンプレートおよびコンピューティング環境の両方で指定されている場合、コンピューティング環境パラメータが優先されます。Amazon EC2 タグは、起動テンプレートとコンピューティング環境設定間でマージされます。タグキーの対立がある場合、コンピューティング環境設定の値が優先されます。
-
Amazon EC2 キーペア
-
Amazon EC2 AMI ID
-
セキュリティグループIDs
-
Amazon EC2 のタグ
以下の起動テンプレートパラメータは、 で無視AWS Batchされます。
-
インスタンスタイプ (コンピューティング環境作成時にインスタンスタイプを指定)
-
インスタンスロール (コンピューティング環境作成時にインスタンスロールを指定)
-
ネットワークインターフェイスサブネット (コンピューティング環境の作成時に、サブネットを指定)
-
インスタンスマーケットオプション (AWS Batch でスポットインスタンスの設定を制御する必要があります)
-
API 終了の無効化 (AWS Batch でインスタンスのライフサイクルを制御する必要があります)
AWS Batch は、新しい起動テンプレートバージョンを使用したコンピューティング環境の更新をサポートしていません。起動テンプレートを更新する場合、新規のテンプレートで新しいコンピューティング環境を作成して、変更を有効化します。
起動テンプレートの Amazon EC2 ユーザーデータ
インスタンスの起動時に Amazon EC2cloud-init によって実行される起動テンプレートに
起動テンプレートの Amazon EC2 ユーザーデータは、MIME マルチパートアーカイブ
を使用している場合は、AWS CloudFormationAWS::CloudFormation::Init タイプを cfn-init ヘルパースクリプトで使用して、一般的な設定シナリオを実行できます。
MIME マルチパートファイルには次のコンポーネントが含まれます。
-
コンテンツの種類およびパート境界の宣言:
Content-Type: multipart/mixed; boundary="==BOUNDARY=="
-
MIME バージョンの宣言:
MIME-Version: 1.0
-
次のコンポーネントを含む 1 つ以上のユーザーデータブロック:
-
ユーザーデータブロックの始まりを示す開始境界:
--==BOUNDARY==
-
ブロックのコンテンツタイプ宣言。
Content-Type:
。 コンテンツタイプの詳細については、Cloud-Init のドキュメントtext/cloud-config
; charset="us-ascii"を参照してください。 -
ユーザーデータのコンテンツ、たとえば、シェル・コマンドまたは
cloud-init
ディレクティブのリスト
-
-
MIME マルチパートファイルの終わりを通知する終了境界:
--==BOUNDARY==--
以下の例では、独自のファイルを作成するために使用できる MIME マルチパートファイルを示します。
コンソールの起動テンプレートにユーザーデータを追加する場合は、プレーンテキストとして貼り付けるか、ファイルからアップロードできます。Amazon EC2または AWS
CLI SDK を使用する場合は、最初にユーザーデータを AWS エンコードし、この JSON に示すように、base64
UserData
CreateLaunchTemplate を呼び出すときにこの文字列を パラメータの値として送信します。
{ "LaunchTemplateName": "base64-user-data", "LaunchTemplateData": { "UserData": "
ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW...
" } }
例
例: 既存の Amazon EFS ファイルシステムのマウント
このサンプル MIME マルチパートファイルは、コンピューティングリソースを設定して amazon-efs-utils
パッケージをインストールし、既存の Amazon EFS ファイルシステムを /mnt/efs
にマウントします。
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"
packages:
- amazon-efs-utils
runcmd:
- file_system_id_01=fs-abcdef123
- efs_directory=/mnt/efs
- mkdir -p ${efs_directory}
- echo "${file_system_id_01}:/ ${efs_directory} efs tls,_netdev" >> /etc/fstab
- mount -a -t efs defaults
--==MYBOUNDARY==--
例: デフォルトの Amazon ECS コンテナエージェント設定の上書き
このサンプル MIME マルチパートファイルは、コンピューティングリソースのデフォルトの Docker イメージクリーンアップ設定を上書きします。
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/x-shellscript; charset="us-ascii"
#!/bin/bash
echo ECS_IMAGE_CLEANUP_INTERVAL=60m >> /etc/ecs/ecs.config
echo ECS_IMAGE_MINIMUM_CLEANUP_AGE=60m >> /etc/ecs/ecs.config
--==MYBOUNDARY==--
例: 既存の Amazon FSx for Lustre ファイルシステムのマウント
このサンプル MIME マルチパートファイルは、コンピューティングリソースを設定して Extras Library から lustre2.10
パッケージをインストールし、既存の Amazon FSx for Lustre ファイルシステムを /scratch
にマウントします。 この例は、Amazon Linux 2 用です。他の Linux ディストリビューションのインストール手順については、https://docs.aws.amazon.com/fsx/latest/LustreGuide/install-lustre-client.html の「Lustre クライアントのインストールAmazon FSx for Lustre ユーザーガイド」を参照してください。
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="
--==MYBOUNDARY==
Content-Type: text/cloud-config; charset="us-ascii"
runcmd:
- file_system_id_01=fs-0abcdef1234567890
- region=us-east-2
- fsx_directory=/scratch
- amazon-linux-extras install -y lustre2.10
- mkdir -p ${fsx_directory}
- mount -t lustre ${file_system_id_01}.fsx.${region}.amazonaws.com@tcp:fsx ${fsx_directory}
--==MYBOUNDARY==--
コンテナプロパティの volumes および mountPoints メンバーでは、マウントポイントをコンテナにマッピングする必要があります。
{ "volumes": [ { "host": { "sourcePath": "
/scratch
" }, "name": "Scratch
" } ], "mountPoints": [ { "containerPath": "/scratch
", "sourceVolume": "Scratch
" } ], }