如何使用 AWS CLI 從 AWS Backup 復原點還原 Amazon EC2 執行個體?
我想要從 AWS Backup 復原點還原 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體。我想要使用 AWS Command Line Interface (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
**注意:**您可以將執行個體中繼資料定義為 start-restore-job 命令的參數,而不是使用 JSON 檔案。若要這麼做,請以下列格式執行 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\"}]"}'
相關內容
- 已提問 10 個月前lg...
- 已提問 9 個月前lg...
- 已提問 5 個月前lg...
- 已提問 5 個月前lg...
- AWS 官方已更新 2 年前
- AWS 官方已更新 2 年前
- AWS 官方已更新 3 年前
- AWS 官方已更新 1 年前