翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
クラスターデプロイの問題のトラブルシューティング
クラスターの作成に失敗し、スタックの作成がロールバックされる場合は、ログファイルを参照して問題を解決します。失敗した場合のメッセージは、次の出力のようになります。
$
pcluster create-cluster --cluster-name
mycluster
--regioneu-west-1
\ --cluster-configurationcluster-config.yaml
{ "cluster": { "clusterName": "mycluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "region": "eu-west-1", "version": "3.7.0", "clusterStatus": "CREATE_IN_PROGRESS" } }
$
pcluster describe-cluster --cluster-name
mycluster
--regioneu-west-1
{ "creationTime": "2021-09-06T11:03:47.696Z", ... "cloudFormationStackStatus": "ROLLBACK_IN_PROGRESS", "clusterName": "mycluster", "computeFleetStatus": "UNKNOWN", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "lastUpdatedTime": "2021-09-06T11:03:47.696Z", "region": "eu-west-1", "clusterStatus": "CREATE_FAILED" }
トピック
CREATE_FAILED
で AWS CloudFormation イベントを表示する
コンソールまたは AWS ParallelCluster CLI を使用して CREATE_FAILED
エラー時の CloudFormation イベントを表示することは、根本原因を見つけるのに役立ちます。
CloudWatch コンソールでイベントを表示する
"CREATE_FAILED"
ステータスの原因に関する情報を確認するのに、CloudFormation コンソールを使用できます。
コンソールから CloudFormation のエラーメッセージを表示する。
-
AWS Management Console にログインし、https://console.aws.amazon.com/cloudformation
に移動します。 -
cluster_name
という名前のスタックを選択します。 -
[イベント] タブを選択します。
-
[論理 ID] でリソースイベントのリストをスクロールして、作成に失敗したリソースの [ステータス] を確認します。サブタスクの作成に失敗した場合は、失敗したリソースイベントを見つけるために逆算します。
-
例えば、次のステータスメッセージが表示される場合は、現在の vCPU 制限を超えないインスタンスタイプを使用するか、vCPU 容量の追加をリクエストする必要があります。
2022-02-04 16:09:44 UTC-0800 HeadNode CREATE_FAILED You have requested more vCPU capacity than your current vCPU limit of 0 allows for the instance bucket that the specified instance type belongs to. Please visit http://aws.amazon.com/contact-us/ec2-request to request an adjustment to this limit. (Service: AmazonEC2; Status Code: 400; Error Code: VcpuLimitExceeded; Request ID: a9876543-b321-c765-d432-dcba98766789; Proxy: null).
CLI を使用して、CREATE_FAILED
で CloudFormation イベントを表示し、フィルタリングします。
クラスター作成の問題を診断するには、pcluster get-cluster-stack-events コマンドを使用して CREATE_FAILED
ステータスのフィルタリングを行います。詳細については、「AWS Command Line Interface ユーザーガイド」の「AWS CLI の出力をフィルタリングする」を参照してください。
$
pcluster get-cluster-stack-events --cluster-name
mycluster
--regioneu-west-1
\ --query 'events[?resourceStatus==`CREATE_FAILED`]'[ { "eventId": "3ccdedd0-0f03-11ec-8c06-02c352fe2ef9", "physicalResourceId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "resourceStatus": "CREATE_FAILED", "resourceStatusReason": "The following resource(s) failed to create: [HeadNode]. ", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "stackName": "mycluster", "logicalResourceId": "mycluster", "resourceType": "AWS::CloudFormation::Stack", "timestamp": "2021-09-06T11:11:51.780Z" }, { "eventId": "HeadNode-CREATE_FAILED-2021-09-06T11:11:50.127Z", "physicalResourceId": "i-04e91cc1f4ea796fe", "resourceStatus": "CREATE_FAILED", "resourceStatusReason": "Received FAILURE signal with UniqueId i-04e91cc1f4ea796fe", "resourceProperties": "{\"LaunchTemplate\":{\"Version\":\"1\",\"LaunchTemplateId\":\"lt-057d2b1e687f05a62\"}}", "stackId": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f02-11ec-a3b9-024fcc6f3387", "stackName": "mycluster", "logicalResourceId": "HeadNode", "resourceType": "AWS::EC2::Instance", "timestamp": "2021-09-06T11:11:50.127Z" } ]
前の例では、失敗はヘッドノードの設定にありました。
CLI を使用してログストリームを表示する
この種の問題をデバッグするには、node-type
でフィルタリングして pcluster list-cluster-log-streams のヘッドノードから利用可能なログストリームをリストアップし、ログストリームのコンテンツを分析します。
$
pcluster list-cluster-log-streams --cluster-name
mycluster
--regioneu-west-1
\ --filters 'Name=node-type,Values=HeadNode'{ "logStreams": [ { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init", ... }, { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.chef-client", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.chef-client", ... }, { "logStreamArn": "arn:aws:logs:eu-west-1:xxx:log-group:/aws/parallelcluster/mycluster-202109061103:log-stream:ip-10-0-0-13.i-04e91cc1f4ea796fe.cloud-init", "logStreamName": "ip-10-0-0-13.i-04e91cc1f4ea796fe.cloud-init", ... }, ... ] }
初期化エラーを見つけるために使用できる 2 つの主要なログストリームは次のとおりです。
-
cfn-init
はcfn-init
のスクリプトのログです。まず、このログストリームを確認します。このログにはCommand chef failed
エラーが表示される可能性があります。エラーメッセージの詳細については、この行の直前の行を参照してください。詳細については、「cfn-init」を参照してください。 -
cloud-init
は cloud-initのログです。 cfn-init
に何も表示されない場合は、次にこのログを確認してください。
ログストリームの内容を pcluster get-cluster-log-events で取得することができます (取得するイベント数を制限する --limit 5
オプションに注意してください)。
$
pcluster get-cluster-log-events --cluster-name
mycluster
\ --regioneu-west-1
--log-stream-nameip-10-0-0-13.i-04e91cc1f4ea796fe.cfn-init
\ --limit 5{ "nextToken": "f/36370880979637159565202782352491087067973952362220945409/s", "prevToken": "b/36370880752972385367337528725601470541902663176996585497/s", "events": [ { "message": "2021-09-06 11:11:39,049 [ERROR] Unhandled exception during build: Command runpostinstall failed", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "Traceback (most recent call last):\n File \"/opt/aws/bin/cfn-init\", line 176, in <module>\n worklog.build(metadata, configSets)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 135, in build\n Contractor(metadata).build(configSets, self)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 561, in build\n self.run_config(config, worklog)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 573, in run_config\n CloudFormationCarpenter(config, self._auth_config).build(worklog)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/construction.py\", line 273, in build\n self._config.commands)\n File \"/usr/lib/python3.7/site-packages/cfnbootstrap/command_tool.py\", line 127, in apply\n raise ToolError(u\"Command %s failed\" % name)", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "cfnbootstrap.construction_errors.ToolError: Command runpostinstall failed", "timestamp": "2021-09-06T11:11:39.049Z" }, { "message": "2021-09-06 11:11:49,212 [DEBUG] CloudFormation client initialized with endpoint https://cloudformation.eu-west-1.amazonaws.com", "timestamp": "2021-09-06T11:11:49.212Z" }, { "message": "2021-09-06 11:11:49,213 [DEBUG] Signaling resource HeadNode in stack mycluster with unique ID i-04e91cc1f4ea796fe and status FAILURE", "timestamp": "2021-09-06T11:11:49.213Z" } ] }
前述の例では、失敗の原因は runpostinstall
の失敗なので、CustomActions の OnNodeConfigured
設定パラメータで使われているカスタムブートストラップスクリプトの内容と厳密に関係しています。
rollback-on-failure
を使用して失敗したクラスターを再作成する
AWS ParallelCluster は、ロググループにクラスター CloudWatch ログストリームを作成します。これらのログは、CloudWatch コンソールのカスタムダッシュボードまたはロググループで表示できます。詳細については、Amazon CloudWatch Logs との統合およびAmazon CloudWatch ダッシュボードを参照してください。利用可能なログストリームがない場合は、CustomActions カスタムブートストラップスクリプトや AMI 関連の問題が失敗の原因である可能性があります。この場合の作成問題を診断するには、--rollback-on-failure
パラメータを false
に設定した上で、pcluster create-cluster を使用してクラスターを再度作成します。次に、SSH を使用して、次に示すようにクラスターを表示します。
$
pcluster create-cluster --cluster-name
mycluster
--regioneu-west-1
\ --cluster-configurationcluster-config.yaml
--rollback-on-failure false{ "cluster": { "clusterName": "mycluster", "cloudformationStackStatus": "CREATE_IN_PROGRESS", "cloudformationStackArn": "arn:aws:cloudformation:eu-west-1:xxx:stack/mycluster/1bf6e7c0-0f01-11ec-a3b9-024fcc6f3387", "region": "eu-west-1", "version": "3.7.0", "clusterStatus": "CREATE_IN_PROGRESS" } }
$
pcluster ssh --cluster-name
mycluster
ヘッドノードにログインすると、エラーの原因を見つけるための 3 つの主要なログファイルが見つかります。
-
/var/log/cfn-init.log
はcfn-init
のスクリプトのログです。最初に、このログを確認してください。このログにはCommand chef failed
などのエラーが表示される可能性があります。エラーメッセージの詳細については、この行の直前の行を参照してください。詳細については、「cfn-init」を参照してください。 -
/var/log/cloud-init.log
は cloud-initのログです。 cfn-init.log
に何も表示されない場合は、次にこのログを確認してください。 -
/var/log/cloud-init-output.log
は cloud-initで実行されたコマンドの出力です。これには cfn-init
からの出力も含まれます。通常、この種の問題のトラブルシューティングには、このログを見る必要はありません。