Connect 2 virtual machines in different countries through Azure cloud - azure

I want to connect 2 virtual machines, one is in North America and the other one in Asia.
When I say I want to connect 2 virtual machines, it is simply that once this tunnel is established, they can talk to each other by IP and connect/talk to each other as if in the same network. Only these 2 machines will talk to each other.
I would like this connection to pass through the Azure cloud as such:
Machine in North America will connect to the Azure cloud in North America.
Machine in Asia will connect to the Azure could in Asia.
Data between North America and Asia will be Azure cloud to Azure cloud only.
I have read on bastion, gateway and other Azure network offerings but I am not certain of what I need to actually make this happen. I feel a bit overwhelmed with all the products Azure offers and I am not sure what I should be using to do what I need.

• Since you want to deploy one of your virtual machines in North America region and the other one in Asia, and further you want the communication between them to happen over Azure cloud itself, then would suggest you to please use the ‘Global VNET peering’ option for this purpose. As you will deploy virtual machines in the respective region’s virtual network which are managed by Azure service fabric’s network resource provider, you can peer these virtual networks which are deployed in their respective regions over Azure’s backbone network itself and accordingly open the ports through the virtual machine’s independent network security group. An illustration of the above scenario is given below: -
• A second way to connect two VNETs in different locations is by using a VNET-to-VNET connection. A VNET-to-VNET connection is essentially a VPN between the two different Azure locations. The VNET-to-VNET connection is established on a VPN gateway. This means your traffic will incur two additional traffic hops as compared to global VNET peering (the two gateways on each end). This also means that you will incur additional latency, and the VPN gateways can become a bandwidth chokepoint. The one benefit of using a VNET-to-VNET connection is that the traffic between the different Azure regions will be encrypted using IPSEC. VNET peering runs over the Microsoft backbone unencrypted, while a VNET-to-VNET connection uses IPSEC to connect the two VNETs together. An illustration of the above said is given below: -
• Also, you can use ‘Expressroute’ to connect VNETs in multiple Azure regions together. Each VNET that is connected to an Expressroute circuit, becomes part of the same routing domain. This means that each VNET that is connected to Expressroute, regardless of whether it is in the same region or in a different region, will have connectivity to each other. The downside of this connection model is that all the traffic is hair pinned over the Expressroute peering location. This means you introduce additional network latency. The connection between the two gateways would happen at the peering location but would not go over the peered network. Meaning, the connection stays on the Microsoft network, but the hairpin happens at the peering location. An illustration of the above said is given below: -

Related

How to connect overlapping VNets in Azure?

I am working on an Azure-based networking solution.
We have a typical hub and spoke VNets topology. The Hub VNet connects to on-prem DC via ExpressRoute and spoke VNets peer to Hub VNet. There is an Azure Firewall in the Hub that filters traffic between Hub-spokes and hub-on-prem segments. GREEN in the diagram
We have a bizarre requirement of adding a new isolated VNet (RED in the diagram) that will have overlapping IPs with the existing network (GREEN). We want to allow workloads in this new VNet to access private apps deployed in Hub or on-prem.
I need help on how to achieve this connectivity.
Note: We don't want to set up any VPN between the new VNet and Hub
As you might appreciate, this is more of a general networking limitation moreso than an Azure limitation. If we want two different networks with overlapping IP addresses to communicate then we would need networking devices in between both networks that perform some form of network address translation so the IP addresses appear to be different to the communicating hosts. Below is an example from the Azure documentation
Logically you have two options here:
Create your own network devices and configure routes between these subnets to transit your virtual appliance that does the translation.
Use the managed service from Azure. In this case, it's the Azure VPN Gateway
I saw your note above for not wanting to use any VPN devices. Having said that, however, generally speaking it is usually a better option from an availability & supportability perspective to leverage the built-in offering vs. hand rolling your own virtual appliance using IP tables or a Windows NAT Router or something similar. Hope this clarifies.
It is not possible to peer Virtual Networks with overlapping IP addresses. This is documented here. You will have to move to a different address space and move/recreate resources under this new address space.
If it helps you can take a look at this Checklist before moving resources.

