

# EC2 インスタンスに対する停止保護を有効にする
<a name="ec2-stop-protection"></a>

インスタンスが誤って停止するのを防ぐために、インスタンスに対する停止保護を有効にすることができます。停止保護はインスタンスを偶発的な終了からも保護します。

Amazon EC2 [https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyInstanceAttribute.html) API の `DisableApiStop` 属性はAmazon EC2 コンソール、AWS CLI、Amazon EC2 API を使用してインスタンスを停止できるかどうかを制御します。この属性の値はインスタンスの起動時、インスタンスの実行中、またはインスタンスの停止時に設定できます。

**考慮事項**
+ 停止保護を有効にしても、**shutdown** や **poweroff** などのオペレーティングシステムコマンドによりインスタンスからシャットダウンを開始してインスタンスを誤って停止することは防げません。
+ 停止保護を有効にしても、インスタンスにインスタンスを停止する[予定されたイベント](monitoring-instances-status-check_sched.md)がある場合、AWS がインスタンスを停止するのを防ぐことはできません。
+ 停止保護を有効にしても、インスタンスが異常な場合やスケールインイベント中にAmazon EC2 Auto Scaling がインスタンスを終了するのを防ぐことはできません。スケールイン時に Auto Scaling グループが特定のインスタンスを終了できるかどうかを制御するには[インスタンスのスケールイン保護](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-instance-protection.html)を使用します。
+ 停止保護はインスタンスが誤って停止するのを防ぐだけでなく、コンソール、AWS CLI、または API を使用して誤って終了するのを防ぎます。ただし、`DisableApiTermination` 属性は自動的に変更されません。`DisableApiStop` 属性が `false` に設定されている場合、`DisableApiTermination` 属性の設定によって、コンソール、AWS CLI 、またはAPIを使用してインスタンスを終了できるかどうかが決まります。詳細については、「[Amazon EC2 インスタンスを終了する](terminating-instances.md)」を参照してください。
+ インスタンスストアのルートボリュームを持つインスタンスの停止保護は有効にできません。
+ スポットインスタンスの停止保護は有効にできません。
+ 停止保護を有効または無効にすると、Amazon EC2 API は最終的な整合性モデルに従います。つまり、停止保護属性を設定するコマンドを実行した結果が、それ以降に実行するすべてのコマンドにすぐには表示されない場合があります。詳細については「*Amazon EC2 デベロッパーガイド*」の「[Amazon EC2 API の結果整合性](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html)」を参照してください。

**Topics**
+ [起動時にインスタンスに対する停止保護を有効にします](#enable-stop-protection-at-launch)
+ [実行中または停止したインスタンスに対する停止保護を有効にします](#enable-stop-protection-on-running-or-stopped-instance)
+ [実行中または停止したインスタンスに対する停止保護を無効にします](#disable-stop-protection-on-running-or-stopped-instance)

## 起動時にインスタンスに対する停止保護を有効にします
<a name="enable-stop-protection-at-launch"></a>

インスタンスを起動するときに、インスタンスに対する停止保護を有効にできます。

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

**起動時にインスタンスに対する停止保護を有効にするには**

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

1. ダッシュボードで、[**Launch Instance (インスタンスの起動)**] を選択してください。

1. [[new launch instance wizard]](ec2-launch-instance-wizard.md) (新しいインスタンス起動ウィザード) でインスタンスを設定します。

1. ウィザードで、**[高度な詳細]** の **[保護停止]** で **[有効にする]** を選択して、保護を停止します。

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

**起動時にインスタンスに対する停止保護を有効にするには**  
[run-instances](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) コマンドを使用して、インスタンスを起動します。次のパラメータを追加します。

```
--disable-api-stop
```

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

**起動時にインスタンスに対する停止保護を有効にするには**  
[New-EC2Instance](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) コマンドレットを使用してインスタンスを起動します。次のパラメータを追加します。

```
-DisableApiStop $true
```

------

## 実行中または停止したインスタンスに対する停止保護を有効にします
<a name="enable-stop-protection-on-running-or-stopped-instance"></a>

インスタンスの実行中に、またはインスタンスを停止したときに、インスタンスに対する停止保護を有効にできます。

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

**インスタンスに対する停止保護を有効にするには**

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

1. 左のナビゲーションペインで、**[Instances]** (インスタンス) をクリックしてください。

1. インスタンスを選択してから、**[アクション]** > **[インスタンスの設定]** > **[保護停止を変更する]** を選択してください。

1. **[有効化]** チェックボックスをオンにしたら、**[保存]** を選択してください。

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

**インスタンスに対する停止保護を有効にするには**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) コマンドを使用します。

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --disable-api-stop
```

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

**インスタンスに対する停止保護を有効にするには**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) コマンドレットを使用します。

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiStop $true
```

------

## 実行中または停止したインスタンスに対する停止保護を無効にします
<a name="disable-stop-protection-on-running-or-stopped-instance"></a>

次のいずれかの方法を使用して、実行中または停止したインスタンスに対する停止保護を無効にすることができます。

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

**実行中または停止中のインスタンスの停止保護を無効にするには**

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

1. 左のナビゲーションペインで、**[Instances]** (インスタンス) をクリックしてください。

1. インスタンスを選択してから、**[Actions]** (アクション)、**[Instance Settings]** (インスタンスの設定)、**[Change Stop Protection]** (停止保護の変更) を選択してください。

1. **[有効化]** チェックボックスをオフにしたら、**[保存]** を選択してください。

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

**実行中または停止中のインスタンスの停止保護を無効にするには**  
[modify-instance-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/modify-instance-attribute.html) コマンドを使用します。

```
aws ec2 modify-instance-attribute \
    --instance-id i-1234567890abcdef0 \
    --no-disable-api-stop
```

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

**インスタンスに対する停止保護を無効にするには**  
[Edit-EC2InstanceAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Edit-EC2InstanceAttribute.html) コマンドレットを使用します。

```
Edit-EC2InstanceAttribute `
    -InstanceId i-1234567890abcdef0 `
    -DisableApiStop $false
```

------