

# Amazon EC2 インスタンスの終了に関する問題のトラブルシューティング
<a name="TroubleshootingInstancesShuttingDown"></a>

インスタンスをシャットダウンまたは削除することは、インスタンスの終了と呼ばれます。以下の情報は、インスタンスを終了するときの問題のトラブルシューティングに役立ちます。

インスタンスが `running` 状態ではない場合は、インスタンスの使用に対して課金されません。つまり、インスタンスを終了させると、そのステータスが `shutting-down` に変わるとすぐに、そのインスタンスへの課金は停止します。

## インスタンスがすぐに終了する
<a name="instance-terminates-immediately"></a>

複数の問題により、起動時にインスタンスがすぐに終了する可能性があります。詳細については、「[インスタンスがすぐに終了する](troubleshooting-launch.md#troubleshooting-launch-internal)」を参照してください。

## インスタンスの削除の遅延
<a name="instance-stuck-terminating"></a>

インスタンスの `shutting-down` 状態が数分以上続く場合、次の原因が考えられます。
+ インスタンスはシャットダウンスクリプトを実行しています。
+ 基盤となるホストコンピュータに問題があります。

`shutting-down` 状態が数時間以上続いた後、Amazon EC2 によってインスタンスはスタック状態として扱われて強制終了されます。

スタックしたインスタンスを自分で解決するには：

1. **インスタンスを強制終了する**

   Amazon EC2 コンソールまたは AWS CLI を使用し、インスタンスを強制停止します。手順については[インスタンスを強制終了する](#force-terminate-ec2-instance)を参照してください。

   インスタンスはまず正常なシャットダウンを試みますが、これにはファイルシステムのキャッシュおよびメタデータのフラッシュが含まれます (オプションとして正常なシャットダウンをバイパスすることもできます)。タイムアウト期間内に正常なシャットダウンが完了しない場合、インスタンスはファイルシステムのキャッシュおよびメタデータをフラッシュせずに強制的にシャットダウンします。

1. **強制終了が失敗した場合**

   数時間経ってもインスタンスが終了しておらず、終了処理でスタックした場合、次の操作を行います。

   1. 「[AWS re:Post](https://repost.aws/)」でヘルプの依頼を投稿します。迅速な解決のために、インスタンス ID を含めて、既に行った手順について説明してください。

   1. また、サポートプランを契約している場合は[サポートセンター](https://console.aws.amazon.com/support/home#/)でサポートケースを作成できます。

### インスタンスを強制終了する
<a name="force-terminate-ec2-instance"></a>

インスタンスの終了が停止しているように見える場合は、インスタンスを強制的に終了させることができます。数時間経過してもインスタンスが終了していない場合は、[AWSre:Post](https://repost.aws/) にヘルプリクエストを投稿してください。迅速な解決のために、インスタンス ID を含めて、既に行った手順について説明してください。また、サポートプランを契約している場合は、[サポートセンター](https://console.aws.amazon.com/support/home#/)でサポートケースを作成できます。

------
#### [ Console ]

**インスタンスを強制終了するには**

1. Amazon EC2 コンソールの [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/) を開いてください。

1. ナビゲーションペインの [**Instances** (インスタンス)] を選択し、処理が止まってしまったインスタンスを選択してください。

1. [**Instance state (インスタンスの状態)**]、[**Force terminate instance (インスタンスの強制終了)**] の順に選択してください。

   [**Force stop instance (インスタンスの強制停止)**] はインスタンスが`stopping`状態である場合のみコンソールで利用できることに注意してください。インスタンスが別の状態の場合 (`shutting-down` と `terminated` を除く)は、AWS CLI を使用してインスタンスを強制停止します。

1. (オプション) 強制終了中に正常な OS シャットダウンをバイパスするには、[** OS シャットダウンをスキップ**] チェックボックスをオンにします。

1. [**強制終了**] を選択します。

------
#### [ AWS CLI ]

**インスタンスを強制終了するには**  
`--force` オプションで [terminate-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/terminate-instances.html) コマンドを使用します。

```
aws ec2 terminate-instances \
    --instance-ids {{i-1234567890abcdef0}} \
    --force
```

強制終了中に正常な OS シャットダウンをバイパスするには、「`--skip-os-shutdown`」オプションを含めます。

```
aws ec2 terminate-instances \
    --instance-ids {{i-1234567890abcdef0}} \
    --force \
    --skip-os-shutdown
```

------
#### [ PowerShell ]

**インスタンスを強制終了するには**  
[Remove-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2Instance.html) コマンドレットを使用し、`-Enforce` を `true` に設定します。

```
Remove-EC2Instance `
    -InstanceId {{i-1234567890abcdef0}} `
    -Enforce $true
```

強制終了中に正常な OS シャットダウンをバイパスするには、「`-SkipOsShutdown $true`」を含めます。

```
Remove-EC2Instance `
    -InstanceId {{i-1234567890abcdef0}} `
    -Enforce $true `
    -SkipOsShutdown $true
```

------

## 表示されているインスタンスを削除する
<a name="terminated-instance-still-displaying"></a>

インスタンスの削除後、インスタンスはしばらくの間削除されずに表示されたままとなります。状態は `terminated` となります。このエントリが数時間経過しても削除されない場合には、サポートに連絡してください。

## エラー: インスタンスは終了できない可能性があります。その「disableApiTermination」インスタンス属性を変更します
<a name="termination-protection-enabled"></a>

インスタンスを終了しようとしたときに `The instance {{i-1234567890abcdef0}} may not be terminated. Modify its 'disableApiTermination' instance attribute` エラーメッセージが表示される場合は、そのインスタンスの終了保護が有効になっていることを示します。削除保護はインスタンスが誤って削除されないようにします。

インスタンスを終了する前に、終了保護を無効にする必要があります。

詳細については、「[インスタンスの終了保護を変更する](Using_ChangingDisableAPITermination.md)」を参照してください。

## インスタンスが自動的に起動または終了される
<a name="automatic-instance-create-or-delete"></a>

通常、以下の動作は、定義した基準に基づいて自動的にコンピューティングリソースをスケールするため、Amazon EC2 Auto Scaling、EC2 フリート、またはスポットフリートを使用していることを意味します。
+ インスタンスを終了すると、別のインスタンスが自動的に起動します。
+ インスタンスを起動すると、いずれかのインスタンスが自動的に終了します。
+ インスタンスを停止すると、そのインスタンスが終了し、別のインスタンスが自動的に起動します。

自動スケーリングを停止するには、インスタンスを起動している Auto Scaling グループまたはフリートを見つけて、その容量を 0 に設定するか、削除します。