Amazon EC2 ユーザーデータの使用 - AWS PCS

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

Amazon EC2 ユーザーデータの使用

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

ユーザーデータは、次のような一般的な設定シナリオを実行できます。

起動テンプレートのユーザーデータはMIME、マルチパートアーカイブ形式である必要があります。これは、ユーザーデータが、ノードグループ内のノードの設定に必要な他の AWS PCSユーザーデータとマージされるためです。複数のユーザーデータブロックを 1 つの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ファイルに示すように、 を呼び出すときに、まず base64 でユーザーデータをエンコードしCreateLaunchTemplate、その文字列を UserDataパラメータの値として送信する必要があります。

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