スナップショットを使用した Amazon EBS ボリュームの置き換え
Amazon EBS スナップショットは、速度、利便性、コストに優れるため、Amazon EC2 で推奨されるバックアップツールです。スナップショットからボリュームを作成すると、すべてのデータをそのままの状態で、過去の特定時点の状態が再作成されます。スナップショットから作成されたボリュームをインスタンスにアタッチすることで、リージョン間でのデータの複製、テスト環境の作成、損傷または破損した本稼働ボリュームの完全な置換、特定のファイルとディレクトリの取得とアタッチされた別のボリュームへの転送を行うことができます。詳細については、「Amazon EBS スナップショット」を参照してください。
Amazon EBS ボリュームを、そのボリュームの以前のスナップショットから作成された別のボリュームに置き換えるには、次の手順のいずれかを使用できます。
要件
インスタンスと同じアベイラビリティーゾーンに新しい EBS ボリュームを作成する必要があります。ボリュームは、インスタンスと同じアベイラビリティーゾーンにアタッチする必要があります。
- Console
-
ボリュームを置き換えるには
-
スナップショットからボリュームを作成し、新しいボリュームの ID を書き留めます。詳細については、「Amazon EBS ボリュームの作成」を参照してください。
-
[インスタンス] ページで、ボリュームを置き換えるインスタンスを選択し、インスタンス ID を書き留めます。
インスタンスが選択された状態で、[Storage] (ストレージ) タブを選択します。[Block devices] (ブロックデバイス) セクションで、置き換えるボリュームを検索し、ボリュームのデバイス名を書き留めます (例:
/dev/sda1)。 -
[ストレージ] タブで、ボリューム ID を選択し、インスタンスからボリュームをアンマウントおよびデタッチします。
-
ステップ 1 で作成した新しいボリュームを選択し、[Actions] (アクション)、[Attach volume] (ボリュームのアタッチ) を選択します。
[Instance] (インスタンス) および [Device name] (デバイス名) に、ステップ 2 で書き留めたインスタンス ID とデバイス名を入力し、[Attach volume] (ボリュームのアタッチ) を選択します。
-
インスタンスに接続し、ボリュームをマウントします。詳細については、「Amazon EBS ボリュームを使用できるようにする」を参照してください。
-
- AWS CLI
-
ボリュームを置き換えるには
-
スナップショットから新しいボリュームを作成します。create-volume コマンドを使用して、
--snapshot-idオプションを指定します。--availability-zoneには、インスタンスと同じアベイラビリティーゾーンを指定します。出力で、新しいボリュームの ID を書き留めます。aws ec2 create-volume \ --volume-typegp3\ --snapshot-idsnap-0abcdef1234567890\ --availability-zoneus-east-1a -
置き換えるボリュームのデバイス名を取得します。describe-instances コマンドを使用します。
--instance-idsには、ボリュームを置き換えるインスタンスの ID を指定します。置き換えるボリュームのデバイス名とボリューム ID を書き留めます。aws ec2 describe-instances \ --instance-idsi-1234567890abcdef0\ --query Reservations[].Instances[].BlockDeviceMappings -
交換するボリュームをインスタンスからデタッチします。detach-volume コマンドを使用します。
aws ec2 detach-volume --volume-idvol-xxxxxxxxxxxxxxxxx -
置換ボリュームをインスタンスにアタッチします。attach-volume コマンドを使用します。
--volume-idには、置き換えるボリュームの ID を指定します。--instance-idには、ボリュームをアタッチするインスタンスの ID を指定します。--deviceには、先ほどメモしたものと同じデバイス名を指定します。aws ec2 attach-volume \ --volume-idvol-01234567890abcdef\ --instance-idi-1234567890abcdef0\ --device/dev/sdf -
インスタンスに接続し、ボリュームをマウントします。詳細については、「Amazon EBS ボリュームを使用できるようにする」を参照してください。
-
- PowerShell
-
ボリュームを置き換えるには
-
スナップショットから新しいボリュームを作成します。
-SnapshotIdオプションで New-EC2Volume コマンドレットを使用します。-AvailabilityZoneには、インスタンスと同じアベイラビリティーゾーンを指定します。出力で、新しいボリュームの ID を書き留めます。New-EC2Volume ` -VolumeTypegp3` -SnapshotIdsnap-0abcdef1234567890` -AvailabilityZoneus-east-1a -
置き換えるボリュームのデバイス名を取得します。Get-EC2Instance コマンドレットを使用します。
-InstanceIdには、ボリュームを置き換えるインスタンスの ID を指定します。置き換えるボリュームのデバイス名とボリューム ID を書き留めます。(Get-EC2Instance ` -InstanceIdi-1234567890abcdef0).Instances.BlockDeviceMappings | ` Format-Table DeviceName, @{Name="VolumeId";Expression={$_.Ebs.VolumeId}} -
交換するボリュームをインスタンスからデタッチします。Dismount-EC2Volume コマンドレットを使用します。
DismountEC2Volume -VolumeIdvol-xxxxxxxxxxxxxxxxx -
置換ボリュームをインスタンスにアタッチします。Add-EC2Volume コマンドレットを使用します。
-VolumeIdには、置き換えるボリュームの ID を指定します。-InstanceIdには、ボリュームをアタッチするインスタンスの ID を指定します。-Deviceには、先ほどメモしたものと同じデバイス名を指定します。Add-EC2Volume` -VolumeIdvol-01234567890abcdef` -InstanceIdi-1234567890abcdef0` -Device/dev/sdf -
インスタンスに接続し、ボリュームをマウントします。詳細については、「Amazon EBS ボリュームを使用できるようにする」を参照してください。
-