I had a curious issue recently while testing Veeam Backup for AWS. I had no issues deploying it, initializing it, configuring backups, nor restoring instances or volumes. I did however, run into an issue when performing a file-level restore (FLR). About 40 seconds after starting the FLR, I received the error (shown below) stating that the “FLR task has stopped with failures. Error: Value cannot be null. Parameter name: host”
A Quick Overview of FLRs
The Veeam Backup browser to restore individual files and folders of a backed-up EC2 instance. The FLR browser window is launched by clicking the FLR link seen on the Protected Data page after the FLR restore wizard has been launched.
Clicking the FLR link will bring up the FLR Running Sessions. The URL represents the FQDN of the Veeam worker instance launched by the FLR wizard to mount the volume containing the files you wish to restore.
The Problem is Not Really a Veeam Problem…
Read over the Veeam Backup for AWS (VBAWS) requirements page. The requirements that you see on that page should be met by deploying VBAWS using the CloudFormation template. But in troubleshooting this issue, I found a couple requirements that may be assumed to be enabled on the AWS side.
Here is the key point in regards to the error I was receiving. For FLRs to work properly, DNS resolution and hostnames must be enabled on the VPC which contains the Veeam worker instances. Consider the following from the AWS Using DNS with Your VPC page:
If both attributes are set to
true, the following occurs:
- Instances with a public IP address receive corresponding public DNS hostnames.
- The Amazon-provided DNS server can resolve Amazon-provided private DNS hostnames.
If either or both of the attributes is set to
false, the following occurs:
- Instances with a public IP address do not receive corresponding public DNS hostnames.
- The Amazon-provided DNS server cannot resolve Amazon-provided private DNS hostnames.
- Instances receive custom private DNS hostnames if there is a custom domain name in the DHCP options set. If you are not using the Amazon-provided DNS server, your custom domain name servers must resolve the hostname as appropriate.
By default, both attributes are set to
truein a default VPC or a VPC created by the VPC wizard. By default, only the
enableDnsSupportattribute is set to
truein a VPC created any other way.
In this case, VBAWS was:
- NOT installed into the default VPC and
- the VPC in which it was installed DID NOT have DNS hostnames enabled
Thus, the FQDN of the worker instance launched by the FLR wizard was not resolvable which resulted in the failure seen within the File Restore Log. Once DNS hostnames was enabled on the VPC containing the Veeam worker instances, file-level restores worked great.
In addition to the Veeam Backup for AWS requirements, make sure your VPC has DNS resolution and hostnames enabled if you intend to perform file-level restores.