

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

# クラスターデプロイの問題のトラブルシューティング
<a name="troubleshooting-v3-cluster-deployment"></a>

クラスターの作成に失敗し、スタックの作成がロールバックされる場合は、ログファイルを参照して問題を解決します。失敗した場合のメッセージは、次の出力のようになります。

```
$ pcluster create-cluster --cluster-name mycluster --region eu-west-1 \
 --cluster-configuration cluster-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.15.0",
    "clusterStatus": "CREATE_IN_PROGRESS"
  }
}

$ pcluster describe-cluster --cluster-name mycluster --region eu-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"
}
```

**Topics**
+ [で CloudFormation イベントを表示する `CREATE_FAILED`](#troubleshooting-v3-cluster-deployment-events)
+ [CLI を使用してログストリームを表示する](#troubleshooting-v3-cluster-deployment-cli-logstreams)
+ [`rollback-on-failure` を使用して失敗したクラスターを再作成する](#troubleshooting-v3-cluster-deployment-cli-fail-rollback)

## で CloudFormation イベントを表示する `CREATE_FAILED`
<a name="troubleshooting-v3-cluster-deployment-events"></a>

コンソールまたは CLI AWS ParallelCluster を使用して`CREATE_FAILED`、エラーに関する CloudFormation イベントを表示し、根本原因を見つけることができます。

**Topics**
+ [CloudWatch コンソールでイベントを表示する](#troubleshooting-v3-cluster-deployment-cloudformation)
+ [CLI を使用して、`CREATE_FAILED` で CloudFormation イベントを表示し、フィルタリングします。](#troubleshooting-v3-cluster-deployment-cli-events)

### CloudWatch コンソールでイベントを表示する
<a name="troubleshooting-v3-cluster-deployment-cloudformation"></a>

`"CREATE_FAILED"` ステータスの原因に関する情報を確認するのに、CloudFormation コンソールを使用できます。

**コンソールから CloudFormation のエラーメッセージを表示する。**

1. にログイン AWS マネジメントコンソール し、[https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/) に移動します。

1. *cluster\$1name* という名前のスタックを選択します。

1. **[イベント]** タブを選択します。

1. **[論理 ID]** でリソースイベントのリストをスクロールして、作成に失敗したリソースの **[ステータス]** を確認します。サブタスクの作成に失敗した場合は、失敗したリソースイベントを見つけるために逆算します。

1. 例えば、次のステータスメッセージが表示される場合は、現在の 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 イベントを表示し、フィルタリングします。
<a name="troubleshooting-v3-cluster-deployment-cli-events"></a>

クラスター作成の問題を診断するには、[`pcluster get-cluster-stack-events`](pcluster.get-cluster-stack-events-v3.md) コマンドを使用して `CREATE_FAILED` ステータスのフィルタリングを行います。詳細については、「 *AWS Command Line Interface ユーザーガイド*[」の AWS CLI 「出力のフィルタリング](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html)」を参照してください。

```
$ pcluster get-cluster-stack-events --cluster-name mycluster --region eu-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 を使用してログストリームを表示する
<a name="troubleshooting-v3-cluster-deployment-cli-logstreams"></a>

この種の問題をデバッグするには、`node-type` でフィルタリングして [`pcluster list-cluster-log-streams`](pcluster.list-cluster-log-streams-v3.md) のヘッドノードから利用可能なログストリームをリストアップし、ログストリームのコンテンツを分析します。

```
$ pcluster list-cluster-log-streams --cluster-name mycluster --region eu-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」](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html)を参照してください。
+  `cloud-init` は [cloud-init](https://cloudinit.readthedocs.io/) のログです。`cfn-init` に何も表示されない場合は、次にこのログを確認してください。

ログストリームの内容を [`pcluster get-cluster-log-events`](pcluster.get-cluster-log-events-v3.md) で取得することができます (取得するイベント数を制限する `--limit 5` オプションに注意してください)。

```
$ pcluster get-cluster-log-events --cluster-name mycluster \
  --region eu-west-1 --log-stream-name ip-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`](HeadNode-v3.md#HeadNode-v3-CustomActions) の `OnNodeConfigured` 設定パラメータで使われているカスタムブートストラップスクリプトの内容と厳密に関係しています。

## `rollback-on-failure` を使用して失敗したクラスターを再作成する
<a name="troubleshooting-v3-cluster-deployment-cli-fail-rollback"></a>

AWS ParallelCluster は、ロググループにクラスター CloudWatch ログストリームを作成します。これらのログは、CloudWatch コンソールの**カスタムダッシュボード**または**ロググループ**で表示できます。詳細については、「[Amazon CloudWatch Logs との統合](cloudwatch-logs-v3.md)」および「[Amazon CloudWatch ダッシュボード](cloudwatch-dashboard-v3.md)」を参照してください。利用可能なログストリームがない場合は、[`CustomActions`](HeadNode-v3.md#HeadNode-v3-CustomActions) カスタムブートストラップスクリプトや AMI 関連の問題が失敗の原因である可能性があります。この場合の作成問題を診断するには、`--rollback-on-failure` パラメータを `false` に設定した上で、[`pcluster create-cluster`](pcluster.create-cluster-v3.md) を使用してクラスターを再度作成します。次に、SSH を使用して、次に示すようにクラスターを表示します。

```
$ pcluster create-cluster --cluster-name mycluster --region eu-west-1 \
   --cluster-configuration cluster-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.15.0",
     "clusterStatus": "CREATE_IN_PROGRESS"
   }
 } 
 $ pcluster ssh --cluster-name mycluster
```

ヘッドノードにログインすると、エラーの原因を見つけるための 3 つの主要なログファイルが見つかります。
+  `/var/log/cfn-init.log` は `cfn-init` のスクリプトのログです。最初に、このログを確認してください。このログには `Command chef failed` などのエラーが表示される可能性があります。エラーメッセージの詳細については、この行の直前の行を参照してください。詳細については、[「cfn-init」](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html)を参照してください。
+  `/var/log/cloud-init.log` は [cloud-init](https://cloudinit.readthedocs.io/) のログです。`cfn-init.log` に何も表示されない場合は、次にこのログを確認してください。
+  `/var/log/cloud-init-output.log` は [cloud-init](https://cloudinit.readthedocs.io/) で実行されたコマンドの出力です。これには `cfn-init` からの出力も含まれます。通常、この種の問題のトラブルシューティングには、このログを見る必要はありません。