View a markdown version of this page

ステップ 3: 起動テンプレートを作成してコンピューティング環境にアタッチする - AWS Batch

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

ステップ 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 ファイルは、参照用にコメントされたバージョンです。使用する前に、テンプレート内の次のプレースホルダーを置き換えます。

  • <BUCKET_NAME> – Amazon S3 バケットの名前。

  • <FLUENT_BIT_VERSION> – インストールするFluent Bitバージョン。利用可能な最新バージョンをインストールするには、空白のままにします。

前提条件
AWS Console

起動テンプレートを作成します。

  1. Amazon EC2 コンソールの https://console.aws.amazon.com/ec2/ を開いてください。

  2. ナビゲーションペインで、[Launch Templates] を選択してください。

  3. [起動テンプレートの作成] を選択してください。

  4. 起動テンプレート名には、 などの名前を入力しますbatch-host-logs

  5. [Advanced Details] (高度な詳細) を展開します。

  6. [Metadata version] (メタデータバージョン) には[V2 only (token required)] (V2 のみ (トークンが必要)) を選択してください。

  7. メタデータレスポンスホップ制限には、「」と入力します2

  8. ユーザーデータまでスクロールし、コンパニオン GitHub リポジトリからuser-dataスクリプトを貼り付けます。<BUCKET_NAME> をバケット名に置き換えます。を目的のFluent Bitバージョン<FLUENT_BIT_VERSION>に置き換えるか、最新バージョンの場合は空白のままにします。

  9. [起動テンプレートの作成] を選択してください。

コンピューティング環境を作成します。

  1. https://console.aws.amazon.com/batch/ で AWS Batch コンソールを開きます。

  2. ナビゲーションペインで、コンピューティング環境] を選択します。

  3. [作成] を選択します。

  4. コンピューティング環境設定 で、Amazon Elastic Compute Cloud (Amazon EC2) を選択します。

  5. オーケストレーションタイプ で、マネージド を選択します。

  6. Name には、 などの名前を入力しますmy-host-logs-ce

  7. インスタンスロール で、ステップ 2 で更新または作成した などのインスタンスロールを選択しますecsInstanceRole

  8. [次へ] を選択します。

  9. インスタンス設定で、起動テンプレートを展開し、作成したテンプレートを選択します。

  10. 残りのフィールドに入力し、コンピューティング環境の作成を選択します。

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 リクエストは失敗します。