Azure Web App connecting to SQL FO Group over Private Link

I would like to know few things about my web apps hosted in Central US connecting to Azure SQL FO group connection string. The Primary SQL is hosted in the same region which is Central US and the Secondary Replica is hosted in East US 2.
I am considering using Private Link for Azure SQL.So in order for my web app to talk to the Azure SQL over the private endpoint, i have to enable regional VNET integration for my Web App as i read in MS Docs.
So at the moment i have two subnets in Central US and one of the subnets i have to dedicate for creating VNET integration for my Web Apps. The other subnet will be hosting my SQL Private Endpoint.
I have already enabled Global VNET peering between Primary Central US and the Secondary VNET in East US 2.
So i would like to know whether during a disaster and after a failover happens for my SQL from Primary Central US to secondary East US 2, will my Web Apps automatically connect to the SQL FO group read/write listener after i enable private link for my Azure SQL.
I don't understand what it means by this below as per the link :
https://learn.microsoft.com/en-us/azure/architecture/example-scenario/private-web-app/private-web-app
Global peering
Any service in any Azure region that can connect through the Virtual Network can reach the database's private endpoint, for example through Virtual Network peering in hub-and-spoke topologies. However, for App Service regional VNet Integration, the peered Virtual Networks must be located in the same Azure region.
As per the line "However, for App Service regional VNet Integration, the peered Virtual Networks must be located in the same Azure region.", my peered virtual network is from Central US to East US 2 which is like Global Peering.
So how this statement applies to in my case.
Looking forward to some pointers

Two VMs connected through VNet-to-VNet not pinging each other

Again, I tried to create a VNet-to-VNet connection.
Briefly, I created
Gateway Subnet at East US Region
Gateway Subnet at West US Region
Virtual Network Gateway for East US Region and
Virtual Network Gateway for West US Region
Using Connection type VNet-to-VNet, I connected both Virtual Network Gateway from both sides.
I created connection between both Virtual Network Gateway.
The status of both connections says, Connected.
Windows Server Domain Controller is set up at East US and Windows 10 is installed at West US.
Windows 10 is unable to ping and join the Windows Server Domain Controller.
While joining the Domain Controller, the error message is
The issue is
I am able to connect both VMs which is at two different VNets using RDP with Public IP.
Both VMs’ virtual network gateways are also connected to each other through Connections.
I am able to connect one VM from another using RDP with Private IP.
But I am not able to join Windows 10 VM to Windows Server 2016 Domain Controller.
I request please go through the link https://1drv.ms/u/s!Ail_S1qZOKPmlgBU5fLviInoisrx?e=ImrqpL and help me to fix the issue related to VNet-to-Vnet Connection so that Windows 10 VM from one VNet can join the Windows Server 2016 Domain Controller VM which is at another VNet.
I hope you'll consider it positively.
Regards
TekQ
You might have to create routes, you are not using recommended private address space so routes are not created for you.
Azure automatically creates default routes
for the following address prefixes: 10.0.0.0/8, 172.16.0.0/12, and 192.168.0.0/16: Reserved for private use in RFC 1918.
100.64.0.0/10: Reserved in RFC 6598.
Check the effective routes to seen next hop for traffic in the peering address space.
https://learn.microsoft.com/en-us/azure/virtual-network/diagnose-network-routing-problem
Additional Information on VNet Routing
https://learn.microsoft.com/en-us/azure/virtual-network/virtual-networks-udr-overview
Instead of rely on Vnet Gateway and VPN S2S, you could as well using Vnet Peering between region.
https://learn.microsoft.com/en-us/azure/virtual-network/virtual-network-peering-overview
I agree with the other answers. Global VNet Peering would remove the necessity of using a VPN GW, which greatly simplifies the environment and removes the monthly cost of hosting a pair of GWs. Assuming you need those GWs for other connections to VPN devices on-premises, then you can still use this design.
As Hannel pointed out, you're using public ranges for your private networks. That is also okay, but routing would be affected for VMs in those subnets if they attempted to go to actual public IPs in those ranges. Note that Hewlett Packard owns large parts of those ranges, so if your VM needed to get info from an HP website, you would have to create manual UDRs to route that traffic to Next Hop Internet.
So, please do check your Effective Routes on your NICs. You can check this from the NIC and also from Network Watcher. This should help you identify if another route is taking precedence or even if you have a route sending traffic to a virtual appliance.
Do make sure that you chose VNet-to-VNet when you set up your connection. If you chose IPSec, then you would need to have correctly configured your local network gateways.

