Amazon EC2 インスタンスの終了後も Amazon EBS ルートボリュームを保持する - Amazon Elastic Compute Cloud

Amazon EC2 インスタンスの終了後も Amazon EBS ルートボリュームを保持する

デフォルトでは、インスタンスの Amazon EBS ルートボリュームは、インスタンスを終了すると削除されます。インスタンスの終了後も Amazon EBS ルートボリュームが永続化するように、デフォルトの動作を変更できます。デフォルトの動作を変更するには、DeleteOnTermination 属性を false に設定します。これは、インスタンスの起動時または後で実行できます。

インスタンスの起動時に永続化するためのルートボリュームの設定

インスタンスの起動時に永続化するようにルートボリュームを設定できます。

Console
コンソールを使用してインスタンスの起動時に永続化するようにルートボリュームを設定するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [インスタンス]、[インスタンスの作成] の順に選択します。

  3. Amazon マシンイメージ (AMI) を選択して、インスタンスタイプ、キーペアの順に選択し、ネットワークを設定します。

  4. [ストレージを設定] には [アドバンスト] を選択します。

  5. ルートボリュームを拡張します。

  6. [終了時に削除] には、[いいえ] を選択します。

  7. インスタンスの設定が終了したら、[インスタンスを起動] をクリックします。

AWS CLI
AWS CLI を使用してインスタンスの起動時に永続化するようにルートボリュームを設定するには

run-instances コマンドを使用して、DeleteOnTermination 属性を false に設定するブロックデバイスマッピングを含めます。

aws ec2 run-instances --block-device-mappings file://mapping.json ...other parameters...

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

[ { "DeviceName": "/dev/sda1", "Ebs": { "DeleteOnTermination": false } } ]
Tools for Windows PowerShell
Tools for Windows PowerShell を使用してインスタンスの起動時に永続化するようにルートボリュームを設定するには

New-EC2Instance コマンドを使用して、DeleteOnTermination 属性を false に設定するブロックデバイスマッピングを含めます。

C:\> $ebs = New-Object Amazon.EC2.Model.EbsBlockDevice C:\> $ebs.DeleteOnTermination = $false C:\> $bdm = New-Object Amazon.EC2.Model.BlockDeviceMapping C:\> $bdm.DeviceName = "dev/xvda" C:\> $bdm.Ebs = $ebs C:\> New-EC2Instance -ImageId ami-0abcdef1234567890 -BlockDeviceMapping $bdm ...other parameters...

既存のインスタンスで永続化するためのルートボリュームの設定

実行中のインスタンスで永続化するようにルートボリュームを設定できます。Amazon EC2 コンソールを使用してこのタスクを完了することはできないことに留意してください。

AWS CLI
AWS CLI を使用して、既存のインスタンスで永続化するようにルートボリュームを設定するには

DeleteOnTermination 属性を false に設定するブロックデバイスマッピングを指定して modify-instance-attribute コマンドを使用します。

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

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

[ { "DeviceName": "/dev/xvda", "Ebs": { "DeleteOnTermination": false } } ]
Tools for Windows PowerShell
AWS Tools for Windows PowerShell を使用して、既存のインスタンスで永続化するようにルートボリュームを設定するには

DeleteOnTermination 属性を false に設定するブロックデバイスマッピングを指定して Edit-EC2InstanceAttribute コマンドを使用します。

C:\> $ebs = New-Object Amazon.EC2.Model.EbsInstanceBlockDeviceSpecification C:\> $ebs.DeleteOnTermination = $false C:\> $bdm = New-Object Amazon.EC2.Model.InstanceBlockDeviceMappingSpecification C:\> $bdm.DeviceName = "/dev/xvda" C:\> $bdm.Ebs = $ebs C:\> Edit-EC2InstanceAttribute -InstanceId i-1234567890abcdef0 -BlockDeviceMapping $bdm

ルートボリュームが永続化するように設定されていることの確認

Amazon EC2 コンソールまたはコマンドラインツールを使用して、ルートボリュームが永続化するように設定されていることを確認できます。

Console
Amazon EC2 コンソールを使用してルートボリュームが永続化するように設定されていることを確認するには
  1. Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。

  2. ナビゲーションペインで [インスタンス] を選択してから、インスタンスを選択します。

  3. [ストレージ] タブの [ブロックデバイス] で、ルートボリュームのエントリを見つけます。[合わせて削除] が No の場合、ボリュームは永続化するように設定されます。

AWS CLI
AWS CLI を使用してルートボリュームが永続化するように設定されていることを確認するには

describe-instances コマンドを使用して、DeleteOnTermination レスポンス要素の BlockDeviceMappings 属性が false に設定されていることを確認します。

aws ec2 describe-instances --instance-id i-1234567890abcdef0
... "BlockDeviceMappings": [ { "DeviceName": "/dev/sda1", "Ebs": { "Status": "attached", "DeleteOnTermination": false, "VolumeId": "vol-1234567890abcdef0", "AttachTime": "2013-07-19T02:42:39.000Z" } } ...
Tools for Windows PowerShell
AWS Tools for Windows PowerShell を使用してルートボリュームが永続化するように設定されていることを確認するには

Get-EC2Instance コマンドを使用して、DeleteOnTermination レスポンス要素の BlockDeviceMappings 属性が false に設定されていることを確認します。

C:\> (Get-EC2Instance -InstanceId i-i-1234567890abcdef0).Instances.BlockDeviceMappings.Ebs