

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

# カスタム AWS ParallelCluster クックブックのセットアップ
<a name="custom_cookbook"></a>

**重要**  
ク AWS ParallelCluster ックブックレシピのカスタムバージョンを使用する手順は次のとおりです。これは高度なカスタマイズ方法であり AWS ParallelCluster、デバッグが難しい問題が発生する可能性があります。インストール後のフックは一般的にデバッグしやすく、 のリリース間で移植性が高いため、 AWS ParallelCluster チームはカスタマイズに[カスタムブートストラップアクション](pre_post_install.md)のスクリプトを使用することを強くお勧めします AWS ParallelCluster。

## ステップ
<a name="cookbook-steps"></a>

1.  AWS ParallelCluster クックブックコードをクローンした[AWS ParallelCluster クックブック](https://github.com/aws/aws-parallelcluster-cookbook)作業ディレクトリを特定します。

   ```
   _cookbookDir={{<path to cookbook>}}
   ```

1. ク AWS ParallelCluster ックブックの最新バージョンを検出します。

   ```
   _version=$(grep version ${_cookbookDir}/metadata.rb|awk '{print $2}'| tr -d \')
   ```

1.  AWS ParallelCluster クックブックのアーカイブを作成し、md5 を計算します。

   ```
   cd "${_cookbookDir}"
   _stashName=$(git stash create)
   git archive --format tar --prefix="aws-parallelcluster-cookbook-${_version}/" "${_stashName:-HEAD}" | gzip > "aws-parallelcluster-cookbook-${_version}.tgz"
   md5sum "aws-parallelcluster-cookbook-${_version}.tgz" > "aws-parallelcluster-cookbook-${_version}.md5"
   ```

1. Amazon S3 バケットを作成し、アーカイブ、その md5、およびその最終更新日をバケットにアップロードします。パブリック読み取り ACL を使用して、パブリック読み取り可能なアクセス許可を付与します。

   ```
   _bucket={{<the bucket name>}}
   aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.tgz s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz
   aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.md5 s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.md5
   aws s3api head-object --bucket ${_bucket} --key cookbooks/aws-parallelcluster-cookbook-${_version}.tgz --output text --query LastModified > aws-parallelcluster-cookbook-${_version}.tgz.date
   aws s3 cp --acl public-read aws-parallelcluster-cookbook-${_version}.tgz.date s3://${_bucket}/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz.date
   ```

1. [`[cluster]` セクション](cluster-definition.md)の下にある AWS ParallelCluster 設定ファイルに次の変数を追加します。

   ```
   custom_chef_cookbook = https://${_bucket}.s3.{{<the bucket region>}}.amazonaws.com/cookbooks/aws-parallelcluster-cookbook-${_version}.tgz
   extra_json = { "cluster" : { "skip_install_recipes" : "no" } }
   ```
**注記**  
 AWS ParallelCluster バージョン 2.6.1 以降では、起動時間を短縮するために、ノードの起動時にほとんどのインストールレシピがデフォルトでスキップされます。下位互換性の向上よりも起動時間の短縮を優先させるために、ほとんどのインストールレシピをスキップするには、[`extra_json`](cluster-definition.md#extra-json) 設定の `cluster` キーから `"skip_install_recipes" : "no"` を削除します。