Q: Azure S2S VNet VPN with failover

I'm trying to setup a VPN connection from a VLAN in Azure to on-premise. We have two different ISP's on-premise and I want to setup Azure with a VPN connecting to both so that if the primary ISP is down Azure will try to connect using the secondary.
The problem is that I can't add two gateways to a single VLAN, and the one gateway will not let me add two VPN connection with the same IP address range. I can understand that if I wanted both to be active, but I want one to be standby and only used if the first disconnects.
Is this even possible? Any pointers would be great?
I have been looking at https://learn.microsoft.com/en-us/azure/vpn-gateway/vpn-gateway-highlyavailable#a-name--activeactiveonpremamultiple-on-premises-vpn-devices but that only covers active-active setup which is not what I want.
I want both VNET resouces and on-premise resources to reach each other via the same IP addresses no matter if it's the primary or secondary VPN that's connected.
I know that Azure has fail over on it's side via a standby gateway, but I want fail over when on-premise is down, not Azure.
Update
I know that Azure has fail over on it's side via a standby gateway,
but I want fail over when on-premise is down, not Azure.
Unfortunately, there is not an auto solution for on-premise failover, you could manually perform, which is the same as If the on-premises gateway IP change need to update the same entry. You need to update the local network gateway (Including the On-premises gateway IP and private range ) on the Azure side and the ISP settings where VPN is connected on the on-premise side. Please expect some downtime, because IPSEC session of ISAKMP, PH1 and PH2 Will again take place.
Besides, If you have more than one ISP and need a redundant connection to the Azure. Azure now supports redundant Site to Site VPNs.
Support multiple tunnels between a VNet and an on-premises site with automatic failover based on BGP
You can establish multiple connections between your Azure VNet and
your on-premises VPN devices in the same location. This capability
provides multiple tunnels (paths) between the two networks in an
active-active configuration. If one of the tunnels is disconnected,
the corresponding routes will be withdrawn via BGP and the traffic
automatically shifts to the remaining tunnels.
The following diagram shows a simple example of this highly available setup:
NOTE
BGP is supported on Azure VpnGw1, VpnGw2, VpnGw3, Standard and HighPerformance VPN gateways. Basic SKU is NOT supported.
BGP is supported on Route-Based VPN gateways only.

How to connect 2 cross region azure vnet using express route

I have one vnet in Australia East and another in Australia southeast
I need minimum latency setup between these 2 regions.
I am looking at ER connection to both VNET but cant find any detailed guide on this. Traffic will be bidirectional.
Please suggest if someone carried out something similar
Thanks
There are three options to achieve connecting Vnet's in different regions:
Global VNET peering
VNET-to-VNET connection
Expressroute
As for the question,
How to connect 2 cross region azure Vnet using express route ?
Each VNET that is connected to an Expressroute circuit, becomes part of the same routing domain. This means that each VNET that is connected to Expressroute, regardless of whether it is in the same region or in a different region, will have connectivity to each other.
The connection between the two gateways would happen at the peering location, but would not go over the peered network. Meaning, the connection stays on the Microsoft network, but the hairpin happens at the peering location.
Reference: How to Link Vnet to ExpressRoute Circuit

Resources