Run the following get-recovery-point-restore-metadata command:
aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aa
Note: Replace backup-vault-name with your vault's name and recovery-point-arn with your recovery point's Amazon Resource Name (ARN).
Example output:
{ "BackupVaultArn": "arn:aws:backup:eu-south-1:111111111111:backup-vault:Default",
"RecoveryPointArn": "arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aa",
"RestoreMetadata": {
"CapacityReservationSpecification": "{\"CapacityReservationPreference\":\"open\"}",
"CpuOptions": "{\"CoreCount\":1,\"ThreadsPerCore\":1}",
"CreditSpecification": "{\"CpuCredits\":\"standard\"}",
"DisableApiTermination": "false",
"EbsOptimized": "false",
"HibernationOptions": "{\"Configured\":false}",
"InstanceInitiatedShutdownBehavior": "stop",
"InstanceType": "t2.micro",
"Monitoring": "{\"State\":\"disabled\"}",
"NetworkInterfaces": "[{\"AssociatePublicIpAddress\":true,\"DeleteOnTermination\":true,\"Description\":\"\",\"DeviceIndex\":0,\"Groups\":[\"sg-abc123\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"NetworkInterfaceId\":\"eni-08e89a5a35a5495fe\",\"PrivateIpAddress\":\"172.16.1.5\",\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.16.1.5\"}],\"SecondaryPrivateIpAddressCount\":0,\"SubnetId\":\"subnet-0987\",\"InterfaceType\":\"interface\",\"Ipv4Prefixes\":[],\"Ipv6Prefixes\":[]}]",
"Placement": "{\"AvailabilityZone\":\"eu-south-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}",
"RequireIMDSv2": "true",
"SecurityGroupIds": "[\"sg-abc123\"]",
"SubnetId": "subnet-0987",
"VpcId": "vpc-0987",
"aws:backup:request-id": "caf1f9d4-abcd-4685-87ce-20c96c99c79c"
}
}
Manually edit the output to retain the original PrivateIpAddress. Or, change the Primary PrivateIpAddress to a different PrivateIpAddress in the NetworkInterfaces metadata field.
The following example output retains the original PrivateIpaddress:
{ "Architecture": "x86_64",
...
"NetworkInterfaces": "[{\"DeleteOnTermination\":true,\"Description\":\"Primary network interface\",\"DeviceIndex\":0,\"Groups\":[\"sg-abc123\"],\"Ipv6AddressCount\":0,\"Ipv6Addresses\":[],\"PrivateIpAddresses\":[{\"Primary\":true,\"PrivateIpAddress\":\"172.16.1.5\"}],\"SubnetId\":\"subnet-0987\",\"InterfaceType\":\"interface\",\"Ipv4Prefixes\":[],\"Ipv6Prefixes\":[]}]",
"Placement": "{\"AvailabilityZone\":\"eu-south-1b\",\"GroupName\":\"\",\"Tenancy\":\"default\"}",
"RequireIMDSv2": "false",
"RootDeviceType": "ebs",
"VirtualizationType": "hvm",
"VpcId": "vpc-xyz123",
"aws:backup:request-id": "caf1f9d4-abcd-4685-87ce-20c96c99c79c"
}
To create a script to edit the metadata, run the following get-recovery-point-restore-metadata command:
aws backup get-recovery-point-restore-metadata --backup-vault-name Default --recovery-point-arn arn:aws:ec2:eu-south-1::image/ami-001a2a3a4a00005aa | jq '.RestoreMetadata | del (.SecurityGroupIds, .SubnetId)' | jq '.NetworkInterfaces = (.NetworkInterfaces | fromjson | map(. + { Description: "Primary network interface" }) | map(del(.NetworkInterfaceId, .SecondaryPrivateIpAddressCount, .AssociatePublicIpAddress, .PrivateIpAddress)) | @json) ' > restore.json
Note: Replace backup-vault-name with your vault's name and recovery-point-arn with your recovery point's ARN.