

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

# ステップ 3: 起動テンプレートを作成してコンピューティング環境にアタッチする
<a name="batch-host-logs-create-launch-template"></a>

インスタンスが起動すると、user-dataスクリプトは自動的に をインストールしFluent Bit、IMDSv2 からインスタンス ID を取得し、Amazon S3 から設定を同期してサービスを開始しますFluent Bit。起動テンプレートの詳細については、「[で Amazon EC2 起動テンプレートを使用する AWS Batch](launch-templates.md)」を参照してください。IMDS 設定の詳細については、「」を参照してください[インスタンスメタデータサービス (IMDS) の設定](imds-compute-environments.md)。

サンプルuser-dataスクリプトについては、[GitHub リポジトリ](https://github.com/aws-samples/sample-batch-host-level-logs)を参照してください。起動テンプレートに `launch-template-userdata-minimal.txt` ファイルを使用します。このファイルは、user-dataサイズを縮小するためのコメントを除外します。`launch-template-userdata.txt` ファイルは、参照用にコメントされたバージョンです。使用する前に、テンプレート内の次のプレースホルダーを置き換えます。
+ `<BUCKET_NAME>` – Amazon S3 バケットの名前。
+ `<FLUENT_BIT_VERSION>` – インストールするFluent Bitバージョン。利用可能な最新バージョンをインストールするには、空白のままにします。
+ [ステップ 1: Amazon S3 バケットとFluent Bit設定を設定する](batch-host-logs-s3-setup.md)
+ [ステップ 2: インスタンスロールに IAM アクセス許可を設定する](batch-host-logs-configure-iam.md)

------
#### [ AWS Console ]

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

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

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

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

1. **起動テンプレート名**には、 などの名前を入力します`{{batch-host-logs}}`。

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

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

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

1. **ユーザーデータ**までスクロールし、[コンパニオン GitHub リポジトリ](https://github.com/aws-samples/sample-batch-host-level-logs)からuser-dataスクリプトを貼り付けます。{{`<BUCKET_NAME>`}} をバケット名に置き換えます。を目的のFluent Bitバージョン{{`<FLUENT_BIT_VERSION>`}}に置き換えるか、最新バージョンの場合は空白のままにします。

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

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

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

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

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

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

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

1. Name には****、 などの名前を入力します`{{my-host-logs-ce}}`。

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

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

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

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

------
#### [ AWS CLI ]

起動テンプレートを作成します。[コンパニオン GitHub リポジトリ](https://github.com/aws-samples/sample-batch-host-level-logs)から ファイルに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 リクエストは失敗します。