メニュー
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 マネジメントコンソール またはコマンドラインを使用して終了できます。

コンソールを使用してインスタンスを終了するには

  1. インスタンスを終了する前に、終了時に Amazon EBS ボリュームが削除され、必要な任意のデータをインスタンスストアボリュームから Amazon EBS または Amazon S3 にコピーしていることを確認して、データが失われないことを確認します。

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

  3. ナビゲーションペインで [Instances] を選択します。

  4. インスタンスを選択し、[Actions]、[Instance State]、[Terminate] の順に選択します。

  5. 確認を求めるメッセージが表示されたら、[Yes, Terminate] を選択します。

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

次のコマンドの 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 ユーザーガイド) を参照してください。

起動時にインスタンスに対する終了保護を有効にするには

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

  2. ダッシュボードで、[Launch Instance] を選択し、ウィザードの指示にしたがいます。

  3. [Configure Instance Details] ページで、[Enable termination protection] チェックボックスをオンにします。

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

  1. インスタンスを選択し、[Actions]、[Instance Settings] を選択した後、[Change Termination Protection] を選択します。

  2. [Yes, Enable] を選択します。

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

  1. インスタンスを選択し、[Actions]、[Instance Settings] を選択した後、[Change Termination Protection] を選択します。

  2. [Yes, Disable] を選択します。

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

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

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

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

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

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

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

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

  2. ナビゲーションペインで、[Instances] を選択します。

  3. インスタンスを選択し、[Actions]、[Instance Settings] を選択した後、[Change Shutdown Behavior] を選択します。 現在の動作は既に選択されています。

  4. 動作を変更するには、[Shutdown behavior] リストからオプションを選択し、[Apply] を選択します。

     [Change Shutdown Behavior] ダイアログボックス

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

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

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

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

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

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

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

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

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

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

コンソールを使用して、起動時にインスタンスのルートボリュームが存続するように変更するには

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

  2. コンソールダッシュボードで、[Launch Instance] を選択します。

  3. [Choose an Amazon Machine Image (AMI)] ページで、AMI を選択し、[Select] を選択します。

  4. ウィザードにしたがって [Choose an Instance Type] ページと [Configure Instance Details] ページを設定します。

  5. [Add Storage] ページで、ルートボリュームの [Delete On Termination] チェックボックスの選択を解除します。

  6. ウィザードの残りのページを完了した後、[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 サービス内の自動プロセスによってクリーンアップ (終了) されます。詳細については、「インスタンスの削除 (シャットダウン) のトラブルシューティング」を参照してください。