{"id":512,"date":"2022-09-30T21:14:21","date_gmt":"2022-10-01T02:14:21","guid":{"rendered":"https:\/\/cloudlearning365.com\/?p=512"},"modified":"2024-10-13T09:49:25","modified_gmt":"2024-10-13T14:49:25","slug":"bgp-over-ipsec-between-aviatrix-transit-and-azure-vpn-gateway","status":"publish","type":"post","link":"https:\/\/cloudlearning365.com\/?p=512","title":{"rendered":"BGP over IPSec between Aviatrix Transit and Azure VPN Gateway"},"content":{"rendered":"\n<p>There are times when we need to build connectivity between Aviatrix Transit and Azure VPN Gateways. I&#8217;ve created a <a href=\"https:\/\/registry.terraform.io\/modules\/jye-aviatrix\/lab-azure-vpn-gateway-bgp-over-ipsec-with-aviatrix-transit\/aviatrix\/latest\">terraform module<\/a> for a quick lab demonstrate how this can be done.<\/p>\n\n\n\n<!--more-->\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"843\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/20220930185305-1024x843.png\" alt=\"\" class=\"wp-image-513\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/20220930185305-1024x843.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/20220930185305-300x247.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/20220930185305-768x633.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/20220930185305-1536x1265.png 1536w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/20220930185305.png 1735w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\"><br><\/figcaption><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aviatrix Transit Gateways establish two IPSec tunnels with Azure VPN Gateway, both tunnels are active and Equal Cost Multi-Path (ECMP).<\/li>\n\n\n\n<li>Aviatrix Spoke CIDR will be propagate to bottom right Spoke vNet, via the BGP\/IPSec tunnels between VNG and Aviatrix Transit.<\/li>\n\n\n\n<li>Spoke vNet and vNG vNet CIDR gets propagated to Aviatrix Transit via the IPSec tunnels with VNG<\/li>\n\n\n\n<li>Spoke vNet peering with VNG vNet while specifying use remote virtual network&#8217;s gateway<\/li>\n\n\n\n<li>VNG vNet peering with Spoke vNet while specifying use this virtual network&#8217;s gateway<\/li>\n<\/ul>\n\n\n\n<p><strong>Note<\/strong>: Both Express Route Gateway and VPN Gateway can be called VNET Gateway (VNG), this interchange of terms sometimes may cause confusion. When communicating, please make sure clarify VNG refer to either Express Route Gateway (ERGW) or VPN Gateway (VPNGW). In this article, VNG refer to Azure VPN Gateway.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Azure Portal &#8211; Configuration Details<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">VPN Gateway Config<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Active &#8211; active selected<\/li>\n\n\n\n<li>BGP Enabled<\/li>\n\n\n\n<li>ASN assigned<\/li>\n\n\n\n<li>Custom Azure APIPA BGP IP Address (equals to Aviatrix Tunnel IPs) configured for both IP Configurations<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"525\" height=\"741\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-78.png\" alt=\"\" class=\"wp-image-514\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-78.png 525w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-78-213x300.png 213w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Local Network Gateways<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Local network gateways as similar to AWS Customer Gateway, it tells Azure what remote gateway&#8217;s public IP, ASN number, and Tunnel IP are. However, each local network gateway can only point to a single tunnel IP.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>For Aviatrix Transit Primary Gateway and HA Gateway, I&#8217;ve created one local gateway for each, note the BGP peer IP is in the same \/30 range as the ones on VPN Gateway. Also note that I&#8217;m using 169.254.21.* and 169.254.22.* in following examples.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"614\" height=\"398\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-79.png\" alt=\"\" class=\"wp-image-515\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-79.png 614w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-79-300x194.png 300w\" sizes=\"auto, (max-width: 614px) 100vw, 614px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"625\" height=\"407\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-80.png\" alt=\"\" class=\"wp-image-516\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-80.png 625w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-80-300x195.png 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Connections<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Connections defines the IPSec tunnels with Aviatrix Transit Gateways<\/li>\n\n\n\n<li>Enable BGP and use IKE V2<\/li>\n\n\n\n<li>Modified IPSec \/ IKE policy to match Aviatrix default settings<\/li>\n\n\n\n<li>Set connections to be responder only, as Aviatrix Transit Gateways are protected by Network Security Group, won&#8217;t accept incoming IKE\/IPSec by default<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"598\" height=\"1024\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-96-598x1024.png\" alt=\"\" class=\"wp-image-1701\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-96-598x1024.png 598w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-96-175x300.png 175w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-96-768x1316.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-96-896x1536.png 896w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-96.png 1020w\" sizes=\"auto, (max-width: 598px) 100vw, 598px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"587\" height=\"1024\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-97-587x1024.png\" alt=\"\" class=\"wp-image-1702\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-97-587x1024.png 587w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-97-172x300.png 172w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-97-768x1339.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-97-881x1536.png 881w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-97.png 1000w\" sizes=\"auto, (max-width: 587px) 100vw, 587px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">vNet Peering<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Spoke vNet to VNG vNet<\/h4>\n\n\n\n<p><strong>Use the remote virtual network&#8217;s gateway or Route Server<\/strong> is selected<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"350\" height=\"490\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-89.png\" alt=\"\" class=\"wp-image-525\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-89.png 350w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-89-214x300.png 214w\" sizes=\"auto, (max-width: 350px) 100vw, 350px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">VNG vNet to Spoke vNet<\/h4>\n\n\n\n<p><strong>Use this virtual network&#8217;s gateway or Router Server<\/strong> is selected<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"349\" height=\"487\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-90.png\" alt=\"\" class=\"wp-image-526\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-90.png 349w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-90-215x300.png 215w\" sizes=\"auto, (max-width: 349px) 100vw, 349px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Effective Route<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">test VM in VNG vNet<\/h4>\n\n\n\n<p>Note it learned Aviatrix Spoke CIDR and point to VNG&#8217;s two IPs<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"421\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-91.png\" alt=\"\" class=\"wp-image-527\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-91.png 900w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-91-300x140.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-91-768x359.png 768w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">test VM in Spoke vNet<\/h4>\n\n\n\n<p>Note it also learned Aviatrix Spoke CIDR and point to VNG&#8217;s two IPs<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"901\" height=\"422\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-92.png\" alt=\"\" class=\"wp-image-528\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-92.png 901w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-92-300x141.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-92-768x360.png 768w\" sizes=\"auto, (max-width: 901px) 100vw, 901px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Aviatrix &#8211; Configuration Detail<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">Multi-Cloud Transit -&gt; External Device<\/h4>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"769\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-84.png\" alt=\"\" class=\"wp-image-520\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-84.png 770w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-84-300x300.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-84-150x150.png 150w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-84-768x767.png 768w\" sizes=\"auto, (max-width: 770px) 100vw, 770px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Topology view<\/h4>\n\n\n\n<p>Aviatrix sees everything it manages up to the Site to Cloud connection to the VNG<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"396\" height=\"572\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-83.png\" alt=\"\" class=\"wp-image-519\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-83.png 396w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-83-208x300.png 208w\" sizes=\"auto, (max-width: 396px) 100vw, 396px\" \/><\/figure>\n\n\n\n<p>From Aviatrix Spoke Gateway, run trace route to the test VM in spoke vNet peered with VNG vNet<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"917\" height=\"289\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-88.png\" alt=\"\" class=\"wp-image-524\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-88.png 917w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-88-300x95.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-88-768x242.png 768w\" sizes=\"auto, (max-width: 917px) 100vw, 917px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">CoPilot -&gt; Cloud Routes<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Site 2 Cloud<\/h5>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"405\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-85-1024x405.png\" alt=\"\" class=\"wp-image-521\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-85-1024x405.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-85-300x119.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-85-768x304.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-85.png 1407w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">BGP Info <\/h5>\n\n\n\n<p>Note it learned CIDR from VNG vNet, also learned CIDR from the spoke vNet peered with VNG vNet, when spoke vNet specify to use remote network&#8217;s gateway<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"288\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-86-1024x288.png\" alt=\"\" class=\"wp-image-522\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-86-1024x288.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-86-300x84.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-86-768x216.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-86.png 1415w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Note Aviatrix transit advertise it&#8217;s attached spoke routes to VNG<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"258\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-87-1024x258.png\" alt=\"\" class=\"wp-image-523\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-87-1024x258.png 1024w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-87-300x76.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-87-768x194.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/09\/image-87.png 1395w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Note: <\/strong>Why are we building only two tunnels? According to <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/vpn-gateway\/vpn-gateway-highlyavailable#dual-redundancy-active-active-vpn-gateways-for-both-azure-and-on-premises-networks\">Microsoft article<\/a>, it&#8217;s possible to build full mesh with remote gateways. However, when building BGP over IPSec tunnels, from Aviatrix&#8217;s point of view:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"968\" height=\"720\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-Aviatrix-View-1.png\" alt=\"\" class=\"wp-image-723\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-Aviatrix-View-1.png 968w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-Aviatrix-View-1-300x223.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-Aviatrix-View-1-768x571.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-Aviatrix-View-1-403x300.png 403w\" sizes=\"auto, (max-width: 968px) 100vw, 968px\" \/><figcaption class=\"wp-element-caption\">Note: IPs are for illustration only <\/figcaption><\/figure>\n\n\n\n<p>If you have followed my previous post: <a href=\"https:\/\/cloudlearning365.com\/?p=491\">Aviatrix Site to Cloud Connection demystified<\/a>, in option 3, when building a full mesh IPSec connections, you will need to select Enable Remote Gateway HA, and use \/30 for tunnel IPs. Azure VPN Gateway requires 169.254.21.* and 169.254.22.*<\/p>\n\n\n\n<p>Local Tunnel IP: 169.254.21.2\/30,169.254.21.6\/30<br>Remote Tunnel IP: 169.254.21.1\/30, 169.254.21.5\/30<br>Local Tunnel IP (Backup): 169.254.21.10\/30,169.254.21.14\/30<br>Remote Tunnel IP (Backup): 169.254.21.9\/30, 169.254.21.13\/30<\/p>\n\n\n\n<p>From Azure VPN Gateway&#8217;s prospective, it uses Local Network Gateway build connection. If we follow the same IP Schema:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"948\" height=\"720\" src=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-VNG-View.png\" alt=\"\" class=\"wp-image-724\" srcset=\"https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-VNG-View.png 948w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-VNG-View-300x228.png 300w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-VNG-View-768x583.png 768w, https:\/\/cloudlearning365.com\/wp-content\/uploads\/2022\/10\/Aviatrix-Transit-to-VNG-Full-Mesh-VNG-View-395x300.png 395w\" sizes=\"auto, (max-width: 948px) 100vw, 948px\" \/><figcaption class=\"wp-element-caption\">Note: IPs are for illustration only <\/figcaption><\/figure>\n\n\n\n<p>You can see that only these two groups of IPs can form neighbours: <\/p>\n\n\n\n<p>169.254.21.1\/30 and 169.254.21.2\/30<br>169.254.21.13\/30 and 169.254.21.14\/30<\/p>\n\n\n\n<p>Since we can only form two BGP peers, it would make sense to create only two tunnels instead.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>There are times when we need to build connectivity between Aviatrix Transit and Azure VPN Gateways. I&#8217;ve created a terraform module for a quick lab demonstrate how this can be done.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[2,4],"tags":[],"class_list":["post-512","post","type-post","status-publish","format-standard","hentry","category-aviatrix","category-azure"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts\/512","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=512"}],"version-history":[{"count":11,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts\/512\/revisions"}],"predecessor-version":[{"id":1703,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=\/wp\/v2\/posts\/512\/revisions\/1703"}],"wp:attachment":[{"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=512"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=512"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudlearning365.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=512"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}