

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

# AWS PCS の Amazon EC2 ユーザーデータの使用
<a name="working-with_ec2-user-data"></a>

インスタンスの起動時に`cloud-init`実行される起動テンプレートに EC2 ユーザーデータを指定できます。コンテンツタイプのユーザーデータブロックは、インスタンスが AWS PCS API に登録される前に`cloud-config`実行されますが、コンテンツタイプのユーザーデータブロックは、登録の完了後に実行されますが、Slurm デーモンの起動前に`text/x‑shellscript`実行されます。コンテンツタイプの詳細については[cloud-init](https://cloudinit.readthedocs.io/en/latest/explanation/format.html) のドキュメントを参照してください。

ユーザーデータは、次のような一般的な設定シナリオを実行できます。
+  [ ユーザーまたはグループを含める ](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#including-users-and-groups) 
+  [ パッケージのインストール ](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#install-arbitrary-packages) 
+  [ パーティションとファイルシステムの作成 ](https://cloudinit.readthedocs.io/en/latest/topics/examples.html#create-partitions-and-filesystems) 
+  ネットワークファイルシステムのマウント 

 起動テンプレートのユーザーデータは、[MIME マルチパートアーカイブ](https://cloudinit.readthedocs.io/en/latest/topics/format.html#mime-multi-part-archive)形式である必要があります。これは、ユーザーデータがノードグループ内のノードの設定に必要な他の AWS PCS ユーザーデータとマージされるためです。複数のユーザーデータブロックと単一の MIME マルチパートファイルを組み合わせることができます。

 MIME マルチパートファイルには次のコンポーネントが含まれます。
+  コンテンツの種類およびパート境界の宣言: `Content-Type: multipart/mixed; boundary="==BOUNDARY=="` 
+  MIME バージョンの宣言: `MIME-Version: 1.0` 
+  次のコンポーネントを含む 1 つ以上のユーザーデータブロック: 
  +  ユーザーデータブロックの始まりを示す開始境界: `--==BOUNDARY==`。この境界の前の行は空白にしておく必要があります。
  +  ブロックのコンテンツタイプ宣言: `Content-Type: text/cloud-config; charset="us-ascii"`または `Content-Type: text/x-shellscript; charset="us-ascii"`。コンテンツタイプ宣言の後の行は空白にしておく必要があります。
  +  ユーザーデータのコンテンツ (例えば、シェルコマンドや `cloud-config` ディレクティブのリスト)。
+  MIME マルチパートファイルの終わりを示す、終了境界: `--==BOUNDARY==--`。この境界の前の行は空白にしておく必要があります。

**注記**  
 Amazon EC2 コンソールの起動テンプレートにユーザーデータを追加する場合は、プレーンテキストとして貼り付けることができます。または、ファイルからアップロードすることもできます。 AWS CLI または AWS SDK を使用する場合は、この JSON ファイルに示すように、[CreateLaunchTemplate](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateLaunchTemplate.html) を呼び出すときに、まず base64 でユーザーデータをエンコードし、その文字列を `UserData`パラメータの値として送信する必要があります。

```
{
    "LaunchTemplateName": "base64-user-data",
    "LaunchTemplateData": {
        "UserData": "ewogICAgIkxhdW5jaFRlbXBsYXRlTmFtZSI6ICJpbmNyZWFzZS1jb250YWluZXItdm9sdW..."
    }
}
```

**例**
+ [例: パッケージリポジトリからソフトウェアをインストールする](working-with_ec2-user-data_repo.md)
+ [例: S3 バケットからスクリプトを実行する](working-with_ec2-user-data_s3.md)
+ [例: グローバル環境変数の設定](working-with_ec2-user-data_env.md)
+ [PCS AWS でのネットワークファイルシステムの使用](working-with_file-systems.md)
+ [例: EFS ファイルシステムを共有ホームディレクトリとして使用する](working-with_ec2-user-data_efs.md)