翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
PCS AWS のノードライフサイクルアクションの例
次の例では AWS CLI 、 を使用してノードライフサイクルアクションを設定します。を使用してコンピューティングノードグループを作成するときcreate-compute-node-group、または を使用して既存のコンピューティングノードグループに追加または変更するときに、ライフサイクルアクションを定義できますupdate-compute-node-group。--node-lifecycle-actions 値は両方のコマンドで同じです。
ステージ間で複数のスクリプト
この例では、異なる実行ポリシーとエラー動作を使用して、両方のライフサイクルステージにわたってスクリプトを組み合わせます。
aws pcs create-compute-node-group --regionregion\ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --subnet-idssubnet-ExampleID1\ --custom-launch-template id=lt-ExampleID1,version='1' \ --iam-instance-profile-arn=arn:InstanceProfile\ --scaling-config minInstanceCount=0,maxInstanceCount=10\ --instance-configs instanceType=t3.large\ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount FSx Lustre", "scriptSource": { "scriptLocation": "s3://my-bucket/mount-fsx.sh" }, "arguments": ["fs-0abc123", "/scratch"], "executionPolicy": "EVERY_BOOT" }, { "name": "Join Active Directory", "scriptSource": { "scriptLocation": "s3://my-bucket/configure-ad.sh" }, "arguments": ["ad.example.com", "EXAMPLE"], "executionPolicy": "FIRST_BOOT_ONLY" } ], "nodeReady": [ { "name": "Configure CloudWatch logging", "scriptSource": { "scriptLocation": "s3://my-bucket/setup-cloudwatch.sh" }, "arguments": ["/aws/pcs/my-cluster"], "onError": "CONTINUE" } ] } }'
混合エラー動作
この例では、同じステージで重要なスクリプトとオプションのスクリプトを使用します。1 つ目は障害発生時にノードを終了し、2 つ目は続行します。
aws pcs create-compute-node-group --regionregion\ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --subnet-idssubnet-ExampleID1\ --custom-launch-template id=lt-ExampleID1,version='1' \ --iam-instance-profile-arn=arn:InstanceProfile\ --scaling-config minInstanceCount=0,maxInstanceCount=10\ --instance-configs instanceType=t3.large\ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Install required packages", "scriptSource": { "scriptLocation": "s3://my-bucket/install-packages.sh" }, "onError": "TERMINATE" }, { "name": "Install optional tools", "scriptSource": { "scriptLocation": "s3://my-bucket/install-optional.sh" }, "onError": "CONTINUE" } ] } }'
チェックサムを使用した整合性の検証
SHA-256 チェックサムを追加して、コンテンツが一致しない場合にエージェントがスクリプトを拒否するようにします。
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount EFS", "scriptSource": { "scriptLocation": "s3://my-bucket/mount-efs.sh", "checksum": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855" }, "arguments": ["fs-12345678", "/shared"] } ] } }'
再起動時にスクリプトの更新を有効にする
を scriptCachingPolicyに設定しますREFRESH_ON_REBOOT。このUpdateComputeNodeGroup呼び出しは設定変更であるため、既存のインスタンスをドレインして置き換えます。置き換えが完了すると、インスタンスは再起動のたびにスクリプトを再ダウンロードします。その後、Amazon S3 のスクリプトコンテンツを更新できます。インスタンスは、以降の API コールなしで次の再起動時に変更を取得します。
aws pcs update-compute-node-group \ --cluster-identifiermy-cluster\ --compute-node-group-identifiermy-cng\ --node-lifecycle-actions '{ "stages": { "nodeBootstrapped": [ { "name": "Mount EFS", "scriptSource": { "scriptLocation": "s3://my-bucket/mount-efs.sh" }, "arguments": ["fs-12345678", "/shared"], "executionPolicy": "EVERY_BOOT" } ] }, "scriptCachingPolicy": "REFRESH_ON_REBOOT" }'
AWS ParallelCluster ブートストラップアクションからの移行
多くの既存の AWS ParallelCluster ブートストラップスクリプトは、PCS AWS ライフサイクルアクションでそのまま動作します。 AWS PCS は、スクリプトごとのエラー処理 (TERMINATE、STOP_SEQUENCE、または CONTINUE) と再起動制御 (FIRST_BOOT_ONLY または ) を提供しますEVERY_BOOT。PCS AWS のデフォルトは ですFIRST_BOOT_ONLY。ParallelCluster の動作 (起動ごとに実行) を一致させるには、 executionPolicy を に設定しますEVERY_BOOT。
AWS ParallelCluster |
AWS PCS |
|---|---|
|
|
|
|
|
同等の PCS AWS がない |