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.
Wie kann ich mithilfe der AWS-CLI eine Amazon EC2-Instance von einem AWS Backup-Wiederherstellungspunkt aus wiederherstellen?
Ich möchte eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance mit einem AWS Backup-Wiederherstellungspunkt wiederherstellen. Ich möchte die Instance mithilfe der AWS Command Line Interface (AWS CLI) wiederherstellen.
Lösung
Hinweis: Wenn Sie beim Ausführen von AWS-CLI-Befehlen Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS-CLI verwenden.
1.Führen Sie den Befehl list-recovery-points-by-backup-vault aus, um alle Wiederherstellungspunkte in Ihrem Tresor aufzulisten:
aws backup list-recovery-points-by-backup-vault --backup-vault-name Default --output json --query 'RecoveryPoints[].[BackupVaultName,RecoveryPointArn]'
2.Kopieren Sie in der Befehlsausgabe den RecoveryPointArn für den Wiederherstellungspunkt, den Sie wiederherstellen möchten.
3.Führen Sie den Befehl get-recovery-point-restore-metadata aus, um die Metadaten der Amazon EC2-Instance abzurufen, die Sie wiederherstellen möchten:
aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:eu-west-1::image/ami-012ab3456789c0123
4.Kopieren Sie die Befehlsausgabe, die der folgenden ähnelt:
{ "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.Bearbeiten Sie die Befehlsausgabe, um nur die folgenden Metadatenfelder und -werte beizubehalten:
{ "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.Wenn die ursprüngliche Instance noch verwendet wird, müssen Sie auch die primäre private IP-Adresse in der Metadatenausgabe ändern. Ändern Sie im Metadatenfeld NetworkInterfaces die Primary PrivateIpAddress zu einer anderen IP-Adresse als die, die ursprünglich vom Befehl get-recovery-point-restore-metadata zurückgegeben wurde. Unter den folgenden Bedingungen müssen Sie die primäre private IP-Adresse in den Metadaten nicht ändern:
- Ihre Instance wurde beendet.
- Sie möchten die ursprüngliche IP-Adresse verwenden (direkte Wiederherstellung).
7.Speichern Sie die bearbeiteten Metadaten in einer JSON-Datei. Sie können die Datei ec2-restore-metadata.json nennen.
8.Führen Sie den Befehl start-restore-job aus, wobei --recovery-point-arn auf den RecoveryPointArn eingestellt ist, den Sie in Schritt 2 kopiert haben, und --metadataauf die JSON-Datei gesetzt ist, die Sie in Schritt 5 erstellt haben.
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
Hinweis: Sie können die Instance-Metadaten als Parameter innerhalb des Befehls start-restore-job definieren, anstatt eine JSON-Datei zu verwenden. Führen Sie dazu den Befehl start-restore-job in diesem Format aus:
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\"}]"}'

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 3 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Jahren