メニュー
Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

インスタンスの終了

不要になったインスタンスは削除できます。これは、インスタンスの終了呼ばれます。インスタンスの状態が shutting-down または terminated に変わったら、そのインスタンスへの課金は停止します。

インスタンスを削除した後に、接続または再起動することはできません。ただし、同じ AMI から別のインスタンスを起動することができます。インスタンスを停止および再起動する場合は、「インスタンスの停止と起動」を参照してください。詳細については、「再起動、停止、終了の違い」を参照してください。

インスタンスの終了

インスタンスの終了後、インスタンスはしばらくの間コンソールに表示されたままですが、エントリは自動的に削除されます。終了したインスタンスのエントリを自分で削除することはできません。インスタンスを削除すると、タグやボリュームなどのリソースはインスタンスから徐々に関連付けが解除されるため、しばらくすると削除されたインスタンスでこれらのリソースが表示されなくなる可能性があります。

インスタンスが終了すると、そのインスタンスに関連付けられたすべてのインスタンスストアボリュームのデータが削除されます。

デフォルトでは、インスタンスの終了時に Amazon EBS のルートデバイスボリュームが自動的に削除されます。ただし、起動時にアタッチした追加の EBS ボリューム、または既存のインスタンスにアタッチした EBS ボリュームがある場合、デフォルトでは、インスタンスの終了後もそれらのボリュームは保持されます。この動作はボリュームの DeleteOnTermination 属性によって制御されますが、変更できます。詳細については、「インスタンスの終了で Amazon EBS ボリュームを保持する」を参照してください。

AWS マネジメントコンソール、CLI、および API を使用している他のユーザーによって、誤ってインスタンスを終了されないようにできます。この機能は、Amazon EC2 instance store-backed インスタンスと Amazon EBS-backed インスタンスの両方で使用できます。各インスタンスには、デフォルト値の false である DisableApiTermination 属性があります (インスタンスは Amazon EC2 によって終了される場合があります)。インスタンスの実行中または停止中に、このインスタンス属性を変更できます (Amazon EBS-backed インスタンスの場合)。詳細については、「インスタンスの終了保護の有効化」を参照してください。

システムをシャットダウンするオペレーティングシステムコマンドを使用して、インスタンスからシャットダウンが開始されたときに、インスタンスを停止または終了するかどうかを制御できます。詳細については、「インスタンスによって起動されたシャットダウン動作の変更」を参照してください。

インスタンスの終了時にスクリプトを実行した場合、シャットダウンスクリプトが実行されることを保証する方法がないため、異常な終了が発生する場合があります。Amazon EC2 はインスタンスを正常にシャットダウンして、システムシャットダウンスクリプトが実行されるように試みますが、特定のイベント (ハードウェア障害など) ではシステムシャットダウンスクリプトが実行されないことがあります。

インスタンスを終了する

インスタンスは AWS マネジメントコンソール またはコマンドラインを使用して終了できます。

To terminate an instance using the console

  1. Before you terminate the instance, verify that you won't lose any data by checking that your Amazon EBS volumes won't be deleted on termination and that you've copied any data that you need from your instance store volumes to Amazon EBS or Amazon S3.

  2. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  3. In the navigation pane, select Instances.

  4. Select the instance, choose Actions, select Instance State, and then select Terminate.

  5. Select Yes, Terminate when prompted for confirmation.

コマンドラインを使用してインスタンスを終了するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

インスタンスの終了保護の有効化

デフォルトでは、Amazon EC2 コンソール、コマンドラインインターフェイス、または API を使用して、インスタンスを終了できます。Amazon EC2 を使用してインスタンスを誤って終了できないようにするには、インスタンスの終了保護を有効にできます。DisableApiTermination 属性は、インスタンスがコンソール、CLI、または API を使用して終了できるかどうかを制御します。デフォルトでは、インスタンスの終了保護は無効になっています。インスタンスが実行中またはインスタンスが停止中に、インスタンスを起動する際に、この属性の値を設定できます (Amazon EBS-backed インスタンスの場合)。

InstanceInitiatedShutdownBehavior 属性が設定された場合、DisableApiTermination 属性はインスタンスからシャットダウンを開始して (システムシャットダウン用のオペレーティングシステムコマンドを使用)、インスタンスを終了できます。詳細については、「インスタンスによって起動されたシャットダウン動作の変更」を参照してください。

制限

スポットインスタンスの終了保護を有効にすることはできません— スポット料金が入札価格を超えると、スポットインスタンスが終了します。 しかし、スポットインスタンスの中断を処理するようにアプリケーションを準備できます。 詳細については、「スポットインスタンスの中断」を参照してください。

DisableApiTermination 属性では、Auto Scaling によるインスタンスの終了は防止されません。Auto Scaling グループ内のインスタンスについては、Amazon EC2 の終了の防止ではなく Auto Scaling の次の機能を使用します。

  • Auto Scaling グループ内のインスタンスがスケールイン時に終了されないようにするには、インスタンスの保護を使用します。詳細については、「インスタンスの保護」 (Auto Scaling ユーザーガイド) を参照してください。

  • Auto Scaling による異常なインスタンスの終了を防止するには、ReplaceUnhealthy プロセスを停止します。詳細については、「Auto Scaling プロセスの停止と再開」 (Auto Scaling ユーザーガイド) を参照してください。

  • Auto Scaling によってどのインスタンスを最初に終了するかを指定するには、終了ポリシーを選択します。詳細については、「終了ポリシーのカスタマイズ」 (Auto Scaling ユーザーガイド) を参照してください。

