翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ステップ 3: 起動テンプレートを作成してコンピューティング環境にアタッチする
インスタンスが起動すると、user-dataスクリプトは自動的に をインストールしFluent Bit、IMDSv2 からインスタンス ID を取得し、Amazon S3 から設定を同期してサービスを開始しますFluent Bit。起動テンプレートの詳細については、「で Amazon EC2 起動テンプレートを使用する AWS Batch」を参照してください。IMDS 設定の詳細については、「」を参照してくださいインスタンスメタデータサービス (IMDS) の設定。
サンプルuser-dataスクリプトについては、GitHub リポジトリを参照してください。起動テンプレートに launch-template-userdata-minimal.txt ファイルを使用します。このファイルは、user-dataサイズを縮小するためのコメントを除外します。launch-template-userdata.txt ファイルは、参照用にコメントされたバージョンです。使用する前に、テンプレート内の次のプレースホルダーを置き換えます。
前提条件
- AWS Console
-
起動テンプレートを作成します。
Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。
ナビゲーションペインで、[Launch Templates] を選択してください。
[起動テンプレートの作成] を選択してください。
起動テンプレート名には、 などの名前を入力しますbatch-host-logs。
[Advanced Details] (高度な詳細) を展開します。
[Metadata version] (メタデータバージョン) には[V2 only (token required)] (V2 のみ (トークンが必要)) を選択してください。
メタデータレスポンスホップ制限には、「」と入力します2。
ユーザーデータまでスクロールし、コンパニオン GitHub リポジトリからuser-dataスクリプトを貼り付けます。<BUCKET_NAME> をバケット名に置き換えます。を目的のFluent Bitバージョン<FLUENT_BIT_VERSION>に置き換えるか、最新バージョンの場合は空白のままにします。
[起動テンプレートの作成] を選択してください。
コンピューティング環境を作成します。
https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。
ナビゲーションペインで、コンピューティング環境] を選択します。
[作成] を選択します。
コンピューティング環境設定 で、Amazon Elastic Compute Cloud (Amazon EC2) を選択します。
オーケストレーションタイプ で、マネージド を選択します。
Name には、 などの名前を入力しますmy-host-logs-ce。
インスタンスロール で、ステップ 2 で更新または作成した などのインスタンスロールを選択しますecsInstanceRole。
[次へ] を選択します。
インスタンス設定で、起動テンプレートを展開し、作成したテンプレートを選択します。
残りのフィールドに入力し、コンピューティング環境の作成を選択します。
- AWS CLI
-
起動テンプレートを作成します。コンパニオン GitHub リポジトリから ファイルにuser-dataスクリプトを保存し、base64 でエンコードします。
aws ec2 create-launch-template \
--launch-template-name batch-host-logs \
--launch-template-data '{
"MetadataOptions": {
"HttpTokens": "required",
"HttpPutResponseHopLimit": 2
},
"UserData": "BASE64_ENCODED_USER_DATA"
}'
起動テンプレートを使用してコンピューティング環境を作成します。
aws batch create-compute-environment \
--compute-environment-name my-host-logs-ce \
--type MANAGED \
--compute-resources '{
"type": "EC2",
"minvCpus": 0,
"maxvCpus": 256,
"instanceTypes": ["optimal"],
"subnets": ["subnet-12345678"],
"securityGroupIds": ["sg-12345678"],
"instanceRole": "arn:aws:iam::111122223333:instance-profile/ecsInstanceRole",
"launchTemplate": {
"launchTemplateName": "batch-host-logs",
"version": "$Latest"
}
}'
ジョブコンテナ2で実行されているアプリケーションが IMDSv2 エンドポイントに到達するために追加のネットワークホップを必要とするため、起動テンプレートのメタデータレスポンスホップ制限は に設定されます。この設定がないと、コンテナからの IMDSv2 リクエストは失敗します。