

# Amazon ECS Anywhere に関する問題のトラブルシューティング
<a name="ecs-anywhere-troubleshooting"></a>

Amazon ECS Anywhere は、オンプレミスサーバーや仮想マシン (VM) などの*外部インスタンス*を Amazon ECS クラスターに登録するためのサポートを提供します。以下は、発生する可能性のある一般的な問題と、一般的なトラブルシューティングの推奨事項です。

**Topics**
+ [外部インスタンス登録の問題](#ecs-anywhere-troubleshooting-registration)
+ [外部インスタンスネットワークの問題](#ecs-anywhere-troubleshooting-networking)
+ [外部インスタンスでのタスクの実行に関する問題](#ecs-anywhere-troubleshooting-runtask)

## 外部インスタンス登録の問題
<a name="ecs-anywhere-troubleshooting-registration"></a>

Amazon ECS クラスターに外部インスタンスを登録する場合、次の要件を満たす必要があります:
+ *アクティベーション ID* および*アクティベーションコード*で構成される、AWS Systems Manager のアクティベーションを取得する必要があります。Systems Manager マネージドインスタンスとして、外部 インスタンスを登録するために使用します。Systems Manager の有効化が要求されたら、登録制限と有効期限を指定します。登録制限は、アクティベーションを使用して登録できるインスタンスの最大数を指定します。登録制限のデフォルト値は `1` instance です。有効期限は、アクティベーションが期限切れになる日付です。デフォルト値は 24 時間です。外部インスタンスの登録に使用している Systems Manager のアクティベーションが有効でない場合は、新しいものをリクエストします。詳細については、「[Amazon ECS クラスターに外部インスタンスを登録する](ecs-anywhere-registration.md)」を参照してください。
+ IAM ポリシーは、外部インスタンスが AWS API 操作との通信に必要なアクセス許可を提供するために使用されます。このマネージド ポリシーが正しく作成されず、必要なアクセス権限が含まれていない場合、外部インスタンスの登録は失敗します。詳細については、「[Amazon ECS Anywhere IAM ロール](iam-role-ecsanywhere.md)」を参照してください。
+ Amazon ECS には、Docker、Amazon ECS コンテナエージェント、および Systems Manager Agent を外部インスタンスにインストールするインストールスクリプトが用意されています。インストールスクリプトが失敗した場合、エラーが発生しなくても、同じインスタンスでスクリプトを再実行できない可能性があります。このような場合は、クリーンアッププロセスに従ってAWSリソースをインスタンスから削除して、再度インストールスクリプトを実行できます。詳細については、「[Amazon ECS 外部インスタンスの登録を解除する](ecs-anywhere-deregistration.md)」を参照してください。
**注記**  
インストールスクリプトが Systems Manager のアクティベーションを正常に要求し、使用した場合、インストールスクリプトを 2 回実行すると Systems Manager のアクティベーションが再び使用されることに注意してください。これにより、順番にアクティベーションの登録制限に達する可能性があります。この制限に達した場合、新しいアクティベーションを作成する必要があります。
+ GPU ワークロードの外部インスタンスでインストールスクリプトを実行するときに、NVIDIA ドライバが検出されない、または正しく設定されていない場合、エラーが発生します。インストールスクリプトは `nvidia-smi` コマンドを実行して、NVIDIA ドライバの存在を確認します。

## 外部インスタンスネットワークの問題
<a name="ecs-anywhere-troubleshooting-networking"></a>

変更内容を伝えるには、外部インスタンスはAWSにネットワーク接続が必要です。外部インスタンスがAWSへのネットワーク接続が切断された場合、マニュアルで停止しない限り、インスタンスで実行されているタスクは、引き続き実行されます。AWS への接続後が復元されると、外部インスタンスの Amazon ECS コンテナエージェントと Systems Manager Agent によって使用される AWS 認証情報は自動的に更新されます。外部インスタンスとAWSの間の通信に使用されるAWSドメインの詳細については、「[ネットワーク](ecs-anywhere.md#ecs-anywhere-networking)」を参照してください。

## 外部インスタンスでのタスクの実行に関する問題
<a name="ecs-anywhere-troubleshooting-runtask"></a>

タスクまたはコンテナが外部インスタンスで実行されない場合、最もよくある原因はネットワークまたはアクセス許可に関連しています。コンテナがAmazon ECRからイメージを引き出している場合や、コンテナのログをCloudWatch Logsに送信するように設定されている場合は、タスク定義で有効なタスク実行IAMロールを指定する必要があります。有効なタスク実行 IAM ロールがない場合、コンテナは起動しません。ネットワーク関連の問題の詳細については、「[外部インスタンスネットワークの問題](#ecs-anywhere-troubleshooting-networking)」を参照してください。

**重要**  
Amazon ECS には、Amazon ECS ログ収集ツールが用意されています。これを使用して、トラブルシューティングの目的で外部インスタンスからログを収集することができます。詳細については、「[Amazon ECS ログコレクターを使用したコンテナログの収集](ecs-logs-collector.md)」を参照してください。