To enable termination protection for an instance at launch time

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. On the dashboard, choose Launch Instance and follow the directions in the wizard.

  3. On the Configure Instance Details page, select the Enable termination protection check box.

To enable termination protection for a running or stopped instance

  1. Select the instance, choose Actions, Instance Settings, and then choose Change Termination Protection.

  2. Select Yes, Enable.

To disable termination protection for a running or stopped instance

  1. Select the instance, select Actions, select Instance Settings, and then choose Change Termination Protection.

  2. Select Yes, Disable.

コマンドラインを使用して終了保護を有効または無効にするには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

インスタンスによって起動されたシャットダウン動作の変更

デフォルトでは、Amazon EBS-Backed インスタンスからシャットダウンを開始すると (shutdownhaltpoweroff などのコマンドを使用)、インスタンスが停止します。代わりに終了できるように、インスタンスの InstanceInitiatedShutdownBehavior 属性を使用して、この動作を変更できます。インスタンスの実行中または停止中に、この属性を更新できます。

instance store-backed インスタンスは終了できますが、停止できない点に注意してください。

InstanceInitiatedShutdownBehavior 属性は Amazon EC2 コンソールまたはコマンドラインを使用して更新できます。 InstanceInitiatedShutdownBehavior 属性は、インスタンス自体のオペレーティングシステムからシャットダウンを実行する場合にのみ適用されます。これは StopInstances API または Amazon EC2 コンソールを使用してインスタンスを停止する場合には適用されません。

To change the shutdown behavior of an instance using the console

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. In the navigation pane, choose Instances.

  3. Select the instance, select Actions, Instance Settings, and then choose Change Shutdown Behavior. The current behavior is already selected.

  4. To change the behavior, select an option from the Shutdown behavior list, and then select Apply.

    
						The Change Shutdown Behavior dialog box

コマンドラインを使用してインスタンスのシャットダウン動作を変更するには

次のコマンドの 1 つを使用できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

インスタンスの終了で Amazon EBS ボリュームを保持する

インスタンスが終了すると、Amazon EC2 はアタッチされた各 Amazon EBS ボリュームの DeleteOnTermination 属性の値を使用して、ボリュームを保持するか削除するかを決定します。

デフォルトでは、インスタンスのルートボリュームの DeletionOnTermination 属性は true に設定されます。したがって、デフォルトではインスタンスの終了時に、インスタンスのルートボリュームが削除されます。

デフォルトでは、インスタンスに EBS ボリュームをアタッチするときは、DeleteOnTermination 属性が false に設定されます。したがって、デフォルトではこれらのボリュームが保持されます。インスタンスが終了したら、保持されたボリュームのスナップショットを作成するか、別のインスタンスにアタッチできます。

使用中の EBS ボリュームの DeleteOnTermination 属性の値を確認するには、インスタンスのブロックデバイスマッピングを参照します。詳細については、「インスタンスブロックデバイスマッピングの EBS ボリュームの表示」を参照してください。

インスタンスの起動時またはインスタンスの実行中に、ボリュームの DeleteOnTermination 属性の値を変更することができます。

コンソールを使用した起動時のルートボリュームの永続的な変更

コンソールを使用して、インスタンスの起動時に DeleteOnTermination 属性を変更できます。実行中のインスタンスのこの属性を変更するには、コマンドラインを使用する必要があります。

To change the root volume of an instance to persist at launch using the console

  1. https://console.aws.amazon.com/ec2/) にある Amazon EC2 コンソールを開きます。

  2. From the console dashboard, select Launch Instance.

  3. On the Choose an Amazon Machine Image (AMI) page, choose an AMI and choose Select.

  4. Follow the wizard to complete the Choose an Instance Type and Configure Instance Details pages.

  5. On the Add Storage page, deselect the Delete On Termination check box for the root volume.

  6. Complete the remaining wizard pages, and then choose Launch.

インスタンスの詳細ペインでルートデバイスボリュームの詳細を表示することにより、設定を確認できます。[Block devices] の隣にあるルートデバイスボリュームのエントリをクリックします。デフォルトでは、[Delete on termination] は [True] です。デフォルトの動作を変更した場合は、[Delete on termination] が [False] になっています。

コマンドラインを使用した起動時のルートボリュームの永続的な変更

EBS-backed インスタンスの起動時に、次のコマンドのいずれかを使用して、ルートデバイスボリュームが存続するように変更することができます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

たとえば、run-instances コマンドに次のオプションを追加します。

Copy
--block-device-mappings file://mapping.json

mapping.json で以下を指定します。

Copy
[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false, "SnapshotId": "snap-1234567890abcdef0", "VolumeType": "gp2" } } ]

コマンドラインを使用して実行中のインスタンスのルートボリュームが存続するように変更する

次のいずれかのコマンドを使用して、実行中の EBS-backed インスタンスのルートデバイスボリュームを永続化するように変更できます。これらのコマンドラインインターフェイスの詳細については、Amazon EC2 へのアクセス を参照してください。

たとえば、以下の コマンドを使用します。

Copy
$ aws ec2 modify-instance-attribute --instance-id i-1234567890abcdef0 --block-device-mappings file://mapping.json

mapping.json で以下を指定します。

Copy
[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]

トラブルシューティング

インスタンスが通常より長く shutting-down 状態になっている場合、最終的に Amazon EC2 サービス内の自動プロセスによってクリーンアップ (終了) されます。詳細については、「インスタンスの終了 (シャットダウン) のトラブルシューティング」を参照してください。