I am trying to copy files from a internal(on premise) SFTP server source via self hosted IR VM(hosted in Azure) into target external azure blob storage via managed private endpoint using managed vnet IR.
As per analysis, Self hosted IR is taking precedence at both source and target and couldn't resolve the target azure blob URL within self hosted VMs
We have tried below options. Both options are not working
Below is the error being faced
ErrorCode=AzureBlobFailedToCreateContainer,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Unable to create Azure Blob container. Endpoint: 'https://xxxxxxxxxx.blob.core.windows.net/', Container Name: 'inp'.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=Microsoft.WindowsAzure.Storage.StorageException,Message=The remote name could not be resolved: 'xxxxxxxx.blob.core.windows.net',Source=Microsoft.WindowsAzure.Storage,''Type=System.Net.WebException,Message=The remote name could not be resolved: 'xxxxxxxxx.blob.core.windows.net',Source=System,'
As a workaround, we have updated/etc/hosts file with public IP address of target azure blob URL inside self hosted IR VMs and the copy activity worked fine without any issues. However, as azure blob IP address is dynamic we can't go into production with this workaround solution.
Please advise if any suggestions.
ErrorCode=AzureBlobFailedToCreateContainer,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Unable to create Azure Blob container. Endpoint: 'https://xxxxxxxxxx.blob.core.windows.net/', Container Name: 'inp'.,Source=Microsoft.DataTransfer.ClientLibrary,''Type=Microsoft.WindowsAzure.Storage.StorageException,Message=The remote name could not be resolved: 'xxxxxxxx.blob.core.windows.net',Source=Microsoft.WindowsAzure.Storage,''Type=System.Net.WebException,Message=The remote name could not be resolved: 'xxxxxxxxx.blob.core.windows.net',Source=System,'
Ensure the Azure Blob Storage Private Endpoint is correctly set up and configured: Private Endpoint Subresource: For Azure Blob, ensure that the Blob subresource is selected during the private endpoint creation. DNS Configuration: When creating the Private Endpoint, Azure should automatically link it to the Private DNS Zone (privatelink.blob.core.windows.net). If not, you'll need to manually configure it. VNet and Subnet: The Private Endpoint should be in the same VNet as your ADF Managed Virtual Network or be VNet Peered with it. Ensure that Azure Private DNS is set up for the VNet associated with ADF.
Verify that the DNS resolution correctly points to the Private IP of your Blob Storage Private Endpoint. You can test this with nslookup from a VM in the Managed VNet or from an ADF Integration Runtime.
Private DNS Zones: Ensure that the Azure Private DNS Zone (privatelink.blob.core.windows.net) is linked to the VNet where your Integration Runtime (IR) resides. DNS Resolution: If you're using a custom DNS service (outside Azure's built-in DNS), ensure it properly forwards requests for *.privatelink.blob.core.windows.net to Azure’s internal DNS.
Refer this Documentation