デフォルトでは、インスタンスの Amazon EBS ルートボリュームは、インスタンスを終了すると削除されます。インスタンスの終了後も Amazon EBS ルートボリュームが永続化するように、デフォルトの動作を変更できます。デフォルトの動作を変更するには、DeleteOnTermination
属性を false
に設定します。これは、インスタンスの起動時または後で実行できます。
インスタンスの起動時に永続化するためのルートボリュームの設定
インスタンスの起動時に永続化するようにルートボリュームを設定できます。
- Console
-
コンソールを使用してインスタンスの起動時に永続化するようにルートボリュームを設定するには
-
Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
-
ナビゲーションペインで [インスタンス]、[インスタンスの作成] の順に選択します。
-
Amazon マシンイメージ (AMI) を選択して、インスタンスタイプ、キーペアの順に選択し、ネットワークを設定します。
-
[ストレージを設定] には [アドバンスト] を選択します。
-
ルートボリュームを拡張します。
-
[終了時に削除] には、[いいえ] を選択します。
-
インスタンスの設定が終了したら、[インスタンスを起動] をクリックします。
- 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
-
- 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