トラブルシューティング
既知の問題解決には、既知のエラーを軽減するための手順が記載されています。これらの手順で問題が解決しない場合は、AWS サポートに問い合わせるセクションで、このソリューションに関する AWS サポートのケースを開く手順を参照してください。
既知の問題解決
AWS でのワークロード検出のデプロイ中およびデプロイ後のフェーズでは、いくつかの一般的な設定エラーが発生する可能性があります。
注記
トラブルシューティングを容易にするには、AWS CloudFormation テンプレートで失敗時のロールバック機能を無効にすることをお勧めします。AWS でのワークロード検出のデプロイ後の設定に関するドキュメント
配信チャネル設定のエラー
問題: メインの 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 が既に有効になっているリージョンにデプロイされています。
解決策: 前提条件セクションの手順に従って、CloudFormation パラメータ AlreadyHaveConfigSetup を Yes に設定してソリューションをデプロイします。
既存の VPC にデプロイすると、サーチリゾルバースタックのデプロイがタイムアウトする
問題: 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 つの理由が考えられます。
-
プライベートサブネットに NAT ゲートウェイが関連付けられていないため、インターネットにアクセスできません。
-
プライベートサブネットが NAT ゲートウェイではなく VPC エンドポイントを使用しており、S3 ゲートウェイエンドポイントが正しく設定されていません。
解決策:
アカウントのインポート後にリソースが検出されない
問題: Web UI からアカウントをインポートしましたが、検出プロセスの実行後にリソースが検出されないようです。
理由: 最も可能性の高い理由は次のとおりです。
-
CrossAccountDiscovery CloudFormation パラメータが
SELF_MANAGEDに設定されている場合、グローバルリソース CloudFormation テンプレートはデプロイされていません。 -
CrossAccountDiscovery CloudFormation パラメータが
AWS_ORGANIZATIONSに設定されている場合、1 つ以上のアカウントが検出されず、[ロールステータス] 列に [デプロイされていません] というエントリがあります。これは、StackSets を使用したグローバルリソーステンプレートの自動デプロイに問題が発生していることを意味します。 -
検出プロセス ECS タスクのメモリが不足しています。これは、多数のアカウントまたはリソースをインポートするときに発生します。UI の [最後の検出] 列には、DiscoveryTaskFrequency CloudFormation パラメータで指定された値よりも大きい値 (デフォルト値は 15 分) があり、ECS コンソールにメモリ不足エラーが表示されます。
解決策:
-
ドキュメントに従って、グローバルリソーステンプレートを必要なアカウントにデプロイします。
-
AWS でのワークロード検出がデプロイされたリージョンの WdGlobalResources StackSet に移動し、デプロイに失敗したスタックインスタンスのエラーを確認します。
-
Memory CloudFormation パラメータをより大きな値に更新します。最初は 2 倍の値から始め、エラーがなくなるまで値を増やし続けます。
注記
CPU ユニットとメモリ値の特定の組み合わせのみが有効なため、CpuUnits CloudFormation パラメータも更新する必要がある場合があります。組み合わせの完全なリストは、ECS ドキュメントに記載されています。
特定のアカウントでは AWS Config 以外のリソースのみが検出される
問題: このソリューションで検出されるリソースタイプは、サポートされているリソースセクションの表に記載されているもののみです。
理由: この問題の最も一般的な原因は次のとおりです。
-
CrossAccountDiscovery CloudFormation パラメータを
SELF_MANAGEDに設定されている場合に、検出対象の各アカウントのリージョンにリージョンリソースの CloudFormation テンプレートがデプロイされていません。 -
CrossAccountDiscovery CloudFormation パラメータが
SELF_MANAGEDに設定されている場合に、Config が有効になっていない複数のアカウントのリージョンにリージョンリソースの CloudFormation テンプレートがデプロイされているが、CloudFormation パラメータ AlreadyHaveConfigSetup が誤ってYesに設定されています。 -
CrossAccountDiscovery CloudFormation パラメータが
AWS_ORGANIZATIONSに設定されている場合に、検出対象となる各アカウントのリージョンで AWS Config が有効になっていません。AWS_ORGANIZATIONSモードでは、組織のポリシーに従って Config を有効にする責任があります。
解決策:
-
ドキュメントに従って、必要なアカウントにリージョンリソーステンプレートをデプロイします。
-
以前にデプロイしたリージョンリソーススタックを削除し (削除しないと AWS Config が不整合な状態になります)、CloudFormation パラメータ AlreadyHaveConfigSetup を
Noに設定して再デプロイします。 -
検出対象となる各アカウントのリージョンで AWS Config を有効にします。