

# トラブルシューティング
<a name="troubleshooting"></a>

既知の問題解決には、既知のエラーを軽減するための手順が記載されています。これらの手順で問題が解決しない場合は、[AWS サポートに問い合わせる](contact-aws-support.md)セクションで、このソリューションに関する AWS サポートのケースを開く手順を参照してください。

## 既知の問題解決
<a name="known-issue-resolution"></a>

AWS でのワークロード検出のデプロイ中およびデプロイ後のフェーズでは、いくつかの一般的な設定エラーが発生する可能性があります。

**注記**  
トラブルシューティングを容易にするには、AWS CloudFormation テンプレートで失敗時のロールバック機能を無効にすることをお勧めします。AWS でのワークロード検出の[デプロイ後の設定に関するドキュメント](https://aws-solutions.github.io/workload-discovery-on-aws/workload-discovery-on-aws/2.0/index.html)にも、追加のトラブルシューティングのヘルプが記載されています。

### 配信チャネル設定のエラー
<a name="config-delivery-channel-error"></a>

 **問題:** メインの AWS CloudFormation テンプレートをデプロイするときに次のエラーが発生します。

```
Failed to put delivery channel '<stack-name>-DiscoveryImport-<ID-string>-DeliveryChannel-<ID-string>' because the maximum number of delivery channels: 1 is reached. (Service: AmazonConfig; Status Code: 400; Error Code: MaxNumberOfDeliveryChannelsExceededException; Request ID: 4edc54bc-8c85-4925-b99d-7ef9c73215b3; Proxy: null)
```

 **理由:** ソリューションは、AWS Config が既に有効になっているリージョンにデプロイされています。

 **解決策:** [前提条件セクション](https://docs.aws.amazon.com/solutions/latest/workload-discovery-on-aws/prerequisites.html#verify-your-aws-config-details-in-your-account)の手順に従って、CloudFormation パラメータ **AlreadyHaveConfigSetup** を `Yes` に設定してソリューションをデプロイします。

### 既存の VPC にデプロイすると、サーチリゾルバースタックのデプロイがタイムアウトする
<a name="search-resolver-stack-deployment-times-out-when-deploying-to-existing-vpc"></a>

 **問題:** OpenSearch クラスターにインデックスを作成するためにカスタムリソースをプロビジョニングするネストされたスタックが、次のエラーでタイムアウトします。

```
Embedded stack arn:aws:cloudformation:<region>::stack/<stack-name>-SearchResolversStack-<ID-string>/<guid> was not successfullycreated: Stack creation time exceeded the specified timeout
```

 **理由:** CloudFormation パラメータとして指定されたプライベートサブネットは、S3 にルーティングできません (カスタムリソースは、署名済み URL を使用して実行結果を S3 バケットに書き込む必要があります)。これには、一般的に次の 2 つの理由が考えられます。

1. プライベートサブネットに NAT ゲートウェイが関連付けられていないため、インターネットにアクセスできません。

1. プライベートサブネットが NAT ゲートウェイではなく VPC エンドポイントを使用しており、S3 ゲートウェイエンドポイントが正しく設定されていません。

 **解決策:** 

1. [ドキュメント](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-api-cli)に従って、CloudFormation または AWS CLI を使用して、プライベートサブネットで実行されているタスクがインターネットにアクセスできるように、VPC に NAT ゲートウェイをプロビジョニングします。

1. [ドキュメント](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#create-gateway-endpoint-s3)に従って、サブネットのルートテーブルが S3 VPC エンドポイント用に更新されていることを確認します。

### アカウントのインポート後にリソースが検出されない
<a name="resources-not-discovered-after-account-has-been-imported"></a>

 **問題:** Web UI からアカウントをインポートしましたが、検出プロセスの実行後にリソースが検出されないようです。

 **理由:** 最も可能性の高い理由は次のとおりです。

1. **CrossAccountDiscovery** CloudFormation パラメータが `SELF_MANAGED` に設定されている場合、グローバルリソース CloudFormation テンプレートはデプロイされていません。

1. **CrossAccountDiscovery** CloudFormation パラメータが `AWS_ORGANIZATIONS` に設定されている場合、1 つ以上のアカウントが検出されず、**[ロールステータス]** 列に **[デプロイされていません]** というエントリがあります。これは、StackSets を使用したグローバルリソーステンプレートの自動デプロイに問題が発生していることを意味します。

1. 検出プロセス ECS タスクのメモリが不足しています。これは、多数のアカウントまたはリソースをインポートするときに発生します。UI の **[最後の検出]** 列には、**DiscoveryTaskFrequency** CloudFormation パラメータで指定された値よりも大きい値 (デフォルト値は 15 分) があり、ECS コンソールにメモリ不足エラーが表示されます。

 **解決策:** 

1. [ドキュメント](https://docs.aws.amazon.com/solutions/latest/workload-discovery-on-aws/import-a-region.html#deploy-the-aws-cloudformation-templates)に従って、グローバルリソーステンプレートを必要なアカウントにデプロイします。

1. AWS でのワークロード検出がデプロイされたリージョンの **WdGlobalResources** StackSet に移動し、デプロイに失敗したスタックインスタンスのエラーを確認します。

1. **Memory** CloudFormation パラメータをより大きな値に更新します。最初は 2 倍の値から始め、エラーがなくなるまで値を増やし続けます。

**注記**  
CPU ユニットとメモリ値の特定の組み合わせのみが有効なため、**CpuUnits** CloudFormation パラメータも更新する必要がある場合があります。組み合わせの完全なリストは、[ECS ドキュメント](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-cpu-memory-error.html)に記載されています。

### 特定のアカウントでは AWS Config 以外のリソースのみが検出される
<a name="only-non-aws-config-resources-are-being-discovered-in-specific-accounts"></a>

 **問題:** このソリューションで検出されるリソースタイプは、[サポートされているリソース](https://docs.aws.amazon.com/solutions/latest/workload-discovery-on-aws/supported-resources-1.html)セクションの表に記載されているもののみです。

 **理由:** この問題の最も一般的な原因は次のとおりです。

1. **CrossAccountDiscovery** CloudFormation パラメータを `SELF_MANAGED` に設定されている場合に、検出対象の各アカウントのリージョンにリージョンリソースの CloudFormation テンプレートがデプロイされていません。

1. **CrossAccountDiscovery** CloudFormation パラメータが `SELF_MANAGED` に設定されている場合に、Config が有効になっていない複数のアカウントのリージョンにリージョンリソースの CloudFormation テンプレートがデプロイされているが、CloudFormation パラメータ **AlreadyHaveConfigSetup** が誤って `Yes` に設定されています。

1. **CrossAccountDiscovery** CloudFormation パラメータが `AWS_ORGANIZATIONS` に設定されている場合に、検出対象となる各アカウントのリージョンで AWS Config が有効になっていません。`AWS_ORGANIZATIONS` モードでは、組織のポリシーに従って Config を有効にする責任があります。

 **解決策:** 

1. [ドキュメント](https://docs.aws.amazon.com/solutions/latest/workload-discovery-on-aws/import-a-region.html#deploy-the-aws-cloudformation-templates)に従って、必要なアカウントにリージョンリソーステンプレートをデプロイします。

1. 以前にデプロイしたリージョンリソーススタックを削除し (削除しないと AWS Config が不整合な状態になります)、CloudFormation パラメータ **AlreadyHaveConfigSetup** を `No` に設定して再デプロイします。

1. 検出対象となる各アカウントのリージョンで AWS Config を有効にします。