

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

# インスタンスの問題のトラブルシューティング
<a name="troubleshooting-ec2-instances"></a>

**Topics**
+ [タグは正しく設定する必要がある](#troubleshooting-EC2-tags)
+ [AWS CodeDeploy エージェントはインスタンスにインストールして実行する必要があります](#troubleshooting-sds-agent)
+ [デプロイ中にインスタンスを削除した場合、デプロイは最大 1 時間は失敗しません。](#troubleshooting-one-hour-timeout)
+ [ログファイルの分析によるインスタンスでのデプロイの失敗の調査](#troubleshooting-deploy-failures)
+ [誤って削除した場合は、新しい CodeDeploy ログファイルを作成します。](#troubleshooting-create-new-log-file)
+ [「InvalidSignatureException – Signature expired: [time] is now earlier than [time]」デプロイエラーのトラブルシューティング](#troubleshooting-instance-time-failures)

## タグは正しく設定する必要がある
<a name="troubleshooting-EC2-tags"></a>

デプロイに使用されるインスタンスに正しくタグが付けられていることを確認するには、 [list-deployment-instances](https://docs.aws.amazon.com/cli/latest/reference/deploy/list-deployment-instances.html) コマンドを使用します。出力に EC2 インスタンスがない場合は、EC2 コンソールを使用して、インスタンスにタグが設定されていることを確認します。詳細については、「*Amazon EC2 ユーザーガイド*」の「[コンソールでのタグの操作](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#Using_Tags_Console)」を参照してください。

**注記**  
インスタンスにタグを付け、直後に CodeDeploy を使用してそのインスタンスにアプリケーションをデプロイする場合、インスタンスはデプロイに含まれないこともあります。これは、CodeDeploy がタグを読み込むまでに数分かかることがあるためです。インスタンスにタグを付けてから、そのインスタンスへのデプロイを試みるまでに、少なくとも 5 分待つことをお勧めします。

## AWS CodeDeploy エージェントはインスタンスにインストールして実行する必要があります
<a name="troubleshooting-sds-agent"></a>

インスタンスに CodeDeploy エージェントがインストールされて実行されていることを確認する方法については、「[CodeDeploy エージェントが実行されていることの確認](codedeploy-agent-operations-verify.md)」を参照してください。

CodeDeploy エージェントをインストール、アンインストール、または再インストールする方法については、「[CodeDeploy エージェントをインストールする](codedeploy-agent-operations-install.md)」を参照してください。

## デプロイ中にインスタンスを削除した場合、デプロイは最大 1 時間は失敗しません。
<a name="troubleshooting-one-hour-timeout"></a>

CodeDeploy は、各デプロイライフサイクルイベントの実行が完了するまでに 1 時間の枠を設定しています。これにより、実行時間が長いスクリプトにも十分な時間が提供されます。

ライフサイクルイベントの進行中に、スクリプト実行が完了しない場合 (たとえば、インスタンスが終了された、CodeDeploy エージェントがシャットダウンされたなど)、デプロイのステータスが Failed になるまで、最大で 1 時間かかることがあります。スクリプトに指定されたタイムアウト時間が 1 時間未満である場合も同様です。これは、インスタンスが終了すると CodeDeploy エージェントがシャットダウンし、それ以上のスクリプトを処理できなくなるためです。

インスタンスがライフサイクル間、または最初のライフサイクルイベントのステップが開始する前に削除された場合、タイムアウトはわずか 5 分後に発生します。

## ログファイルの分析によるインスタンスでのデプロイの失敗の調査
<a name="troubleshooting-deploy-failures"></a>

デプロイのインスタンスのステータスが `Succeeded` 以外のいずれかである場合は、デプロイのログファイルデータを確認すると、問題の特定に役立ちます。デプロイのログデータへのアクセス方法については、「[CodeDeploy EC2/オンプレミスデプロイのログデータの表示](deployments-view-logs.md)」を参照してください。

## 誤って削除した場合は、新しい CodeDeploy ログファイルを作成します。
<a name="troubleshooting-create-new-log-file"></a>

誤ってインスタンスのデプロイログファイルを削除した場合、CodeDeploy は代わりのログファイルを作成しません。新しいログファイルを作成するには、インスタンスにサインインし、以下のコマンドを実行します。

**Amazon Linux、Ubuntu Server、または RHEL インスタンスの場合**、以下のコマンドをこの順序で 1 つずつ実行します。

```
systemctl stop codedeploy-agent
```

```
systemctl start codedeploy-agent
```

**Windows Server インスタンスの場合**

```
powershell.exe -Command Restart-Service -Name codedeployagent
```

## 「InvalidSignatureException – Signature expired: [time] is now earlier than [time]」デプロイエラーのトラブルシューティング
<a name="troubleshooting-instance-time-failures"></a>

CodeDeploy では、オペレーションを実行するために正確な時間の参照が必要です。インスタンスの日時が正しく設定されていない場合は、デプロイリクエストの署名と一致しないことがあり、その場合は CodeDeploy によってリクエストが却下されます。

誤った時間設定に関連するデプロイの失敗を回避する方法については、次のトピックを参照してください。
+  [Linux インスタンスの時刻の設定](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/set-time.html)
+  [Windows インスタンスの時刻を設定する](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/windows-set-time.html)