Knowledge Center Monthly Newsletter - March 2025
Stay up to date with the latest from the Knowledge Center. See all new and updated Knowledge Center articles published in the last month and re:Post’s top contributors.
AWS CLI を使用して AWS Backup のリカバリポイントから Amazon EC2 インスタンスを復元するにはどうすればよいですか?
AWS Backup のリカバリポイントから Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを復元したいと考えています。AWS コマンドラインインターフェイス (AWS CLI) を使ってこのインスタンスを復元するには、どうすればよいですか?
解決方法
注: AWS CLI コマンドの実行時にエラーが発生した場合は、AWS CLI の最新バージョンを使用していることを確認してください。
1. list-recovery-points-by-backup-vault コマンドを実行して、ボールト内のすべてのリカバリポイントを一覧表示します。
aws backup list-recovery-points-by-backup-vault --backup-vault-name Default --output json --query 'RecoveryPoints[].[BackupVaultName,RecoveryPointArn]'
2. コマンド出力で、復元するリカバリポイントの RecoveryPointArn をコピーします。
3. get-recovery-point-restore-metadata コマンドを実行して、復元する Amazon EC2 インスタンスのメタデータを取得します。
aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:eu-west-1::image/ami-012ab3456789c0123
4. 次のようなコマンド出力をコピーします。
{ "BackupVaultArn": "arn:aws:backup:eu-west-1:123456789012:backup-vault:Default", "RecoveryPointArn": "arn:aws:ec2:eu-west-1::image/ami-012ab3456789c0123", "RestoreMetadata": { "CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}", "CpuOptions": "{\"CoreCount\":1,\"ThreadsPerCore\":1}", "CreditSpecification": "{\"CpuCredits\":\"standard\"}", "DisableApiTermination": "false", "EbsOptimized": "false", "HibernationOptions": "{\"Configured\":false}", "IamInstanceProfileName": "ServerAccess", "InstanceInitiatedShutdownBehavior": "stop", "InstanceType": "t2.micro", "KeyName": "BackupTesting", "Monitoring": "{\"State\":\"disabled\"}", "NetworkInterfaces": "[{\"AssociatePublicIpAddress\":true,\"DeleteOnTermination\":true,\"Description\":\"\",\"DeviceIndex\":0,\"Groups\":[\"sg-0babcd1234567890f\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"NetworkInterfaceId\":\"eni-12345678a9b0cd1e2\",\"PrivateIpAddress\":\"192.0.2.206\",\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"192.0.2.206\"}],\"SecondaryPrivateIpAddressCount\":0,\"SubnetId\":\"subnet-1a2b3c4d\",\"InterfaceType\":\"interface\"}]", "Placement": "{\"AvailabilityZone\":\"eu-west-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}", "SecurityGroupIds": "[\"sg-0babcd1234567890f\"]", "SubnetId": "subnet-1a2b3c4d", "VpcId": "vpc-1a2b3c4d", "aws:backup:request-id": "c1234567-ee7c-4896-beeb-ee123b456789" } }
5. コマンド出力を編集して、次のメタデータフィールドと値のみを保持します。
{ "VpcId": "vpc-1a2b3c4d", "Monitoring": "{\"State\":\"disabled\"}", "CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}", "InstanceInitiatedShutdownBehavior": "stop", "DisableApiTermination": "false", "KeyName": "BackupTesting", "CreditSpecification": "{\"CpuCredits\":\"standard\"}", "HibernationOptions": "{\"Configured\":false}", "EbsOptimized": "false", "Placement": "{\"AvailabilityZone\":\"eu-west-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}", "aws:backup:request-id": "c1234567-ee7c-4896-beeb-ee123b456789", "InstanceType": "t2.micro", "NetworkInterfaces": "[{\"DeleteOnTermination\":true,\"Description\":\"Primary network interface\",\"DeviceIndex\":0,\"Groups\":[\"sg-0babcd1234567890f\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"192.0.2.210\"}],\"SecondaryPrivateIpAddressCount\":1,\"SubnetId\":\"subnet-1a2b3c4d\",\"InterfaceType\":\"interface\"}]" }
6. 元のインスタンスがまだ使用中の場合は、メタデータ出力のプライマリプライベート IP アドレスも変更する必要があります。NetworkInterfaces メタデータフィールドで、Primary PrivateIpAddress を、get-recovery-point-restore-metadata コマンドによって最初に返されたアドレスとは異なる IP アドレスに変更します。次の条件では、メタデータのプライマリプライベート IP アドレスを変更する必要はありません。
- スポットインスタンスが終了されている。
- 元の IP アドレスを使用したい (インプレースリストア)。
7. 編集したメタデータを JSON ファイルに保存します。ファイルに ec2-restore-metadata.json という名前を付けることができます。
8. start-restore-job コマンドを実行して、--recovery-point-arn をステップ 2 でコピーした RecoveryPointArn に設定し、--metadata をステップ 5 で作成した JSON ファイルに設定します。
aws backup start-restore-job --region eu-west-1 --recovery-point-arn "arn:aws:ec2:eu-west-1::image/ami-012ab3456789c0123" --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" --metadata file://ec2-restore-metadata.json
注意: JSON ファイルを使用する代わりに、start-restore-job コマンド内でインスタンスメタデータをパラメータとして定義できます。これを行うには、start-restore-job コマンドを次の形式で実行します。
aws backup start-restore-job --region eu-west-1 --recovery-point-arn "arn:aws:ec2:eu-west-1::image/ami-012ab3456789c0123" --iam-role-arn "arn:aws:iam::123456789012:role/service-role/AWSBackupDefaultServiceRole" --metadata '{"VpcId": "vpc-1a2b3c4d", "Monitoring": "{\"State\":\"disabled\"}", "CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}", "InstanceInitiatedShutdownBehavior": "stop", "DisableApiTermination": "false", "KeyName": "BackupTesting", "CreditSpecification": "{\"CpuCredits\":\"standard\"}", "HibernationOptions": "{\"Configured\":false}", "EbsOptimized": "false", "Placement": "{\"AvailabilityZone\":\"eu-west-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}", "aws:backup:request-id": "c1234567-ee7c-4896-beeb-ee123b456789", "InstanceType": "t2.micro", "NetworkInterfaces": "[{\"DeleteOnTermination\":true,\"Description\":\"Primary network interface\",\"DeviceIndex\":0,\"Groups\":[\"sg-0babcd1234567890f\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.31.32.210\"}],\"SecondaryPrivateIpAddressCount\":1,\"SubnetId\":\"subnet-1a2b3c4d\",\"InterfaceType\":\"interface\"}]"}'

関連するコンテンツ
- 質問済み 2ヶ月前lg...
- 質問済み 7ヶ月前lg...
- AWS公式更新しました 3年前
- AWS公式更新しました 3年前