<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>vnet Archives - Apostolidis Cloud Corner</title>
	<atom:link href="https://www.cloudcorner.gr/tag/vnet/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.cloudcorner.gr/tag/vnet/</link>
	<description>Remarks from a Cloud Architect encounters</description>
	<lastBuildDate>Tue, 24 Oct 2023 08:44:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.1</generator>

<image>
	<url>https://www.cloudcorner.gr/wp-content/uploads/2021/04/cropped-cloudcorner2-32x32.png</url>
	<title>vnet Archives - Apostolidis Cloud Corner</title>
	<link>https://www.cloudcorner.gr/tag/vnet/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Azure Routing Experiences &#124; Scenario 3</title>
		<link>https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-3/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-3/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Sun, 06 Feb 2022 19:26:16 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[dns proxy]]></category>
		<category><![CDATA[peering]]></category>
		<category><![CDATA[private endpoints]]></category>
		<category><![CDATA[route tables]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[udr]]></category>
		<category><![CDATA[virtual network]]></category>
		<category><![CDATA[virtual network gateway]]></category>
		<category><![CDATA[vnet]]></category>
		<category><![CDATA[vnet peering]]></category>
		<category><![CDATA[vpn]]></category>
		<guid isPermaLink="false">https://20.113.141.97/?p=3859</guid>

					<description><![CDATA[<p>Designing the network routing, cloud &#38; hybrid, on a Hyperscaler like Microsoft Azure can get a real pain. I got</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-3/">Azure Routing Experiences | Scenario 3</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Designing the network routing, cloud &amp; hybrid, on a Hyperscaler like Microsoft Azure can get a real pain. I got an idea, to start playing with some common scenarios and make some notes, in order to have it as a reference. I end up with three scenarios. Those scenarios are referring to internal network topology, without public access, and I focus more on the routing aspect, the DNS configuration &amp; inspection through Azure Firewall.</p>



<ul class="wp-block-list"><li><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838">Scenario 1: Hybrid connectivity with Azure VPN Gateway</a></li><li><a href="/microsoft/azure-routing-experiences-scenario-2/" data-type="post" data-id="3846">Scenario 2: Hybrid connectivity with Azure VPN Gateway &amp; Traffic Inspection with Azure Firewall</a></li><li><a href="/microsoft/azure-routing-experiences-scenario-3/" data-type="post" data-id="3859">Scenario 3: Hybrid Connectivity with Azure VPN Gateway, second level peered networks &amp; full traffic inspection with Azure Firewall</a></li></ul>



<p>At the previews posts, we covered the basics of routing traffic from/to on-premises, inspecting all traffic through Azure Firewall, and configuring the DNS for accessing the Private Endpoints. In this scenario, I am experimenting with connectivity between on-premises, the Hub &amp; Spoke networks and a second level peered network (a network that is peered behind the Spoke network). </p>



<p>Recap of Scenario 1 &amp; 2: We have a Hub network, two Spoke networks and an IPSec VPN connection with my on-premises network. We established routing all traffic through the Azure Firewall for inspection &amp; configured DNS for accessing the Private Endpoint from on-premises &amp; all Azure VNets.</p>



<p>In the third scenario, I am adding a new Spoke VNet, the &#8220;Azure 2&#8221; peered with my hub, and a third VNet, the &#8220;Azure 3&#8221; that is only peered with the &#8220;Azure 2&#8221; VNet. To enable connectivity between the &#8220;Azure 3&#8221; VNet and the rest of the networks, including the on-premises, we need a router at the &#8220;Azure 2&#8221; VNet. This can be an NVA or Azure Firewall. In my case, I added an Azure Firewall. The Azure Firewall of &#8220;Azure 2&#8221; VNet has the private IP: 192.168.200.64.</p>



<ul class="wp-block-list"><li>Azure 3 VNet, VM Subnet Route Table:<ul><li>10.0.0.0/16 NH 192.168.200.68</li><li>192.168.0.0/20 NH 192.168.200.68</li><li>192.168.4.0/24 NH 192.168.200.68</li><li>192.168.5.0/24 NH 192.168.200.68</li><li>192.168.200.0/28 NH 192.168.200.68</li></ul></li></ul>



<ul class="wp-block-list"><li>Azure 2 VNet, AzureFirewallSubnet:<ul><li>10.0.0.0/0 NH Internet</li><li>10.0.0.0/16 NH 192.168.2.4</li><li>192.168.0.0/20 NH 192.168.2.4</li><li>192.168.4.0/24 NH 192.168.2.4</li><li>192.168.5.0/24 NH 192.168.2.4</li></ul></li></ul>



<ul class="wp-block-list"><li>Azure 2 VNet, VM Subnet:<ul><li>10.0.0.0/16 NH 192.168.200.68</li><li>192.168.4.0/24 NH 192.168.200.68</li><li>192.168.5.0/24 NH 192.168.200.68</li><li>192.168.0.0/20 NH 192.168.200.68</li><li>10.100.0.0/16 NH 192.168.200.64</li></ul></li></ul>



<ul class="wp-block-list"><li>Azure Hub VNet, AzureFirewallSubet:<ul><li>10.0.0.0/0 NH Internet</li><li>192.168.200.0/28 NH 192.168.200.68</li><li>10.100.0.0/16 NH 192.168.200.68</li></ul></li><li>Azure Hub VNet, VM Subnet:<ul><li>10.0.0.0/16 NH 192.168.2.4</li><li>192.168.4.0/24 NH 192.168.2.4</li><li>192.168.5.0/24 NH 192.168.2.4</li><li><strong>192.168.4.4/32 NH 192.168.2.4</strong></li><li>192.168.200.0/24 NH 192.168.2.4</li><li>10.100.0.0/16 NH 192.168.2.4</li></ul></li><li>Azure Hub VNet, GatewaySubnet:<ul><li>192.168.0.0/24 NH 192.168.2.4</li><li>192.168.4.0/24 NH 192.168.2.4</li><li>192.168.5.0/24 NH 192.168.2.4</li><li><strong>192.168.4.4/32 NH 192.168.2.4</strong></li><li>192.168.200.0/24 NH 192.168.2.4</li><li>10.100.0.0/16 NH 192.168.2.4</li></ul></li><li>Spoke 2 VNet, VM Subnet:<ul><li>10.0.0.0/16 NH 192.168.2.4</li><li>192.168.4.0/24 NH 192.168.2.4</li><li>192.168.0.0/24 NH 192.168.2.4</li><li>192.168.200.0/24 NH 192.168.2.4</li></ul></li></ul>



<h2 class="wp-block-heading" id="routing-example">Routing Example</h2>



<p>Let&#8217;s describe a packet&#8217;s journey. The On-premises Server X (10.0.2.10) makes sends a packet to 10.100.0.4. 1st hop the packet goes to the default gateway, reaching the on-premises VPN device, in our case the RRAS. The RRAS has a custom route for 10.100.0.0/16 and forwards the packet to the VPN interface. The packet reaches the Azure VPN Gateway The Azure VPN Gateway has a custom route for 10.100.0.0/16 and forwards the packet to the HUB Azure Firewall, 192.168.2.4. The HUB Azure Firewall has a custom route for 10.100.0.0/16 and forwards the packet to the &#8220;Azure 2&#8221; Azure Firewall, 192.168.200.68. The &#8220;Azure 2&#8221; Azure Firewall does not have a custom route, but it has a route for 10.100.0.0/16 that is automatically populated by the VNet peering. The Azure FIrewall knows to forward the packet through the VNet peering and reaches the destination.</p>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/02/image.png"><img fetchpriority="high" decoding="async" width="1024" height="322" src="/wp-content/uploads/2022/02/image-1024x322.png" alt="" class="wp-image-3879" srcset="https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-1024x322.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-300x94.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-768x241.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-1536x483.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image.png 1654w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>You can find more commends and tests in the below diagram with the whole solution.</p>



<p>Diagram: (<a rel="noreferrer noopener" href="https://1drv.ms/u/s!AvpafHi49lqjgpstm9ojqEwNV80lKQ?e=60SmlZ" target="_blank">Click here to download a high-resolution SVG image</a>)</p>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio.png"><img decoding="async" width="1024" height="763" src="/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio-1024x763.png" alt="" class="wp-image-3860" srcset="https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio-1024x763.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio-300x224.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio-768x572.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio-1536x1144.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-AzFW-3rPT-BTP.drawio.png 1663w" sizes="(max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>References:<br><a href="/microsoft/azure-routing-experiences-scenario-1/">Azure Routing Experiences | Scenario 1 – Apostolidis Cloud Corner</a><br><a href="/microsoft/azure-routing-experiences-scenario-2/">Azure Routing Experiences | Scenario 2 – Apostolidis Cloud Corner</a><br><a href="https://docs.microsoft.com/en-us/azure/private-link/inspect-traffic-with-azure-firewall">Use Azure Firewall to inspect traffic destined to a private endpoint – Azure Private Link | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns">Azure Private Endpoint DNS configuration | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/dns/private-dns-virtual-network-links">What is a virtual network link subresource of Azure DNS private zones | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/firewall/dns-details">Azure Firewall DNS Proxy details | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table">Create, change, or delete an Azure route table | Microsoft Docs</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:pr&#111;xi&#109;a&#103;&#114;&#064;hot&#109;a&#105;&#108;.c&#111;&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure-routing-experiences-scenario-3%2F&amp;linkname=Azure%20Routing%20Experiences%20%7C%20Scenario%203" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure-routing-experiences-scenario-3%2F&amp;linkname=Azure%20Routing%20Experiences%20%7C%20Scenario%203" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure-routing-experiences-scenario-3%2F&#038;title=Azure%20Routing%20Experiences%20%7C%20Scenario%203" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-3/" data-a2a-title="Azure Routing Experiences | Scenario 3"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-3/">Azure Routing Experiences | Scenario 3</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-3/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title>Azure Routing Experiences &#124; Scenario 1</title>
		<link>https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-1/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-1/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Sun, 06 Feb 2022 18:41:14 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure firewall]]></category>
		<category><![CDATA[dns proxy]]></category>
		<category><![CDATA[peering]]></category>
		<category><![CDATA[private endpoints]]></category>
		<category><![CDATA[route tables]]></category>
		<category><![CDATA[routing]]></category>
		<category><![CDATA[udr]]></category>
		<category><![CDATA[virtual network]]></category>
		<category><![CDATA[vnet]]></category>
		<category><![CDATA[vnet peering]]></category>
		<category><![CDATA[vpn]]></category>
		<guid isPermaLink="false">https://20.113.141.97/?p=3838</guid>

					<description><![CDATA[<p>Designing the network routing, cloud &#38; hybrid, on a Hyperscaler like Microsoft Azure can get a real pain. I got</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-1/">Azure Routing Experiences | Scenario 1</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>Designing the network routing, cloud &amp; hybrid, on a Hyperscaler like Microsoft Azure can get a real pain. I got an idea, to start playing with some common scenarios and make some notes, in order to have it as a reference. I end up with three scenarios. Those scenarios are referring to internal network topology, without public access, and I focus more on the routing aspect, the DNS configuration &amp; inspection through Azure Firewall.</p>



<ul class="wp-block-list"><li><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838"></a><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838"></a><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838">Scenario 1: Hybrid connectivity with Azure VPN Gateway</a></li><li><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838"></a><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838"></a><a href="/microsoft/azure-routing-experiences-scenario-2/" data-type="post" data-id="3846">Scenario 2: Hybrid connectivity with Azure VPN Gateway &amp; Traffic Inspection with Azure Firewall</a></li><li><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838"></a><a href="/microsoft/azure-routing-experiences-scenario-1/" data-type="post" data-id="3838"></a><a href="/microsoft/azure-routing-experiences-scenario-3/" data-type="post" data-id="3859">Scenario 3: Hybrid Connectivity with Azure VPN Gateway, second level peered networks &amp; full traffic inspection with Azure Firewall</a></li></ul>



<h2 class="wp-block-heading" id="scenario-1-hybrid-connectivity-through-azure-vpn-gateway">Scenario 1: Hybrid connectivity through Azure VPN gateway</h2>



<p>At the start, I created the on-premises network, using a RRAS (Windows Server 2019 with Routing &amp; Remote Access) to act as the router/VPN device and a Server with DNS service. The Azure estate has three VNets, in a hub &amp; spoke topology. One HUB and two Spokes, connected with the HUB with VNet peering. There is no peering between the spokes. My Azure HUB network has three subnets, one has a VPN Gateway, the second has a VM, and the third has an Azure Firewall. In this first scenario, the Azure Firewall acts only as a DNS Proxy. It is not included in routing.</p>



<ul class="wp-block-list"><li>On-premises network: 10.0.0.0/16</li><li>HUB VNet Address Space: 192.168.0.0/22</li><li>HUB GatewaySubnet: 192.168.1.0/24</li><li>HUB VMSubnet: 192.168.0.0/24</li><li>HUB Firewall Subnet: 192.168.2.0/24</li><li>Spoke1 (storage account): 192.168.4.0/24</li><li>Spoke2 (VM): 192.168.5.0/24</li></ul>



<p>The first spoke has a Private Link to my storage account. The second spoke has a VM.. Azure VPN Gateway knows all routes of its VNet, the peered VNets &amp; the routes propagated from the VPN connection. From on-premises, we can reach all resources using the VPN connection interface ( in RRAS I added a custom route &#8220;192.168.0.0 255.255.0.0 interface:AzureGW&#8221;)</p>



<p>From the VM of the HUB VNet (192.168.0.4), in order to be able to reach the on-premises network, we need a custom route, since the on-premises network is not populated to the VNet. I created a <a href="https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table" target="_blank" rel="noreferrer noopener">Route Table</a>, with route &#8220;10.0.0.0/16 Next Hop: Virtual Network Gateway&#8221; attached to the VM Subnet. </p>



<p>To access the <a href="https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns" data-type="URL" data-id="https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns" target="_blank" rel="noreferrer noopener">Private Endpoint of the Storage account we need some more resources &amp; configuration</a>. The storage account, as all PaaS services (like Web App &amp; Azure SQL) responds only to URI and not to IP. Since we have connected a Private Endpoint to the Storage Account, the Public Access is blocked. So, in order to connect to the storage account, we need the aprostore.file.core.windows.net to translate to the private IP of the storage account, the 192.168.4.4. The proper way to achieve this is by using DNS. </p>



<p>First, we need to create a Private DNS zone and <a rel="noreferrer noopener" href="https://docs.microsoft.com/en-us/azure/dns/private-dns-virtual-network-links" target="_blank">link </a>it to the HUB VNET. For accessing blob storage we need a <a rel="noreferrer noopener" href="https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns#azure-services-dns-zone-configuration" target="_blank">Private DNS zone with the name</a> privatelink.blob.core.windows.net, for the file we need privatelink.file.core.windows.net. <a rel="noreferrer noopener" href="https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns#azure-services-dns-zone-configuration" target="_blank">More services here</a>. Then add the Storage Account Private Endpoint record to the Private DNS Zone. Now there is an A record azappsa with IP 192.168.4.4. Now, all Azure resources at the linked VNet, the HUB, are able to resolve the DNS records of the Private DNS Zone. We cannot resolve the records of the Azure Private DNS Zone from on-premises. To do so, we need a DNS server on Azure, to use as a conditional forwarder. This can be a Windows or Linux VM with DNS services or in my case, the Azure FIrewall with the <a rel="noreferrer noopener" href="https://docs.microsoft.com/en-us/azure/firewall/dns-details" target="_blank">DNS proxy</a> enabled (I will use the whole functionality of the firewall to my next scenarios). I enabled the DNS Proxy on Azure, using default Azure DNS, and I added a conditional forwarding at the on-premises DNS &#8220;blob.core.windows.net -&gt; 192.168.2.4&#8221; and &#8220;file.core.windows.net -&gt; 192.168.2.44&#8221;. Now, I can successfully resolve the private IP of the storage account using its name, and be able to connect to it to both blob and to files with SMB access.</p>



<p>From the VM of the Spoke2 VNet (192.168.5.4), in order to be able to reach the on-premises network, we need a custom route, since the on-premises network is not populated to the VNet. I created a Route Table, with route &#8220;10.0.0.0/16 Next Hop: Virtual Network Gateway&#8221; attached to the VM Subnet. I added a second route &#8220;192.168.4.0/24 Next Hop: Virtual Network Gateway&#8221; &amp; changed the VNet DNS to 192.168.2.4 (the Azure Firewall) to be able to access the Spoke1 VNet for storage access.</p>



<h2 class="wp-block-heading" id="dns-routing-example">DNS &amp; Routing example</h2>



<p><strong>DNS</strong>: The on-premises Server X, 10.0.2.10, makes a request to https://azappsa.blob.core.windows.net. At first, it asks the DNS to resolve the URL to an IP. The DNS has a conditional forwarder about blob.core.windows.net, and asks the Azure Firewall, 192.168.2.4. Azure Firewall has a linked Private DNS zone that has a host record for azappsa.blob.core.windows.net and it resolves to 192.168.4.4. This information routes back to Server X. Now Server X knows that the IP address of azappsa.blob.core.windows.net is 192.168.4.4. </p>



<p><strong>Routing</strong>: To go to 192.168.4.4 first it asks its Default Gateway, in our case the RRAS. The RRAS has a custom route for 192.168.0.0/16 and forwards the packet to the VPN interface. The packet reaches the Azure VPN Gateway. The Azure VPN Gateway has a custom route for 192.168.0.0/24 BUT it also has a route for 192.168.4.4/32 that is automatically populated by the VNet peering. The /32 route is more specific than the /24 route, so the VPN Gateway forwards the packet directly to the Private Endpoint, bypassing the Azure Firewall. (At the <a href="/microsoft/azure-routing-experiences-scenario-2/">Azure Routing Experiences | Scenario 2</a> we will see how we will force the traffic through the Azure Firewall.</p>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/02/image-4.png"><img loading="lazy" decoding="async" width="1024" height="465" src="/wp-content/uploads/2022/02/image-4-1024x465.png" alt="" class="wp-image-3889" srcset="https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-4-1024x465.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-4-300x136.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-4-768x348.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/image-4.png 1080w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /></a></figure>



<p>Please find below the whole solution diagram, I tried to make it as analytic as possible, without messing with too many lines. Also, I have some notes and tests below.</p>



<figure class="wp-block-image size-large"><a href="/wp-content/uploads/2022/02/Azure-Hybrid-Network-VPN-GW-Only.drawio.png"><img loading="lazy" decoding="async" width="800" height="1024" src="/wp-content/uploads/2022/02/Azure-Hybrid-Network-VPN-GW-Only.drawio-800x1024.png" alt="" class="wp-image-3841" srcset="https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-VPN-GW-Only.drawio-800x1024.png 800w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-VPN-GW-Only.drawio-234x300.png 234w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-VPN-GW-Only.drawio-768x983.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2022/02/Azure-Hybrid-Network-VPN-GW-Only.drawio.png 825w" sizes="auto, (max-width: 800px) 100vw, 800px" /></a></figure>



<p>References:<br><a href="https://docs.microsoft.com/en-us/azure/private-link/private-endpoint-dns">Azure Private Endpoint DNS configuration | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/dns/private-dns-virtual-network-links">What is a virtual network link subresource of Azure DNS private zones | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/firewall/dns-details">Azure Firewall DNS Proxy details | Microsoft Docs</a><br><a href="https://docs.microsoft.com/en-us/azure/virtual-network/manage-route-table">Create, change, or delete an Azure route table | Microsoft Docs</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:pr&#111;x&#105;&#109;&#097;gr&#064;&#104;ot&#109;&#097;i&#108;.c&#111;m" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure-routing-experiences-scenario-1%2F&amp;linkname=Azure%20Routing%20Experiences%20%7C%20Scenario%201" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure-routing-experiences-scenario-1%2F&amp;linkname=Azure%20Routing%20Experiences%20%7C%20Scenario%201" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure-routing-experiences-scenario-1%2F&#038;title=Azure%20Routing%20Experiences%20%7C%20Scenario%201" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-1/" data-a2a-title="Azure Routing Experiences | Scenario 1"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-1/">Azure Routing Experiences | Scenario 1</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure-routing-experiences-scenario-1/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Deploy VM from Azure SIG in new Resource Group</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/deploy-vm-from-azure-sig-in-new-resource-group/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/deploy-vm-from-azure-sig-in-new-resource-group/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Thu, 04 Feb 2021 15:03:12 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[arm template]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[deployment]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[nsg]]></category>
		<category><![CDATA[resource group]]></category>
		<category><![CDATA[SIG]]></category>
		<category><![CDATA[virtual machine]]></category>
		<category><![CDATA[vm]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3753</guid>

					<description><![CDATA[<p>Deploy VM from Azure SIG in new Resource Group Pantelis Apostolidis Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/deploy-vm-from-azure-sig-in-new-resource-group/">Deploy VM from Azure SIG in new Resource Group</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h2 class="wp-block-heading">Deploy VM from Azure SIG in new Resource Group</h2>



<p>This is a template that first creates a Resource Group, and then it deploys a Virtual Machine from an image version of the Shared Image Gallery. It provides the Public IP and Hostname for outputs. </p>
<p>Currently it only asks for the SIG image version and an environment value to create the naming convention of the resources. </p>
<p>GitHub: <a href="https://github.com/proximagr/ARMTemplates/blob/master/VM-from-SIG-in-new-RG/VM-from-SIG-in-new-RG.json">https://github.com/proximagr/ARMTemplates/blob/master/VM-from-SIG-in-new-RG/VM-from-SIG-in-new-RG.json</a></p>



<pre class="EnlighterJSRAW" data-enlighter-language="json" data-enlighter-theme="bootstrap4">{
    "$schema": "https://schema.management.azure.com/schemas/2018-05-01/subscriptionDeploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "galleryimageversion": {
            "type": "string",
            "defaultValue": "10.0.2"
        },
        "envname": {
            "type": "string",
            "defaultValue": "test"
        }
    },
    "variables": {
        "basename": "[concat(parameters('envname'),substring(deployment().name,0,6))]",
        "rgname": "[concat('rg-', substring(variables('basename'), 0, 10))]",
        "region": "francecentral"
    },
    "resources": [
        {
            "name": "[variables('rgname')]",
            "type": "Microsoft.Resources/resourceGroups",
            "apiVersion": "2019-10-01",
            "location": "[variables('region')]",
            "dependsOn": [
            ],
            "tags": {
            }
        },
        {
            "type": "Microsoft.Resources/deployments",
            "resourceGroup": "[variables('rgname')]",
            "dependsOn": [
                "[resourceId('Microsoft.Resources/resourceGroups',variables('rgname'))]"
            ],
            "apiVersion": "2019-10-01",
            "name": "nestedTemplate1",
            "properties": {
                "expressionEvaluationOptions": {
                    "scope": "inner"
                },
                "mode": "Incremental",
                "parameters": {
                    "galleryImageVersionName": {
                        "value": "[parameters('galleryimageversion')]"
                    },
                    "envname": {
                        "value": "[parameters('envname')]"
                    }

                },
                "template": {
                    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
                    "contentVersion": "1.0.0.0",
                    "parameters": {
                        "galleryImageVersionName": {
                            "type": "string"
                        },
                        "envname": {
                            "type": "string"
                        }
                    },
                    "variables": {
                        "basename": "[concat(parameters('envname'),substring(deployment().name,0,6))]",
                        "pubipname": "[concat( 'pip-',variables('basename'))]",
                        "pubipdns": "[concat( 'vm-',variables('basename'))]",
                        "region": "francecentral",
                        "adminUsername": "uiadmin",
                        "adminPassword": "ThisIs1Password!",
                        "galleryName": "demosig",
                        "galleryImageDefinitionName": "demoid",
                        "nicName": "[concat( 'nic-',variables('basename'))]",
                        "addressPrefix": "10.0.0.0/24",
                        "subnetName": "[concat( 'sub-',variables('basename'))]",
                        "subnetPrefix": "10.0.0.0/24",
                        "vmName": "[concat( 'vm-',variables('basename'))]",
                        "virtualNetworkName": "[concat( 'vnet-',variables('basename'))]",
                        "subnetRef": "[resourceId('Microsoft.Network/virtualNetworks/subnets', variables('virtualNetworkName'), variables('subnetName'))]",
                        "networkSecurityGroupName": "[concat( 'nsg-',variables('basename'))]"
                    },
                    "resources": [
                        {
                            "name": "[variables('pubipname')]",
                            "type": "Microsoft.Network/publicIPAddresses",
                            "apiVersion": "2019-11-01",
                            "location": "[variables('region')]",
                            "tags": {
                                "displayName": "publicIPAddress1"
                            },
                            "properties": {
                                "publicIPAllocationMethod": "Static",
                                "dnsSettings": {
                                    "domainNameLabel": "[variables('pubipdns')]"
                                }
                            }
                        },
                        {
                            "comments": "Simple Network Security Group for subnet [variables('subnetName')]",
                            "type": "Microsoft.Network/networkSecurityGroups",
                            "apiVersion": "2019-08-01",
                            "name": "[variables('networkSecurityGroupName')]",
                            "location": "[variables('region')]",
                            "properties": {
                                "securityRules": [
                                    {
                                        "name": "default-allow-22",
                                        "properties": {
                                            "priority": 1000,
                                            "access": "Allow",
                                            "direction": "Inbound",
                                            "destinationPortRange": "22",
                                            "protocol": "Tcp",
                                            "sourceAddressPrefix": "*",
                                            "sourcePortRange": "*",
                                            "destinationAddressPrefix": "*"
                                        }
                                    },
                                    {
                                        "name": "default-allow-3389",
                                        "properties": {
                                            "priority": 1001,
                                            "access": "Allow",
                                            "direction": "Inbound",
                                            "destinationPortRange": "3389",
                                            "protocol": "Tcp",
                                            "sourceAddressPrefix": "*",
                                            "sourcePortRange": "*",
                                            "destinationAddressPrefix": "*"
                                        }
                                    }
                                ]
                            }
                        },
                        {
                            "type": "Microsoft.Network/virtualNetworks",
                            "name": "[variables('virtualNetworkName')]",
                            "apiVersion": "2016-03-30",
                            "location": "[variables('region')]",
                            "dependsOn": [
                                "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]"
                            ],
                            "properties": {
                                "addressSpace": {
                                    "addressPrefixes": [
                                        "[variables('addressPrefix')]"
                                    ]
                                },
                                "subnets": [
                                    {
                                        "name": "[variables('subnetName')]",
                                        "properties": {
                                            "addressPrefix": "[variables('subnetPrefix')]",
                                            "networkSecurityGroup": {
                                                "id": "[resourceId('Microsoft.Network/networkSecurityGroups', variables('networkSecurityGroupName'))]"
                                            }
                                        }
                                    }
                                ]
                            }
                        },
                        {
                            "type": "Microsoft.Network/networkInterfaces",
                            "name": "[variables('nicName')]",
                            "apiVersion": "2016-03-30",
                            "location": "[variables('region')]",
                            "properties": {
                                "ipConfigurations": [
                                    {
                                        "name": "ipconfig1",
                                        "properties": {
                                            "privateIPAllocationMethod": "Dynamic",
                                            "publicIPAddress": {
                                                "id": "[resourceId('Microsoft.Network/publicIPAddresses',variables('pubipname'))]"
                                            },
                                            "subnet": {
                                                "id": "[variables('subnetRef')]"
                                            }
                                        }
                                    }
                                ]
                            },
                            "dependsOn": [
                                "[resourceId('Microsoft.Network/publicIPAddresses/', variables('pubipname'))]",
                                "[resourceId('Microsoft.Network/virtualNetworks/', variables('virtualNetworkName'))]"
                            ]
                        },
                        {
                            "type": "Microsoft.Compute/virtualMachines",
                            "name": "[variables('vmName')]",
                            "apiVersion": "2019-07-01",
                            "location": "[variables('region')]",
                            "properties": {
                                "hardwareProfile": {
                                    "vmSize": "Standard_F8s_v2"
                                },
                                "osProfile": {
                                    "computerName": "[variables('vmName')]",
                                    "adminUsername": "[variables('adminUsername')]",
                                    "adminPassword": "[variables('adminPassword')]"
                                },
                                "storageProfile": {
                                    "imageReference": {
                                        "id": "[resourceId('Microsoft.Compute/galleries/images/versions', variables('galleryName'), variables('galleryImageDefinitionName'), parameters('galleryImageVersionName'))]"
                                    }
                                },
                                "networkProfile": {
                                    "networkInterfaces": [
                                        {
                                            "id": "[resourceId('Microsoft.Network/networkInterfaces',variables('nicName'))]"
                                        }
                                    ]
                                }
                            },
                            "dependsOn": [
                                "[resourceId('Microsoft.Network/networkInterfaces/', variables('nicName'))]"
                            ]
                        }
                    ],
                    "outputs": {
                        "publicipn": {
                            "type": "string",
                            "value": "[reference(variables('pubipname')).dnsSettings.fqdn]"
                        },
                        "publicipa": {
                            "type": "string",
                            "value": "[reference(variables('pubipname')).ipAddress]"
                        }
                    }
                }
            }
        }
    ],
    "outputs": {
        "hostname": {
            "type": "string",
            "value": "[reference('nestedTemplate1').outputs.publicipn.value]"
        },
        "ipaddress": {
            "type": "string",
            "value": "[reference('nestedTemplate1').outputs.publicipa.value]"
        }
    }
}</pre>
<p> </p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;ro&#120;imag&#114;&#064;hotmai&#108;.c&#111;m" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fdeploy-vm-from-azure-sig-in-new-resource-group%2F&amp;linkname=Deploy%20VM%20from%20Azure%20SIG%20in%20new%20Resource%20Group" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fdeploy-vm-from-azure-sig-in-new-resource-group%2F&amp;linkname=Deploy%20VM%20from%20Azure%20SIG%20in%20new%20Resource%20Group" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fdeploy-vm-from-azure-sig-in-new-resource-group%2F&#038;title=Deploy%20VM%20from%20Azure%20SIG%20in%20new%20Resource%20Group" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/deploy-vm-from-azure-sig-in-new-resource-group/" data-a2a-title="Deploy VM from Azure SIG in new Resource Group"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/deploy-vm-from-azure-sig-in-new-resource-group/">Deploy VM from Azure SIG in new Resource Group</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/deploy-vm-from-azure-sig-in-new-resource-group/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Infrastructure as Code &#124; Deploy a VNET &#038; NSG &#038; UDR</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Wed, 11 Mar 2020 22:45:35 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[IaC]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure template]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[devops]]></category>
		<category><![CDATA[iac]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[network security group]]></category>
		<category><![CDATA[nsg]]></category>
		<category><![CDATA[route table]]></category>
		<category><![CDATA[template]]></category>
		<category><![CDATA[udr]]></category>
		<category><![CDATA[virtual network]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3297</guid>

					<description><![CDATA[<p>Infrastructure as Code &#124; Deploy a VNET with NSG and UDRs Infrastructure as Code, or just IaC, provides three three</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/">Infrastructure as Code | Deploy a VNET &#038; NSG &#038; UDR</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Infrastructure as Code | Deploy a VNET with NSG and UDRs</h2>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-3312" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/03/IaC.png" alt="IaC" width="1095" height="838" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC.png 1095w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC-300x230.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC-1024x784.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/IaC-768x588.png 768w" sizes="auto, (max-width: 1095px) 100vw, 1095px" /></p>
<p>Infrastructure as Code, or just IaC, provides three three main advantages: cost reduction, faster execution and risk reduction, the attributes of the DevOps culture.</p>
<p style="text-align: justify;">Microsoft Azure Resource Manager allows the managing and provisioning of Azure Resources, that can be Virtual Machines, Virtual Networks, Storage Accounts, Apps, SQL Databases and everything that a computer data center includes, through machine-readable definition files, known as JSON templates, without the need of physical hardware configuration or interactive configuration tools.</p>
<p style="text-align: justify;">I am starting a series of posts about building infrastructure with JSON templates.</p>
<p style="text-align: justify;">The tool I use to build my Azure Json templates is the Visual Studio Code. You can download it from <a href="https://code.visualstudio.com/">https://code.visualstudio.com/</a> for every platform.</p>
<p style="text-align: justify;">To work with Azure Resource Manager you need the Azure Resource Manager Tools extension. Open the VS Code, go to the Extensions Section, search and install the Azure Resource Manager Tools extension.</p>
<p id="SEhVTIV"><img loading="lazy" decoding="async" class="alignnone wp-image-3306 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/03/img_5e695dd565ae7.png" alt="infrastructure as code" width="488" height="353" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e695dd565ae7.png 488w, https://www.cloudcorner.gr/wp-content/uploads/2020/03/img_5e695dd565ae7-300x217.png 300w" sizes="auto, (max-width: 488px) 100vw, 488px" /></p>
<p>The extension is very helpful since it highlights the code, it provides references and intellisense.</p>
<p>At this post I am sharing &amp; explaining my Azure json template for deploying a Virtual Network, a Network Security Group and a Route Table.</p>
<p>You can find and download my working template at <a href="https://github.com/proximagr" target="_blank" rel="noopener noreferrer">my Git account</a> :</p>
<p><a href="https://github.com/proximagr/ARMTemplates/tree/master/VNET-2sub-NSG-UDR" target="_blank" rel="noopener noreferrer">https://github.com/proximagr/ARMTemplates/tree/master/VNET-2sub-NSG-UDR</a></p>
<h3>Json Template Guide</h3>
<p>Below you can find my template with comments, for better understanding.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="json" data-enlighter-theme="droide">{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
//** Define the Virtual Network Name */
    "vnetName": {
      "type": "string",
      "defaultValue": "Cloud-Corner-VNET",
      "metadata": {
        "description": "Cloud Corner VNET"
      }
//** Define the Address Space of the Virtual Network */
    },
      "vnetAddressPrefix": {
        "type": "string",
        "defaultValue": "10.0.0.0/24",
        "metadata": {
          "description": "Address prefix"
        }
//** Define the Address Space of the the First Subnet */
      },
      "subnet1Prefix": {
        "type": "string",
        "defaultValue": "10.0.0.0/27",
        "metadata": {
          "description": "Subnet 1 Prefix"
        }
//** Define the Name of the the First Subnet */
      },
      "subnet1Name": {
        "type": "string",
        "defaultValue": "Subnet1",
        "metadata": {
          "description": "Subnet 1 Name"
        }
//** Define the Address Space of the the Second Subnet */
      },
      "subnet2Prefix": {
        "type": "string",
        "defaultValue": "10.0.0.32/27",
        "metadata": {
          "description": "Subnet 2 Prefix"
        }
//** Define the Name of the the First Subnet */
      },
      "subnet2Name": {
        "type": "string",
        "defaultValue": "Subnet2",
        "metadata": {
          "description": "Subnet 2 Name"
        }
      },
//** Define the Name of the the Network Security Group */
      "networkSecurityGroup01Name": {
        "type": "string",
        "defaultValue": "Cloud-Corner-NSG-01",
        "metadata": {
          "description": "This is the name of the network security group"
        }
      },
//** Define the Name of the the First Route Table */
      "RouteTable01Name": {
        "type": "string",
        "defaultValue": "Cloud-Corner-UDR-01",
        "metadata": {
        "description": "Route Table 01 Name."
        }
      },
//** Define the Name of the the First Route of the First Route Table */
      "Route01Name": {
        "type": "string",
        "defaultValue": "To-internet",
        "metadata": {
          "description": "Route 01 Name."
        }
      },
//** Define the Next Hop Type of the the First Route of the First Route Table */
      "Route01NextHopType": {
        "type": "string",
        "allowedValues": [
        "VirtualNetworkGateway",
        "VnetLocal",
        "Internet",
        "VirtualAppliance",
        "None"
      ],
      "defaultValue": "VirtualAppliance",
        "metadata": {
          "description": "Route 01 Next Hop Type."
        }
      },
//** Define the Address Prefix of the First Route of the First Route Table */
      "Route01AddressPrefix": {
        "type": "string",
        "defaultValue": "0.0.0.0/0",
        "metadata": {
          "description": "Route 01 Address Prefix."
        }
      },
//** If you set "Virtyal Appliance for Next Hop Type, then you need to define the Next Hop IP Address, */
//** meaning the appliance's IP address. Here you define it for the First Route of the First Route Table */
        "RT01Route01NextHopIPAddress": {
        "type": "string",
        "defaultValue": "10.0.0.40",
        "metadata": {
          "description": "Next Hop IP Addess."
        }
      },
//** Define the Name of the Second Route Table */
      "RouteTable02Name": {
        "type": "string",
        "defaultValue": "Cloud-Corner-UDR-02",
        "metadata": {
          "description": "Route Table 02 Name."
        }
      },
//** Define the Name of the the First Route of the Second Route Table */
      "RT02Route01Name": {
        "type": "string",
        "defaultValue": "Local-Subnet",
        "metadata": {
        "description": "Route Table 02 Route 01 Name."
        }
      },
//** Define the Next Hop Type of the the First Route of the Second Route Table */
      "RT02Route01NextHopType": {
        "type": "string",
        "allowedValues": [
        "VirtualNetworkGateway",
        "VnetLocal",
        "Internet",
        "VirtualAppliance",
        "None"
      ],
      "defaultValue": "VnetLocal",
        "metadata": {
          "description": "Route 02 Next Hop Type."
        }
      },
//** Define the Address Prefix of the the First Route of the Second Route Table */
      "RT02Route01AddressPrefix": {
        "type": "string",
        "defaultValue": "10.0.0.0/27",
        "metadata": {
          "description": "Route Table 02 Route 01 Address Prefix."
        }
      },
//** Define the Name of the the Second Route of the Second Route Table */
        "RT02Route02Name": {
          "type": "string",
          "defaultValue": "To-subnet-1",
          "metadata": {
            "description": "Route Table 02 Route 01 Name."
          }
        },
//** Define the Next Hop Type of the the Second Route of the Second Route Table */
        "RT02Route02NextHopType": {
          "type": "string",
          "allowedValues": [
          "VirtualNetworkGateway",
          "VnetLocal",
          "Internet",
          "VirtualAppliance",
          "None"
        ],
        "defaultValue": "VirtualAppliance",
          "metadata": {
            "description": "Route 02 Next Hop Type."
          }
        },
//** Define the address prefix of the the Second Route of the Second Route Table */
        "RT02Route02AddressPrefix": {
          "type": "string",
          "defaultValue": "10.0.0.32/27",
          "metadata": {
            "description": "Route Table 02 Route 01 Address Prefix."
          }
      },
//** Define the next hop IP address (the virtual appliance's address) of the the Second Route of the Second Route Table */
        "RT02Route02NextHopIPAddress": {
          "type": "string",
          "defaultValue": "10.0.0.40",
          "metadata": {
            "description": "Next Hop IP Addess."
          }
        }
    },
//** I dont use any variables, you can exclude this section*/
  "variables": {},
  "resources": [
//* create the First Route Table &amp; Route*/
    {
    "apiVersion": "2017-10-01",
    "type": "Microsoft.Network/routeTables",
    "name": "[parameters('RouteTable01Name')]",
    "location": "[resourceGroup().location]",
    "properties": {
    "disableBgpRoutePropagation": true,
    "routes": [
      {
        "name": "[parameters('Route01Name')]",
        "properties": {
          "addressPrefix": "[parameters('Route01AddressPrefix')]",
          "nextHopType": "[parameters('Route01NextHopType')]",
          "nextHopIpAddress": "[parameters('RT01Route01NextHopIPAddress')]"
          }
        }
      ]
    }
  },
//* create the Second Route Table &amp; Routes*/
    {
    "apiVersion": "2017-10-01",
    "type": "Microsoft.Network/routeTables",
    "name": "[parameters('RouteTable02Name')]",
    "location": "[resourceGroup().location]",
    "properties": {
    "disableBgpRoutePropagation": true,
    "routes": [
      {
        "name": "[parameters('RT02Route01Name')]",
        "properties": {
          "addressPrefix": "[parameters('RT02Route01AddressPrefix')]",
          "nextHopType": "[parameters('RT02Route01NextHopType')]"
        }
      },
          {
        "name": "[parameters('RT02Route02Name')]",
        "properties": {
          "addressPrefix": "[parameters('RT02Route02AddressPrefix')]",
          "nextHopType": "[parameters('RT02Route02NextHopType')]",
          "nextHopIpAddress": "[parameters('RT02Route02NextHopIPAddress')]"
          }
        }
      ]
    }
  },
//* create teh Network Security Group */
    {
    "apiVersion": "2019-02-01",
    "type": "Microsoft.Network/networkSecurityGroups",
    "name": "[parameters('networkSecurityGroup01Name')]",
    "location": "[resourceGroup().location]",
    "properties": {
      "securityRules": [
        {
          "name": "HTTPS",
          "properties": {
            "description": "Open HTTPS to Public",
            "protocol": "Tcp",
            "sourcePortRange": "443",
            "destinationPortRange": "443",
            "sourceAddressPrefix": "*",
            "destinationAddressPrefix": "*",
            "access": "Allow",
            "priority": 101,
            "direction": "Inbound"
            }
          }
        ]
      }
    },
//* create the Virtual Network */
    {
      "apiVersion": "2018-10-01",
      "type": "Microsoft.Network/virtualNetworks",
      "name": "[parameters('vnetName')]",
      "location": "[resourceGroup().location]",
//*add a dependency in order to ensure that the NSG is created before the VNET, in order to be able to attach it*/
      "dependsOn": [
        "[parameters('networkSecurityGroup01Name')]"
      ],
      "properties": {
        "AddressSpace": {
          "AddressPrefixes": [
            "[parameters('vnetAddressPrefix')]"
          ]
        }
      },
      "resources": [
//* create the first subnet */
        {
        "apiVersion": "2018-10-01",
        "type": "subnets",
        "location": "[resourceGroup().location]",
        "name": "[parameters('subnet1Name')]",
//* add dependencies to create the resources with an order, because you need to ensure that the VNET is ready before creating the Subnet and also the Route Table*/
        "dependsOn": [
          "[parameters('vnetName')]",
          "[resourceId('Microsoft.Network/routeTables', parameters('RouteTable01Name'))]"
        ],
        "properties": {
        "AddressPrefix": "[parameters('subnet1Prefix')]",
//*attach the Newtork Securoty Group to the Subnet*/
        "networkSecurityGroup": {
        "id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroup01Name'))]"},
//*attacht the First route table to the Subnet*/
        "routeTable": {
        "id": "[resourceId('Microsoft.Network/routeTables', parameters('RouteTable01Name'))]"
          }
         }
        },
//*create the second subnet*/
        {
        "apiVersion": "2018-10-01",
        "type": "subnets",
        "location": "[resourceGroup().location]",
        "name": "[parameters('subnet2Name')]",
        "dependsOn": [
          "[parameters('vnetName')]",
          "[parameters('subnet1Name')]",
          "[parameters('RouteTable02Name')]"
        ],
        "properties": {
          "AddressPrefix": "[parameters('subnet2Prefix')]",
//*attach the Newtork Securoty Group to the Subnet*/
          "networkSecurityGroup": {
          "id": "[resourceId('Microsoft.Network/networkSecurityGroups', parameters('networkSecurityGroup01Name'))]"},
//*attacht the second route table to the Subnet*/
          "routeTable": {
          "id": "[resourceId('Microsoft.Network/routeTables', parameters('RouteTable02Name'))]"
            }
          }
        }
      ]
    }
  ]
}</pre>
<p>&nbsp;</p>
<h3>Deploy the template</h3>
<p><strong>Deploy the template directly from here:</strong></p>
<p><a href="https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2Fproximagr%2FARMTemplates%2Fmaster%2FVNET-2sub-NSG-UDR%2Fazuredeploy.json" target="_blank" rel="noopener noreferrer"> <img decoding="async" src="https://aka.ms/deploytoazurebutton" /> </a></p>
<p>&nbsp;</p>
<p>More Azure Resource Manager Templates: <a href="https://www.e-apostolidis.gr/microsoft/create-azure-file-shares-using-arm-template-powershell/">https://www.e-apostolidis.gr/microsoft/azure/create-azure-file-shares-using-arm-template-powershell/</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author">
<div class="saboxplugin-tab">
<div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div>
<div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div>
<div class="saboxplugin-desc">
<div itemprop="description">
<p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div>
</div>
<div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div>
<div class="clearfix"></div>
<div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;&#114;o&#120;i&#109;&#097;&#103;&#114;&#064;&#104;ot&#109;&#097;&#105;l&#046;&#099;&#111;m" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div>
</div>
</div>
<p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Finfrastructure-as-code-deploy-a-vnet-nsg-udr%2F&amp;linkname=Infrastructure%20as%20Code%20%7C%20Deploy%20a%20VNET%20%26%20NSG%20%26%20UDR" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Finfrastructure-as-code-deploy-a-vnet-nsg-udr%2F&amp;linkname=Infrastructure%20as%20Code%20%7C%20Deploy%20a%20VNET%20%26%20NSG%20%26%20UDR" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Finfrastructure-as-code-deploy-a-vnet-nsg-udr%2F&#038;title=Infrastructure%20as%20Code%20%7C%20Deploy%20a%20VNET%20%26%20NSG%20%26%20UDR" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/" data-a2a-title="Infrastructure as Code | Deploy a VNET &amp; NSG &amp; UDR"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/">Infrastructure as Code | Deploy a VNET &#038; NSG &#038; UDR</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/infrastructure-as-code-deploy-a-vnet-nsg-udr/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Compliance Report using Azure Policy</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Tue, 07 Jan 2020 07:37:01 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[arm]]></category>
		<category><![CDATA[arm template]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure policy]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[compliance]]></category>
		<category><![CDATA[compliance report]]></category>
		<category><![CDATA[postman]]></category>
		<category><![CDATA[subnet]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=3010</guid>

					<description><![CDATA[<p>Compliance Report using Azure Policy Azure Policy is a powerful tool for Azure Governance. With Azure Policy we can define</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/">Compliance Report using Azure Policy</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">Compliance Report using Azure Policy</h1>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-2646" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/azurepolicy.jpg" alt="azurepolicy" width="268" height="202" /></p>
<p style="text-align: justify;">Azure Policy is a powerful tool for Azure Governance. With Azure Policy we can define rules for all Azure Subscriptions the we manage. We can use this rules for simple limitation actions, like permitting only specific VM Series and Sizes that can be created and also more complex rule sets that helps you standardize the whole Azure deployment. At my previous posts, we learned <a href="https://www.e-apostolidis.gr/microsoft/azure-policy-limit-the-azure-vm-sizes/" target="_blank" rel="noopener noreferrer">How to limit the Azure VM Sizes</a> and <a href="https://www.e-apostolidis.gr/microsoft/azure-policy-enforce-tags-for-resource-creation/" target="_blank" rel="noopener noreferrer">How to enforce tags for resources creation</a></p>
<p style="text-align: justify;">At the current post we will learn how to use Azure Policy to have a compliance report for our deployment. We will learn this by using an example. Then we will create two Virtual Networks and we will add a Network Security Group only to the first one. Finally we will use the Policy to audit whether the Subnets have assigned the NSG or Not.</p>
<p style="text-align: justify;">First we need two Virtual Networks. You can create the Virtual Networks using the Azure Portal or using ARM template, like mine from <a href="https://github.com/proximagr/ARMTemplates/blob/master/2vnets.json">my Github account</a>: <a href="https://github.com/proximagr/ARMTemplates/blob/master/2vnets.json">https://github.com/proximagr/ARMTemplates/blob/master/2vnets.json</a></p>
<p style="text-align: justify;">After applying the template you will have two VNETs like that:</p>
<p id="GDRUVFD" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3011 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e136e4939cde.png" alt="azurepolicy1" width="375" height="131" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e136e4939cde.png 375w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e136e4939cde-300x105.png 300w" sizes="auto, (max-width: 375px) 100vw, 375px" /></p>
<p style="text-align: justify;">Then we will a Network Security Group (NSG) only to the MyVNET01 Virtual Network. Again using Azure Portal, PowerShell or my <a href="https://github.com/proximagr/ARMTemplates/blob/master/nsg.json">ARM Template for NSG</a></p>
<p style="text-align: justify;">Assign the NSG to the MyVNET01 VIrtual Network</p>
<p id="DWvKSEN" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3015 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13a666534e0.png" alt="azurepolicy2" width="696" height="361" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a666534e0.png 696w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a666534e0-300x156.png 300w" sizes="auto, (max-width: 696px) 100vw, 696px" /></p>
<h2 style="text-align: justify;">Add the Policy</h2>
<p style="text-align: justify;">Go to Azure Policy -&gt; Definitions and click the &#8220;+ Policy definition&#8221; to create a new policy definition.</p>
<p id="QlWjWWK" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3016" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13a77fad72e.png" alt="azurepolicy3" width="587" height="342" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a77fad72e.png 790w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a77fad72e-300x175.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13a77fad72e-768x447.png 768w" sizes="auto, (max-width: 587px) 100vw, 587px" /></p>
<p style="text-align: justify;">At the New Policy definition page, select the subscription (location) that the policy will be saved, then add a name. in this case we will use the sample policy template from Microsoft docs so I will add the same name.</p>
<p style="text-align: justify;">Copy the policy Json text from <a href="https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet">https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet</a> and paste it at the POLICY RULE below and Save.</p>
<p id="APxTEUp" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3028" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13ac224c23b.png" alt="azurepolicy4" width="609" height="597" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac224c23b.png 837w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac224c23b-300x295.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac224c23b-768x754.png 768w" sizes="auto, (max-width: 609px) 100vw, 609px" /></p>
<p style="text-align: justify;">At the &#8220;effect&#8221; part of the Json, change the &#8220;deny&#8221; to &#8220;audit&#8221;.</p>
<p id="SSRAXxV" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3032 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13aec080790.png" alt="azurepolicy5" width="348" height="147" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13aec080790.png 348w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13aec080790-300x127.png 300w" sizes="auto, (max-width: 348px) 100vw, 348px" /></p>
<p style="text-align: justify;">If you search for &#8220;NSG&#8221; you will see our new policy definition, ready to be assigned.</p>
<p id="QCJCvFG" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3027 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13abc39d28e.png" alt="azurepolicy6" width="1225" height="155" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e.png 1225w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e-300x38.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e-1024x130.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13abc39d28e-768x97.png 768w" sizes="auto, (max-width: 1225px) 100vw, 1225px" /></p>
<p style="text-align: justify;">Click on the definition&#8217;s name to open it and press Assign.</p>
<p id="pUHIeEk" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3029 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13ac4fe4c7a.png" alt="azurepolicy7" width="414" height="185" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac4fe4c7a.png 414w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac4fe4c7a-300x134.png 300w" sizes="auto, (max-width: 414px) 100vw, 414px" /></p>
<p style="text-align: justify;">I will just target the &#8220;ComplianceReport&#8221; Resource Group</p>
<p id="aXOITjl" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3030" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13ac6e6e1e9.png" alt="azurepolicy8" width="393" height="176" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac6e6e1e9.png 460w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13ac6e6e1e9-300x134.png 300w" sizes="auto, (max-width: 393px) 100vw, 393px" /></p>
<p style="text-align: justify;">At the parameters, I added the Resource ID of the NSG, &#8220;MyNSG01&#8221;</p>
<p id="odKlFjS" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3034 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0.png" alt="azurepolicy10" width="817" height="226" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0.png 817w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0-300x83.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b3206b7a0-768x212.png 768w" sizes="auto, (max-width: 817px) 100vw, 817px" /></p>
<h2>Evaluate the results</h2>
<p style="text-align: justify;">To check the compliance, go to Policy &#8211; Compliance page and search for nsg. You have to wait for about 15 minutes for the compliance policy to evaluate the resources.</p>
<p>If you search &#8220;nsg&#8221; you will see that the &#8220;Audit NSG on Subnet&#8221; policy is 50% compliant. Click on the policy&#8217;s name to view more details.</p>
<p id="EraeaTw"><img loading="lazy" decoding="async" class="alignnone wp-image-3042 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e143378a03a0.png" alt="azurepolicy11" width="1202" height="266" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0.png 1202w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0-300x66.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0-1024x227.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e143378a03a0-768x170.png 768w" sizes="auto, (max-width: 1202px) 100vw, 1202px" /></p>
<p>The assignment details page will open where we can see what resources are not compliant.</p>
<p id="KuNzmUo"><img loading="lazy" decoding="async" class="alignnone wp-image-3043 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e1434300402b.png" alt="azurepolicy12" width="1620" height="372" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b.png 1620w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-300x69.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-1024x235.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-768x176.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-1536x353.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434300402b-1320x303.png 1320w" sizes="auto, (max-width: 1620px) 100vw, 1620px" /></p>
<p>Click on the three dots (&#8230;) next to the non-compliant subnet and select &#8220;view compliance details&#8221; to check why this resource is not compliant.</p>
<p id="brVWpDI"><img loading="lazy" decoding="async" class="alignnone wp-image-3044 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e14348610a55.png" alt="azurepolicy13" width="1619" height="156" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55.png 1619w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-300x29.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-1024x99.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-768x74.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-1536x148.png 1536w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e14348610a55-1320x127.png 1320w" sizes="auto, (max-width: 1619px) 100vw, 1619px" /></p>
<p>The compliance details reports that the value is null and what the required (target) value must be.</p>
<p id="aVBFBPQ"><img loading="lazy" decoding="async" class="alignnone wp-image-3045 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e1434d14074f.png" alt="azurepolicy14" width="583" height="341" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434d14074f.png 583w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e1434d14074f-300x175.png 300w" sizes="auto, (max-width: 583px) 100vw, 583px" /></p>
<p style="text-align: justify;">If you want to trigger an on-demand compliance check, you need to make a POST request. You can follow my post <a href="https://www.e-apostolidis.gr/microsoft/validate-azure-resource-move-with-postman/">Validate Azure Resource Move with Postman </a>to create the access Token and then use it to make a POST request to the Resource Group sung this POST:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="html">https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{YourRG}/providers/Microsoft.PolicyInsights/policyStates/latest/triggerEvaluation?api-version=2018-07-01-preview</pre>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-3038 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2020/01/img_5e13b762f1816.png" alt="postman" width="1013" height="530" srcset="https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b762f1816.png 1013w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b762f1816-300x157.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2020/01/img_5e13b762f1816-768x402.png 768w" sizes="auto, (max-width: 1013px) 100vw, 1013px" /></p>
<p id="frTPHhm" style="text-align: justify;">Source:</p>
<p style="text-align: justify;"><a href="https://docs.microsoft.com/en-us/azure/governance/policy/concepts/effects">https://docs.microsoft.com/en-us/azure/governance/policy/concepts/effects</a><br />
<a href="https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet">https://docs.microsoft.com/en-us/azure/governance/policy/samples/nsg-on-subnet</a><br />
<a href="https://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#evaluation-triggers">https://docs.microsoft.com/en-us/azure/governance/policy/how-to/get-compliance-data#evaluation-triggers</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author">
<div class="saboxplugin-tab">
<div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div>
<div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div>
<div class="saboxplugin-desc">
<div itemprop="description">
<p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div>
</div>
<div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div>
<div class="clearfix"></div>
<div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;&#114;&#111;&#120;&#105;&#109;agr&#064;&#104;o&#116;mai&#108;.&#099;&#111;&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div>
</div>
</div>
<p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcompliance-report-using-azure-policy%2F&amp;linkname=Compliance%20Report%20using%20Azure%20Policy" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcompliance-report-using-azure-policy%2F&amp;linkname=Compliance%20Report%20using%20Azure%20Policy" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcompliance-report-using-azure-policy%2F&#038;title=Compliance%20Report%20using%20Azure%20Policy" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/" data-a2a-title="Compliance Report using Azure Policy"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/">Compliance Report using Azure Policy</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/compliance-report-using-azure-policy/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Create an Ultra High Available on-prem  Azure VPN Connection</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/create-an-ultra-high-available-on-prem-azure-vpn-connection/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/create-an-ultra-high-available-on-prem-azure-vpn-connection/#comments</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Mon, 22 Oct 2018 09:00:47 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[high available vpn]]></category>
		<category><![CDATA[site-to-site]]></category>
		<category><![CDATA[virtual network]]></category>
		<category><![CDATA[virtual network gateway]]></category>
		<category><![CDATA[vnet]]></category>
		<category><![CDATA[vpn]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=2165</guid>

					<description><![CDATA[<p>Create an Ultra High Available on-prem &#60;-&#62; Azure VPN Connection At this post we will see how to make a high</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/create-an-ultra-high-available-on-prem-azure-vpn-connection/">Create an Ultra High Available on-prem &lt;-&gt; Azure VPN Connection</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1 style="text-align: justify;">Create an Ultra High Available on-prem &lt;-&gt; Azure VPN Connection</h1>
<p style="text-align: justify;">At this post we will see how to make a high available connection between our on-premises network and Azure. This way we will have an Active-Active Dual-Redundancy VPN Connection.</p>
<p style="text-align: justify;">The idea behind this is that we have a router/firewall cluster,connected with two ISPs and we want to also have a VPN connection with Azure using both ISPs actively. I call this an end-to-end high available connectivity between our on-premises infrastructure and Azure. Actually the active-active dual redundant connections needs to have two different on-premises VPN devices, but we can accomplish almost the same functionality with one device and two different interfaces with two different ISPs.</p>
<p style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2170 size-full" style="font-size: 1.0625rem;" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/active-active-azure-vpn-1.jpg" alt="VPN Connectionv" width="704" height="308" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/active-active-azure-vpn-1.jpg 704w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/active-active-azure-vpn-1-300x131.jpg 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/active-active-azure-vpn-1-600x263.jpg 600w" sizes="auto, (max-width: 704px) 100vw, 704px" /></p>
<p style="text-align: justify;">The requirement for this topology, except the router/firewall cluster and the two ISPs is that the Azure VPN Gateway must be Standard or HighPerformance SKU. The Basic SKU does not support Active-Active mode.</p>
<p style="text-align: justify;">As you can see at the above diagram, the Active-Active VPN Gateway created two Active VPN Nodes. The connection of each node to each on-premises network interface in a mesh topology. All network traffic is distributed through all the connections. In order to accomplish this connectivity we need to also enable BGP to both on-premises device and Azure VPN Gateway with different ASN.</p>
<h2 style="text-align: justify;">Lets lab it:</h2>
<p style="text-align: justify;">Create a Virtual Network Gateway, VPN, Route Based and SKU VpnGw1 or larger</p>
<p style="text-align: justify;">Enable active-active mode, this will create two nodes, and give the names of the two Public IPs.</p>
<p style="text-align: justify;">Check the Configure BGB ASN and change the default ASN, I used 65510</p>
<p style="text-align: justify;">wait a lot&#8230; more than the typical 45 minutes, a lot more&#8230;</p>
<p id="OszBBli" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2177 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a3bf078d2.png" alt="VPN Connection" width="529" height="856" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a3bf078d2.png 529w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a3bf078d2-185x300.png 185w" sizes="auto, (max-width: 529px) 100vw, 529px" /></p>
<p id="wpShlpu" style="text-align: justify;">When the gateway is created you will see that the public ip address is called &#8220;First public IP address&#8221;. If you click the &#8220;see more&#8221; link you will see the second IP too.</p>
<p id="GrftlaG" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2175 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a1260c0d0.png" alt="VPN Connection" width="1011" height="355" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a1260c0d0.png 1011w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a1260c0d0-300x105.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a1260c0d0-768x270.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a1260c0d0-600x211.png 600w" sizes="auto, (max-width: 1011px) 100vw, 1011px" /></p>
<p style="text-align: justify;">You can see both IP form the Properties page too.</p>
<p id="qdnpICx" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2178 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a4757d5bc.png" alt="VPN Connection" width="521" height="499" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a4757d5bc.png 521w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a4757d5bc-300x287.png 300w" sizes="auto, (max-width: 521px) 100vw, 521px" /></p>
<p style="text-align: justify;">Second we need to create two Local network Gateways, to represent the two interfaces of our on-premises device. Both must be created with the same ASN. This ASM must be different than the Gateways&#8217; and this ASN must be configured at the configuration of the local devices VPN connection.</p>
<p id="EOHeVpw" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2179 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a4e112829.png" alt="VPN Connection" width="807" height="505" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a4e112829.png 807w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a4e112829-300x188.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a4e112829-768x481.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a4e112829-600x375.png 600w" sizes="auto, (max-width: 807px) 100vw, 807px" />]</p>
<p style="text-align: justify;">Now, create the connection</p>
<p id="ptblbOY" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2180 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a6ac7bd46.png" alt="VPN Connection" width="1229" height="386" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a6ac7bd46.png 1229w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a6ac7bd46-300x94.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a6ac7bd46-768x241.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a6ac7bd46-1024x322.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a6ac7bd46-600x188.png 600w" sizes="auto, (max-width: 1229px) 100vw, 1229px" /></p>
<p style="text-align: justify;">And remember to enable BGP at the Connection&#8217;s Configuration</p>
<p id="EjsMsCT" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2181 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a73d5c1fd.png" alt="VPN Connection" width="591" height="370" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a73d5c1fd.png 591w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a73d5c1fd-300x188.png 300w" sizes="auto, (max-width: 591px) 100vw, 591px" /></p>
<p style="text-align: justify;">As soon as the local device is configured both connections became connected.</p>
<p id="keTsbLI" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2183 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a7da5be9e.png" alt="VPN Connection" width="1258" height="420" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a7da5be9e.png 1258w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a7da5be9e-300x100.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a7da5be9e-768x256.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a7da5be9e-1024x342.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a7da5be9e-600x200.png 600w" sizes="auto, (max-width: 1258px) 100vw, 1258px" /></p>
<p style="text-align: justify;">From powershell we can see both local IPs of the two nodes of the Azure VPN Gateway,</p>
<p id="pZQnWld" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2186 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2a90fd9740.png" alt="VPN Connection" width="632" height="406" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a90fd9740.png 632w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a90fd9740-300x193.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2a90fd9740-600x385.png 600w" sizes="auto, (max-width: 632px) 100vw, 632px" /></p>
<h2>Test and Troubleshooting</h2>
<p style="text-align: justify;">Currently the only way to see the connections between the Azure Gateway Nodes and the local devices interfaces is the below powershell command</p>
<p style="text-align: justify;">Get-AzureRmVirtualNetworkGatewayBGpPeerStatus -VirtualNetworkGatewayName &#8220;gatewayname&#8221; -ResourceGroup &#8220;resourcegroupname&#8221;</p>
<p id="DXIZKqI" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2190 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2abf4ecf6d.png" alt="VPN Connection" width="1444" height="419" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2abf4ecf6d.png 1444w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2abf4ecf6d-300x87.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2abf4ecf6d-768x223.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2abf4ecf6d-1024x297.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2abf4ecf6d-600x174.png 600w" sizes="auto, (max-width: 1444px) 100vw, 1444px" /></p>
<p style="text-align: justify;">Every time you run this command you get answer from one of the two nodes at random. At the above screenshot, first is one node and second is the other.</p>
<p style="text-align: justify;">The first node&#8217;s peer, 192.168.xx.9 shows that is connect<strong>ed</strong> to the 10.xx.xx.2 local network&#8217;s peer and connect<strong>ing</strong> at the second peer 10.xx.xx.1</p>
<p style="text-align: justify;">The second node&#8217;s peer, 192.168.xx.8 shows that is connect<strong>ed</strong> to the 10.xx.xx.1 local network&#8217;s peer and connect<strong>ing</strong> at the second peer 10.xx.xx.2</p>
<p id="LgtabOH" style="text-align: justify;"><img loading="lazy" decoding="async" class="alignnone wp-image-2191 size-full" src="https://www.e-apostolidis.gr/wp-content/uploads/2018/09/img_5ba2ad172e960.png" alt="VPN Connection" width="609" height="410" srcset="https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2ad172e960.png 609w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2ad172e960-300x202.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2ad172e960-600x404.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2018/09/img_5ba2ad172e960-120x80.png 120w" sizes="auto, (max-width: 609px) 100vw, 609px" /></p>
<p style="text-align: justify;">The test I performed was to unplug one interface from the local device. The azure gateway&#8217;s first node State was both Connecting and the second node was the same, connecting to .2 and connected to .1.  At this test I did lost a single ping.</p>
<p style="text-align: justify;">After that I plugged the cable back, waited less than a minute and unplugged the second cable. Now the first node shows still disconnected but the first node connected to the .2 local IP and connecting to .1. With this test I lost only one ping. Also I realized that it is random which node&#8217;s private IP will connect with the local device&#8217;s private IP. Both Azure Gateway&#8217;s IPs 192.168.x.8 &amp; 9 can connect with the local device&#8217;s IP 10.x.x.1 &amp; 2 and this is the magic of the Active-Active Dual Redundancy VPN connection.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author">
<div class="saboxplugin-tab">
<div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div>
<div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div>
<div class="saboxplugin-desc">
<div itemprop="description">
<p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div>
</div>
<div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div>
<div class="clearfix"></div>
<div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:pr&#111;&#120;i&#109;ag&#114;&#064;ho&#116;m&#097;&#105;&#108;&#046;&#099;&#111;&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div>
</div>
</div>
<p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcreate-an-ultra-high-available-on-prem-azure-vpn-connection%2F&amp;linkname=Create%20an%20Ultra%20High%20Available%20on-prem%20%20Azure%20VPN%20Connection" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcreate-an-ultra-high-available-on-prem-azure-vpn-connection%2F&amp;linkname=Create%20an%20Ultra%20High%20Available%20on-prem%20%20Azure%20VPN%20Connection" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fcreate-an-ultra-high-available-on-prem-azure-vpn-connection%2F&#038;title=Create%20an%20Ultra%20High%20Available%20on-prem%20%20Azure%20VPN%20Connection" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/create-an-ultra-high-available-on-prem-azure-vpn-connection/" data-a2a-title="Create an Ultra High Available on-prem  Azure VPN Connection"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/create-an-ultra-high-available-on-prem-azure-vpn-connection/">Create an Ultra High Available on-prem &lt;-&gt; Azure VPN Connection</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/create-an-ultra-high-available-on-prem-azure-vpn-connection/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Ασφαλίστε την Azure MySQL και PostgreSQL με τη χρήση Service Endpoints</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/%ce%b1%cf%83%cf%86%ce%b1%ce%bb%ce%af%cf%83%cf%84%ce%b5-%cf%84%ce%b7%ce%bd-mysql-%ce%ba%ce%b1%ce%b9-%cf%84%ce%b7%ce%bd-postgresql-%ce%bc%ce%b5-%cf%84%ce%b7-%cf%87%cf%81%ce%ae%cf%83%ce%b7-service-endpoi/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/%ce%b1%cf%83%cf%86%ce%b1%ce%bb%ce%af%cf%83%cf%84%ce%b5-%cf%84%ce%b7%ce%bd-mysql-%ce%ba%ce%b1%ce%b9-%cf%84%ce%b7%ce%bd-postgresql-%ce%bc%ce%b5-%cf%84%ce%b7-%cf%87%cf%81%ce%ae%cf%83%ce%b7-service-endpoi/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Fri, 17 Aug 2018 10:40:32 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Ελληνικά]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[service endpoints]]></category>
		<category><![CDATA[virtual network]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=2031</guid>

					<description><![CDATA[<p>Ασφαλίστε την MySQL και την PostgreSQL με τη χρήση Service Endpoints Σε προηγούμενο post, Ασφάλισε την Azure SQL Database μέσα σε</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/%ce%b1%cf%83%cf%86%ce%b1%ce%bb%ce%af%cf%83%cf%84%ce%b5-%cf%84%ce%b7%ce%bd-mysql-%ce%ba%ce%b1%ce%b9-%cf%84%ce%b7%ce%bd-postgresql-%ce%bc%ce%b5-%cf%84%ce%b7-%cf%87%cf%81%ce%ae%cf%83%ce%b7-service-endpoi/">Ασφαλίστε την Azure MySQL και PostgreSQL με τη χρήση Service Endpoints</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<h1 style="text-align: justify;">Ασφαλίστε την MySQL και την PostgreSQL με τη χρήση Service Endpoints</h1>
<p style="text-align: justify;">Σε προηγούμενο post, <a href="https://www.e-apostolidis.gr/%ce%b5%ce%bb%ce%bb%ce%b7%ce%bd%ce%b9%ce%ba%ce%ac/%ce%b1%cf%83%cf%86%ce%ac%ce%bb%ce%b9%cf%83%ce%b5-%cf%84%ce%b7%ce%bd-azure-sql-database-%ce%bc%ce%ad%cf%83%ce%b1-%cf%83%ce%b5-%ce%ad%ce%bd%ce%b1-vnet-%cf%87%cf%81%ce%b7%cf%83%ce%b9%ce%bc%ce%bf%cf%80/" target="_blank" rel="noopener">Ασφάλισε την Azure SQL Database μέσα σε ένα VNET χρησιμοποιώντας service endpoints</a>, είδαμε πως μπορούμε να χρησιμοποιήσουμε τα Service Endpoints του Azure Virtual Network για να ασφαλίσουμε μια Azure SQL για πρόσβαση μόνο από εσωτερικό δίκτυο.</p>



<p style="text-align: justify;">Σήμερα, το Microsoft Azure, ανακοίνωσε την γενική διαθεσιμότητα του Service Endpoints για MySQL και PostgreSQL. Αυτό δίνει την δυνατότητα να κόψουμε όλη την Public πρόσβαση στις MySQL &amp; PostgreSQL και να επιτρέψουμε μόνο πρόσβαση απο το εσωτερικό μας δίκτυο. Φυσικά μπορεί να οριστεί συγκεκριμένο Subnet ή Subnets. Επίσης δεν υπαρχει επιπλέων χρέωση για την χρήση των Service Endpoint.</p>



<p style="text-align: justify;">Περισσότερα μπορείτε να δείτε στο Microsoft Azure Blog: <a href="https://azure.microsoft.com/en-us/blog/vnet-service-endpoints-for-azure-database-services-for-mysql-and-postgresql-ga/">Announcing VNet service endpoints general availability for MySQL and PostgreSQL</a></p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author"><div class="saboxplugin-tab"><div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div><div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div><div class="saboxplugin-desc"><div itemprop="description"><p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div></div><div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div><div class="clearfix"></div><div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;&#114;ox&#105;&#109;a&#103;&#114;&#064;ho&#116;&#109;ai&#108;.&#099;&#111;&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div></div></div><p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2F%25ce%25b1%25cf%2583%25cf%2586%25ce%25b1%25ce%25bb%25ce%25af%25cf%2583%25cf%2584%25ce%25b5-%25cf%2584%25ce%25b7%25ce%25bd-mysql-%25ce%25ba%25ce%25b1%25ce%25b9-%25cf%2584%25ce%25b7%25ce%25bd-postgresql-%25ce%25bc%25ce%25b5-%25cf%2584%25ce%25b7-%25cf%2587%25cf%2581%25ce%25ae%25cf%2583%25ce%25b7-service-endpoi%2F&amp;linkname=%CE%91%CF%83%CF%86%CE%B1%CE%BB%CE%AF%CF%83%CF%84%CE%B5%20%CF%84%CE%B7%CE%BD%20Azure%20MySQL%20%CE%BA%CE%B1%CE%B9%20PostgreSQL%20%CE%BC%CE%B5%20%CF%84%CE%B7%20%CF%87%CF%81%CE%AE%CF%83%CE%B7%20Service%20Endpoints" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2F%25ce%25b1%25cf%2583%25cf%2586%25ce%25b1%25ce%25bb%25ce%25af%25cf%2583%25cf%2584%25ce%25b5-%25cf%2584%25ce%25b7%25ce%25bd-mysql-%25ce%25ba%25ce%25b1%25ce%25b9-%25cf%2584%25ce%25b7%25ce%25bd-postgresql-%25ce%25bc%25ce%25b5-%25cf%2584%25ce%25b7-%25cf%2587%25cf%2581%25ce%25ae%25cf%2583%25ce%25b7-service-endpoi%2F&amp;linkname=%CE%91%CF%83%CF%86%CE%B1%CE%BB%CE%AF%CF%83%CF%84%CE%B5%20%CF%84%CE%B7%CE%BD%20Azure%20MySQL%20%CE%BA%CE%B1%CE%B9%20PostgreSQL%20%CE%BC%CE%B5%20%CF%84%CE%B7%20%CF%87%CF%81%CE%AE%CF%83%CE%B7%20Service%20Endpoints" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2F%25ce%25b1%25cf%2583%25cf%2586%25ce%25b1%25ce%25bb%25ce%25af%25cf%2583%25cf%2584%25ce%25b5-%25cf%2584%25ce%25b7%25ce%25bd-mysql-%25ce%25ba%25ce%25b1%25ce%25b9-%25cf%2584%25ce%25b7%25ce%25bd-postgresql-%25ce%25bc%25ce%25b5-%25cf%2584%25ce%25b7-%25cf%2587%25cf%2581%25ce%25ae%25cf%2583%25ce%25b7-service-endpoi%2F&#038;title=%CE%91%CF%83%CF%86%CE%B1%CE%BB%CE%AF%CF%83%CF%84%CE%B5%20%CF%84%CE%B7%CE%BD%20Azure%20MySQL%20%CE%BA%CE%B1%CE%B9%20PostgreSQL%20%CE%BC%CE%B5%20%CF%84%CE%B7%20%CF%87%CF%81%CE%AE%CF%83%CE%B7%20Service%20Endpoints" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/%ce%b1%cf%83%cf%86%ce%b1%ce%bb%ce%af%cf%83%cf%84%ce%b5-%cf%84%ce%b7%ce%bd-mysql-%ce%ba%ce%b1%ce%b9-%cf%84%ce%b7%ce%bd-postgresql-%ce%bc%ce%b5-%cf%84%ce%b7-%cf%87%cf%81%ce%ae%cf%83%ce%b7-service-endpoi/" data-a2a-title="Ασφαλίστε την Azure MySQL και PostgreSQL με τη χρήση Service Endpoints"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/%ce%b1%cf%83%cf%86%ce%b1%ce%bb%ce%af%cf%83%cf%84%ce%b5-%cf%84%ce%b7%ce%bd-mysql-%ce%ba%ce%b1%ce%b9-%cf%84%ce%b7%ce%bd-postgresql-%ce%bc%ce%b5-%cf%84%ce%b7-%cf%87%cf%81%ce%ae%cf%83%ce%b7-service-endpoi/">Ασφαλίστε την Azure MySQL και PostgreSQL με τη χρήση Service Endpoints</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/%ce%b1%cf%83%cf%86%ce%b1%ce%bb%ce%af%cf%83%cf%84%ce%b5-%cf%84%ce%b7%ce%bd-mysql-%ce%ba%ce%b1%ce%b9-%cf%84%ce%b7%ce%bd-postgresql-%ce%bc%ce%b5-%cf%84%ce%b7-%cf%87%cf%81%ce%ae%cf%83%ce%b7-service-endpoi/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Secure your Azure SQL locally inside your vnet using service endpoints</title>
		<link>https://www.cloudcorner.gr/microsoft/azure/secure-your-azure-sql-locally-inside-your-vnet/</link>
					<comments>https://www.cloudcorner.gr/microsoft/azure/secure-your-azure-sql-locally-inside-your-vnet/#respond</comments>
		
		<dc:creator><![CDATA[Pantelis Apostolidis]]></dc:creator>
		<pubDate>Mon, 09 Oct 2017 21:21:33 +0000</pubDate>
				<category><![CDATA[Azure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[azure]]></category>
		<category><![CDATA[azure sql]]></category>
		<category><![CDATA[azurerm]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[vnet]]></category>
		<guid isPermaLink="false">https://www.e-apostolidis.gr/?p=1531</guid>

					<description><![CDATA[<p>Secure your Azure SQL locally inside your vnet  using service endpoints For many companies, a throwback of using Azure SQL</p>
<p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/secure-your-azure-sql-locally-inside-your-vnet/">Secure your Azure SQL locally inside your vnet using service endpoints</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h2>Secure your Azure SQL locally inside your vnet  using service endpoints</h2>
<p>For many companies, a throwback of using Azure SQL was the Public Access. After the latest Azure updates you can use the service endpoints to  Secure your Azure SQL locally inside your vnet! For the time, the feature is available only at the West Central US, West US 2, and East US regions but soon more will follow.</p>
<p>So, lets secure your Azure SQL locally inside your vnet! At the VNET creation blade, select the Microsoft.Sql service endpoint from the list of the available service endpoints.</p>
<p id="PorSIKT"><img loading="lazy" decoding="async" width="310" height="257" class="alignnone size-full wp-image-1533 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbdaba04ced.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdaba04ced.png 310w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdaba04ced-300x249.png 300w" sizes="auto, (max-width: 310px) 100vw, 310px" /></p>
<p>Then create an SQL Database at the same region,</p>
<p id="ndSZPQN"><img loading="lazy" decoding="async" width="935" height="418" class="alignnone size-full wp-image-1534 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbdc1357e2d.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdc1357e2d.png 935w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdc1357e2d-300x134.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdc1357e2d-768x343.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdc1357e2d-600x268.png 600w" sizes="auto, (max-width: 935px) 100vw, 935px" /></p>
<p>&nbsp;</p>
<p>Next, go to the SQL server firewall settings and turn Off the &#8220;Allow access to Azure services&#8221;. By doing this you disable the access to the SQL Server using the Public IP.</p>
<p id="JtjgWNm"><img loading="lazy" decoding="async" width="853" height="570" class="alignnone size-full wp-image-1535 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbdda6c52ac.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdda6c52ac.png 853w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdda6c52ac-300x200.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdda6c52ac-768x513.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdda6c52ac-600x401.png 600w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbdda6c52ac-120x80.png 120w" sizes="auto, (max-width: 853px) 100vw, 853px" /></p>
<p>Click the &#8220;Add existing virtual network&#8221; and create an access rule, in order to be able to access the SQL Server from your Virtual Network using the service endpoints.</p>
<p id="BtyMUrm"><img loading="lazy" decoding="async" width="1089" height="534" class="alignnone size-full wp-image-1536 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbde1321f23.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbde1321f23.png 1089w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbde1321f23-300x147.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbde1321f23-768x377.png 768w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbde1321f23-1024x502.png 1024w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbde1321f23-600x294.png 600w" sizes="auto, (max-width: 1089px) 100vw, 1089px" /></p>
<p>Now lets test. A fast way to test your SQL connectivity from a Virtual Machine on the VNET, without having the SQL management tools, is to open the &#8220;ODBC Data Source Administrator&#8221; and create a new connection. Add the Azure SQL Server IP</p>
<p id="yKMvSEL"><img loading="lazy" decoding="async" width="669" height="493" class="alignnone size-full wp-image-1538 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbe0fb1087e.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe0fb1087e.png 669w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe0fb1087e-300x221.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe0fb1087e-600x442.png 600w" sizes="auto, (max-width: 669px) 100vw, 669px" /></p>
<p>at the next screen enter the username and password of your SQL Server and finally click the &#8220;Test Data Source&#8221;</p>
<p id="siAKEVk"><img loading="lazy" decoding="async" width="386" height="401" class="alignnone size-full wp-image-1539 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbe13f44bb3.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe13f44bb3.png 386w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe13f44bb3-289x300.png 289w" sizes="auto, (max-width: 386px) 100vw, 386px" /></p>
<p>Of course we can also connect with the SMSS. Add the SQL Server FQDN, the username and the password</p>
<p id="SlcwnoV"><img loading="lazy" decoding="async" width="476" height="315" class="alignnone size-full wp-image-1544 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbe821dabe6.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe821dabe6.png 476w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe821dabe6-300x199.png 300w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe821dabe6-120x80.png 120w" sizes="auto, (max-width: 476px) 100vw, 476px" /></p>
<p>and you are connected, fast and securely!</p>
<p id="TRgdKAl"><img loading="lazy" decoding="async" width="387" height="153" class="alignnone size-full wp-image-1545 " src="https://www.e-apostolidis.gr/wp-content/uploads/2017/10/img_59dbe8390c457.png" alt="" srcset="https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe8390c457.png 387w, https://www.cloudcorner.gr/wp-content/uploads/2017/10/img_59dbe8390c457-300x119.png 300w" sizes="auto, (max-width: 387px) 100vw, 387px" /></p>
<p>&nbsp;</p>
<p>You cannot yet add your SQL to a subnet, but you secure it&#8217;s access inside your VNET! all public access is denied.</p>
<div class="saboxplugin-wrap" itemtype="http://schema.org/Person" itemscope itemprop="author">
<div class="saboxplugin-tab">
<div class="saboxplugin-gravatar"><img loading="lazy" decoding="async" src="https://www.e-apostolidis.gr/wp-content/uploads/2019/05/mvpsummit2019.jpg" width="100"  height="100" alt="Pantelis Apostolidis" itemprop="image"></div>
<div class="saboxplugin-authorname"><a href="https://www.cloudcorner.gr/author/admin/" class="vcard author" rel="author"><span class="fn">Pantelis Apostolidis</span></a></div>
<div class="saboxplugin-desc">
<div itemprop="description">
<p>Pantelis Apostolidis is a Sr. Specialist, Azure at Microsoft and a former Microsoft Azure MVP. For the last 20 years, Pantelis has been involved to major cloud projects in Greece and abroad, helping companies to adopt and deploy cloud technologies, driving business value. He is entitled to a lot of Microsoft Expert Certifications, demonstrating his proven experience in delivering high quality solutions. He is an author, blogger and he is acting as a spokesperson for conferences, workshops and webinars. He is also an active member of several communities as a moderator in azureheads.gr and autoexec.gr. Follow him on Twitter @papostolidis.</p>
</div>
</div>
<div class="saboxplugin-web "><a href="https://www.cloudcorner.gr" target="_self" >www.cloudcorner.gr</a></div>
<div class="clearfix"></div>
<div class="saboxplugin-socials "><a title="Facebook" target="_blank" href="https://www.facebook.com/pantelis.apostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-facebook" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 264 512"><path fill="currentColor" d="M76.7 512V283H0v-91h76.7v-71.7C76.7 42.4 124.3 0 193.8 0c33.3 0 61.9 2.5 70.2 3.6V85h-48.2c-37.8 0-45.1 18-45.1 44.3V192H256l-11.7 91h-73.6v229"></path></svg></span></a><a title="Linkedin" target="_blank" href="https://www.linkedin.com/in/papostolidis/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-linkedin" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M100.3 480H7.4V180.9h92.9V480zM53.8 140.1C24.1 140.1 0 115.5 0 85.8 0 56.1 24.1 32 53.8 32c29.7 0 53.8 24.1 53.8 53.8 0 29.7-24.1 54.3-53.8 54.3zM448 480h-92.7V334.4c0-34.7-.7-79.2-48.3-79.2-48.3 0-55.7 37.7-55.7 76.7V480h-92.8V180.9h89.1v40.8h1.3c12.4-23.5 42.7-48.3 87.9-48.3 94 0 111.3 61.9 111.3 142.3V480z"></path></svg></span></a><a title="Instagram" target="_blank" href="https://www.instagram.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-instagram" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"></path></svg></span></a><a title="Rss" target="_blank" href="https://wwwcloudcorner.gr/feed/rdf/" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-rss" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M128.081 415.959c0 35.369-28.672 64.041-64.041 64.041S0 451.328 0 415.959s28.672-64.041 64.041-64.041 64.04 28.673 64.04 64.041zm175.66 47.25c-8.354-154.6-132.185-278.587-286.95-286.95C7.656 175.765 0 183.105 0 192.253v48.069c0 8.415 6.49 15.472 14.887 16.018 111.832 7.284 201.473 96.702 208.772 208.772.547 8.397 7.604 14.887 16.018 14.887h48.069c9.149.001 16.489-7.655 15.995-16.79zm144.249.288C439.596 229.677 251.465 40.445 16.503 32.01 7.473 31.686 0 38.981 0 48.016v48.068c0 8.625 6.835 15.645 15.453 15.999 191.179 7.839 344.627 161.316 352.465 352.465.353 8.618 7.373 15.453 15.999 15.453h48.068c9.034-.001 16.329-7.474 16.005-16.504z"></path></svg></span></a><a title="Twitter" target="_blank" href="https://twitter.com/papostolidis" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-twitter" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 30 30"><path d="M26.37,26l-8.795-12.822l0.015,0.012L25.52,4h-2.65l-6.46,7.48L11.28,4H4.33l8.211,11.971L12.54,15.97L3.88,26h2.65 l7.182-8.322L19.42,26H26.37z M10.23,6l12.34,18h-2.1L8.12,6H10.23z" /></svg></span></a><a title="Github" target="_blank" href="https://github.com/proximagr" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-github" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 496 512"><path fill="currentColor" d="M165.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3zm44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM244.8 8C106.1 8 0 113.3 0 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C428.2 457.8 496 362.9 496 252 496 113.3 383.5 8 244.8 8zM97.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9 1.6 2.3 4.3 3.3 5.6 2.3 1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z"></path></svg></span></a><a title="User email" target="_self" href="mailto:&#112;r&#111;xi&#109;ag&#114;&#064;ho&#116;&#109;ai&#108;.&#099;o&#109;" rel="nofollow noopener" class="saboxplugin-icon-grey"><svg aria-hidden="true" class="sab-user_email" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path fill="currentColor" d="M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z"></path></svg></span></a></div>
</div>
</div>
<p><a class="a2a_button_email" href="https://www.addtoany.com/add_to/email?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fsecure-your-azure-sql-locally-inside-your-vnet%2F&amp;linkname=Secure%20your%20Azure%20SQL%20locally%20inside%20your%20vnet%20using%20service%20endpoints" title="Email" rel="nofollow noopener" target="_blank"></a><a class="a2a_button_print" href="https://www.addtoany.com/add_to/print?linkurl=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fsecure-your-azure-sql-locally-inside-your-vnet%2F&amp;linkname=Secure%20your%20Azure%20SQL%20locally%20inside%20your%20vnet%20using%20service%20endpoints" title="Print" rel="nofollow noopener" target="_blank"></a><a class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fwww.cloudcorner.gr%2Fmicrosoft%2Fazure%2Fsecure-your-azure-sql-locally-inside-your-vnet%2F&#038;title=Secure%20your%20Azure%20SQL%20locally%20inside%20your%20vnet%20using%20service%20endpoints" data-a2a-url="https://www.cloudcorner.gr/microsoft/azure/secure-your-azure-sql-locally-inside-your-vnet/" data-a2a-title="Secure your Azure SQL locally inside your vnet using service endpoints"><img src="https://static.addtoany.com/buttons/share_save_171_16.png" alt="Share"></a></p><p>The post <a href="https://www.cloudcorner.gr/microsoft/azure/secure-your-azure-sql-locally-inside-your-vnet/">Secure your Azure SQL locally inside your vnet using service endpoints</a> appeared first on <a href="https://www.cloudcorner.gr">Apostolidis Cloud Corner</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.cloudcorner.gr/microsoft/azure/secure-your-azure-sql-locally-inside-your-vnet/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
