{"id":1343,"date":"2022-03-16T10:22:41","date_gmt":"2022-03-16T09:22:41","guid":{"rendered":"https:\/\/vminded.com\/?p=1343"},"modified":"2022-03-16T11:08:28","modified_gmt":"2022-03-16T10:08:28","slug":"tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws","status":"publish","type":"post","link":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/","title":{"rendered":"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS"},"content":{"rendered":"\n<p>Today I wanted to cover a topic that was recently raised by one of my customer about how to filter routes coming from a native TGW attached to an SDDC with a Route Based VPN.<\/p>\n\n\n\n<p>There are currently no way to do it over the UI but it is possible through an API call to configure route filtering in and out with a Route Based VPN.<\/p>\n\n\n\n<p>Let&#8217;s see how it is possible.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-route-based-vpn-attachment-to-a-native-transit-gateway\">Route Based VPN attachment to a native Transit Gateway<\/h2>\n\n\n\n<p>First thing I have created a route based VPN from my SDDC to a native Transit Gateway running on AWS.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"708\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png\" alt=\"\" class=\"wp-image-1424\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-300x207.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-768x531.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1200x829.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08.png 1288w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>The Transit Gateway is itself attach to a native VPC with 172.16.0.0\/16 as subnet.<\/p>\n\n\n\n<p>Let&#8217;s have a look at the VPN configuration in the SDDC and in the native AWS side.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">AWS Transit Gateway VPN configuration<\/h3>\n\n\n\n<p>There is a site to site VPN configured with one tunnel (I didn&#8217;t configure two tunnels in that example).<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.38.50-1024x22.png\" alt=\"\" class=\"wp-image-1407\" width=\"931\" height=\"20\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.38.50-1024x22.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.38.50-300x6.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.38.50-768x16.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.38.50-1200x26.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.38.50.png 1352w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure><\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>The TGW is currently learning the SDDC subnets (see the 5 BGP ROUTES)  including the management segment.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"228\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.39.21-1024x228.png\" alt=\"\" class=\"wp-image-1408\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.39.21-1024x228.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.39.21-300x67.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.39.21-768x171.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.39.21-1200x267.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.39.21.png 1354w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p> In order to see all the learned CIDRs, I need to display the Transit Gateway route table.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"770\" height=\"996\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.37.26.png\" alt=\"\" class=\"wp-image-1405\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.37.26.png 770w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.37.26-232x300.png 232w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.37.26-768x993.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">SDDC VPN configuration<\/h3>\n\n\n\n<p>If we look at the VPN configuration on the SDDC side, here is the result.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"34\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.31.58-1024x34.png\" alt=\"\" class=\"wp-image-1400\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.31.58-1024x34.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.31.58-300x10.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.31.58-768x26.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.31.58-1200x40.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.31.58.png 1377w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>And if I click the View routes here<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"215\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.32.23-1024x215.png\" alt=\"\" class=\"wp-image-1401\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.32.23-1024x215.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.32.23-300x63.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.32.23-768x161.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.32.23-1200x251.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.32.23.png 1422w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p> I can see the learned routes &#8230;<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"851\" height=\"383\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.54.png\" alt=\"\" class=\"wp-image-1397\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.54.png 851w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.54-300x135.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.54-768x346.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption>The SDDC is currently learning the VPC CIDR from the TGW.<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>and the Advertised routes.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"847\" height=\"411\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.50.png\" alt=\"\" class=\"wp-image-1398\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.50.png 847w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.50-300x146.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.23.50-768x373.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>I can confirm that by default everything is learned and advertised.<\/p>\n\n\n\n<p>Let&#8217;s see how to limit the propagation of the routes from the TGW or the SDDC through an API call.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Installing and Configuring Postman<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Download Postman<\/h3>\n\n\n\n<p>First I have downloaded Postman from <a href=\"https:\/\/www.postman.com\/downloads\/\" target=\"_blank\" rel=\"noreferrer noopener\">here<\/a> and installed it on my Mac laptop.<\/p>\n\n\n\n<p>First thing you need to do when you have installed Postman is to create a new free account.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"602\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-1024x602.png\" alt=\"\" class=\"wp-image-1356\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-1024x602.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-300x176.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-768x451.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-1536x903.png 1536w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-2048x1204.png 2048w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.19.12-1200x705.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>Click Create Free Account and follow the steps until finishing your free registration. <\/p>\n\n\n\n<p> This will bring you to the following page with a default Workspace.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"604\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-1024x604.png\" alt=\"\" class=\"wp-image-1357\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-1024x604.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-300x177.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-768x453.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-1536x906.png 1536w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-2048x1208.png 2048w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.22.33-1200x708.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Import VMC on AWS Collections<\/h3>\n\n\n\n<p>Next thing you need to do is to import the VMC on AWS Collections  and Environments variables that are directly available from VMware in the <a href=\"https:\/\/developer.vmware.com\/web\/sdk\/6.7\/vsphere-automation-rest\" target=\"_blank\" rel=\"noreferrer noopener\">vSphere Automation SDK for REST<\/a>. The VMware vSphere Automation SDK for REST provides a client SDK that contains samples that demonstrate how to use the vSphere Automation REST API and sample code for VMC on AWS and others.<\/p>\n\n\n\n<p>Click on the download button of the Downloads section.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"132\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-1024x132.png\" alt=\"\" class=\"wp-image-1355\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-1024x132.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-300x39.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-768x99.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-1536x198.png 1536w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-2048x264.png 2048w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.25.53-1200x155.png 1200w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>This will download a zip file that you need to extract.<\/p>\n\n\n\n<p>This is going to redirect you to a Github repo. Just click on the green button called &#8220;Code&#8221; and pick Download. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"431\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1-1024x431.png\" alt=\"\" class=\"wp-image-1360\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1-1024x431.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1-300x126.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1-768x323.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1-1536x647.png 1536w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1-1200x505.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.37.03-1.png 1862w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Once you have downloaded, select the two following files: VMC <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-blue-color\">Environment.postman_collection.json<\/mark>and<mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-blue-color\">VMware Cloud on AWS APIs.postman_collection.json<\/mark> and Import both into your Postman workspace.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"628\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58-1024x628.png\" alt=\"\" class=\"wp-image-1364\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58-1024x628.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58-300x184.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58-768x471.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58-1536x942.png 1536w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58-1200x736.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.48.58.png 1680w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"620\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07-1024x620.png\" alt=\"\" class=\"wp-image-1366\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07-1024x620.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07-300x182.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07-768x465.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07-1536x930.png 1536w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07-1200x727.png 1200w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.07.png 1674w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>This will add the collection  with different sub folders.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"754\" height=\"456\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.34.png\" alt=\"\" class=\"wp-image-1363\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.34.png 754w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-15.49.34-300x181.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuring VMC on AWS environments in Postman<\/h3>\n\n\n\n<p>If you click on the Environments section on the Left, you can setup multiple environment variables here including the SDDC ID,  ORG ID and a refresh token.<\/p>\n\n\n\n<p>Start by generating an API token, grab the information of SDDC from CSP Console and copy them in the CURRENT VALUE column. <\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"201\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.03.08-1-1024x201.png\" alt=\"\" class=\"wp-image-1369\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.03.08-1-1024x201.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.03.08-1-300x59.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.03.08-1-768x150.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.03.08-1.png 1108w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Add the following variables with the following values:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"950\" height=\"103\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.04.35.png\" alt=\"\" class=\"wp-image-1370\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.04.35.png 950w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.04.35-300x33.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.04.35-768x83.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Configuring the VMC APIs Authentication<\/h3>\n\n\n\n<p>Once you have downloaded the VMC on AWS APIs collection, we need to configure a few parameters here.<\/p>\n\n\n\n<p>Select the<strong> Authorization<\/strong> tab, and change the <em>Type<\/em> from <strong>No Auth<\/strong> to <strong>API Key<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"552\" height=\"190\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.16.48.png\" alt=\"\" class=\"wp-image-1372\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.16.48.png 552w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.16.48-300x103.png 300w\" sizes=\"auto, (max-width: 552px) 85vw, 552px\" \/><\/figure>\n\n\n\n<p>Change the Value to {{access_token}}, &#8220;<em>Add to&#8221; <\/em>has to be kept as <strong>Header<\/strong>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"518\" height=\"154\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.16.52.png\" alt=\"\" class=\"wp-image-1373\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.16.52.png 518w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.16.52-300x89.png 300w\" sizes=\"auto, (max-width: 518px) 85vw, 518px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Limiting routes through API calls with Postman<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Create a new Collection for NSX API Calls<\/h3>\n\n\n\n<p>Here we are going to import an existing collection that  has been created by my colleague Patrick Kremer here on \u00a0<a href=\"https:\/\/github.com\/kremerpatrick\/postman\" target=\"_blank\" rel=\"noreferrer noopener\">Github<\/a>. By the way Patrick has also an excellent post <a href=\"http:\/\/www.patrickkremer.com\/vmware-cloud-on-aws-bgp-route-filtering-with-postman\/\" target=\"_blank\" rel=\"noreferrer noopener\">here <\/a> and even if it&#8217;s not covering the exact same use case it was a lot inspirational to me. I would like also to mention another excellent content from\u00a0<a href=\"https:\/\/www.gilles.cloud\/2021\/04\/vmware-cloud-on-aws-vpn-bgp-route.html\" target=\"_blank\" rel=\"noreferrer noopener\">Gilles Chekroun<\/a>.<\/p>\n\n\n\n<p>Follow the same steps as before for the VMC collections this will add the following: <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.47.01.png\" alt=\"\" class=\"wp-image-1382\" width=\"507\" height=\"240\"\/><\/figure><\/div>\n\n\n\n<p>The two first are useful to check the configuration and the two others are used to implement things<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Authenticating to VMC API<\/h3>\n\n\n\n<p>Now we can Login to the VMC on AWS API in order to execute the relevant command to create the <strong>Prefix Lists <\/strong>and do the <strong>Route filtering<\/strong>.<\/p>\n\n\n\n<p>In order to do so, Select Login in the Authentication folder and Click the Send button on the right.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"50\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.02-1024x50.png\" alt=\"\" class=\"wp-image-1375\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.02-1024x50.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.02-300x15.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.02-768x38.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.02.png 1159w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>The body of the request shows a new access token which is valid for 1799 seconds.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"839\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.18-1-1024x839.png\" alt=\"\" class=\"wp-image-1377\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.18-1-1024x839.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.18-1-300x246.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.18-1-768x629.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-15-at-18.33.18-1.png 1133w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Creating a Prefix List<\/h3>\n\n\n\n<p>Now we need to create a prefix list in order to limit SDDC subnets to be advertised to the Transit Gateway through the BGP session of the route based VPN. Let&#8217;s say we want to limit the management subnet 10.73.118.0\/23 to be accessible from the VPC. We also want to avoid that we can access the VPC (172.16.0.0\/16) from the SDDC.<\/p>\n\n\n\n<p>In order to achieve that we need to create two prefix lists, one to filter in and one to filter out.<\/p>\n\n\n\n<p>From the Postman select <strong>Create Prefix List<\/strong>, give the prefix list ID a value. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"313\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.10.22-1024x313.png\" alt=\"\" class=\"wp-image-1384\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.10.22-1024x313.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.10.22-300x92.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.10.22-768x235.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.10.22.png 1060w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>I have chosen <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-bright-blue-color\">filter_mngt_subnet<\/mark> for the first Prefix List ID.<\/p>\n\n\n\n<p>Next is to the body of the request.<\/p>\n\n\n\n<p><code>{ \"description\": \"This will filter the Management subnet from SDDC\", \"display_name\": \"{Filter out Management subnet}\",<\/code><br><code> \"id\": \"<em>{{prefix-list-id}}<\/em>\",<\/code><br><code> \"prefixes\": [ { \"action\": \"DENY\", \"network\": \"10.73.118.0\/23\" },<\/code><br><code> { \"action\": \"PERMIT\", \"network\": \"ANY\" }<\/code><br><code> ]}<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"655\" height=\"446\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.13.49.png\" alt=\"\" class=\"wp-image-1385\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.13.49.png 655w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.13.49-300x204.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><figcaption>Each prefix list need a DENY and a PERMIT ANY command to avoid blocking all traffic<\/figcaption><\/figure>\n\n\n\n<p>Just click<strong> Send<\/strong> to add the Prefix List.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"642\" height=\"110\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.16.41.png\" alt=\"\" class=\"wp-image-1387\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.16.41.png 642w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.16.41-300x51.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p>The result of the creation is a <strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-light-blue-color\">200 OK<\/mark><\/strong>.<\/p>\n\n\n\n<p>I have created a second Prefix List in order to limit the VPC subnet from being advertised to the SDDC.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"723\" height=\"334\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.21.57.png\" alt=\"\" class=\"wp-image-1391\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.21.57.png 723w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.21.57-300x139.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"605\" height=\"300\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.22.43.png\" alt=\"\" class=\"wp-image-1392\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.22.43.png 605w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.22.43-300x149.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Display the Prefix Lists<\/h3>\n\n\n\n<p>Next step is to check the Prefix Lists has been created successfully by leveraging the<strong> Show BGP Prefix List <\/strong>command.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"850\" height=\"56\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.17.53.png\" alt=\"\" class=\"wp-image-1388\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.17.53.png 850w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.17.53-300x20.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.17.53-768x51.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>You should see the Prefix lists with all the already created ones.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"632\" height=\"586\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.19.07.png\" alt=\"\" class=\"wp-image-1389\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.19.07.png 632w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.19.07-300x278.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Attaching the Prefix List to the route Filter<\/h3>\n\n\n\n<p>Now we have to attach the Prefix Lists to the BGP Neighbors configuration.<\/p>\n\n\n\n<p>First of all grab the existing configuration by using the <strong>Show VMC T0 BGP Neighbors <\/strong>GET command.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"855\" height=\"55\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.29.41.png\" alt=\"\" class=\"wp-image-1396\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.29.41.png 855w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.29.41-300x19.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.29.41-768x49.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>The result is displayed as follow.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"728\" height=\"772\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.44.53.png\" alt=\"\" class=\"wp-image-1411\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.44.53.png 728w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.44.53-283x300.png 283w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Copy this text and <strong>remove <\/strong>the following lines: _create_time, _create_user, _last_modified_time, _last_modified_user, _system_owned, _protection, _revision.<\/p>\n\n\n\n<p>Now we are going to append the prefix Lists to the configuration by using the latest command: <strong>Attach Route Filter<\/strong>.<\/p>\n\n\n\n<p>Grab the Neighbor ID from the result and paste it to the VALUE.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"745\" height=\"302\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.56.13-1.png\" alt=\"\" class=\"wp-image-1413\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.56.13-1.png 745w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-09.56.13-1-300x122.png 300w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p>Copy and paste the previous result into the Body of the command and the prefix list command in an out.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"588\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.01.06-1024x588.png\" alt=\"\" class=\"wp-image-1417\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.01.06-1024x588.png 1024w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.01.06-300x172.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.01.06-768x441.png 768w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.01.06.png 1092w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Click the <strong>Send<\/strong> button.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Checking routes Filtering<\/h3>\n\n\n\n<p>If I check on the SDDC side I can see that the management subnet is now filtered out.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.02.58.png\" alt=\"\" class=\"wp-image-1419\" width=\"630\" height=\"288\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.02.58.png 850w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.02.58-300x137.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.02.58-768x351.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 984px) 61vw, (max-width: 1362px) 45vw, 600px\" \/><\/figure>\n\n\n\n<p>I confirmed it by checking on the AWS side in the Transit Gateway route table.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"897\" height=\"315\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.05.46.png\" alt=\"\" class=\"wp-image-1420\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.05.46.png 897w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.05.46-300x105.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.05.46-768x270.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><figcaption>The management subnet is not displayed here<\/figcaption><\/figure>\n\n\n\n<p>To conclude, I can also confirm that the VPC subnet is not advertised in the SDDC as I don&#8217;t see it as a learned route.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"841\" height=\"367\" src=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.03.04.png\" alt=\"\" class=\"wp-image-1422\" srcset=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.03.04.png 841w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.03.04-300x131.png 300w, https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.03.04-768x335.png 768w\" sizes=\"auto, (max-width: 709px) 85vw, (max-width: 909px) 67vw, (max-width: 1362px) 62vw, 840px\" \/><\/figure>\n\n\n\n<p>That concludes my post, enjoy filter out the routes!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today I wanted to cover a topic that was recently raised by one of my customer about how to filter routes coming from a native TGW attached to an SDDC with a Route Based VPN. There are currently no way to do it over the UI but it is possible through an API call to &hellip; <a href=\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Transit Gateway to RB VPN BGP Route filtering on VMC on AWS&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"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":[3],"tags":[],"class_list":["post-1343","post","type-post","status-publish","format-standard","hentry","category-vmconaws"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Transit Gateway to RB VPN BGP Route filtering on VMC on AWS - vminded.com<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS - vminded.com\" \/>\n<meta property=\"og:description\" content=\"Today I wanted to cover a topic that was recently raised by one of my customer about how to filter routes coming from a native TGW attached to an SDDC with a Route Based VPN. There are currently no way to do it over the UI but it is possible through an API call to &hellip; Continue reading &quot;Transit Gateway to RB VPN BGP Route filtering on VMC on AWS&quot;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\" \/>\n<meta property=\"og:site_name\" content=\"vminded.com\" \/>\n<meta property=\"article:published_time\" content=\"2022-03-16T09:22:41+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-16T10:08:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png\" \/>\n<meta name=\"author\" content=\"Christophe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Christophe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\"},\"author\":{\"name\":\"Christophe\",\"@id\":\"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a\"},\"headline\":\"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS\",\"datePublished\":\"2022-03-16T09:22:41+00:00\",\"dateModified\":\"2022-03-16T10:08:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\"},\"wordCount\":1182,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a\"},\"image\":{\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png\",\"articleSection\":[\"VMConAWS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\",\"url\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\",\"name\":\"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS - vminded.com\",\"isPartOf\":{\"@id\":\"https:\/\/vminded.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png\",\"datePublished\":\"2022-03-16T09:22:41+00:00\",\"dateModified\":\"2022-03-16T10:08:28+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage\",\"url\":\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08.png\",\"contentUrl\":\"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08.png\",\"width\":1288,\"height\":890},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vminded.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/vminded.com\/#website\",\"url\":\"https:\/\/vminded.com\/\",\"name\":\"vminded.com\",\"description\":\"feed your mind with virtual thoughts\",\"publisher\":{\"@id\":\"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/vminded.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a\",\"name\":\"Christophe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/vminded.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/8a35247a893da5c4bd4e7b117047b93859d3def341ac950cf2285f9d9b9220bf?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/8a35247a893da5c4bd4e7b117047b93859d3def341ac950cf2285f9d9b9220bf?s=96&d=mm&r=g\",\"caption\":\"Christophe\"},\"logo\":{\"@id\":\"https:\/\/vminded.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"http:\/\/vminded.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS - vminded.com","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/","og_locale":"en_US","og_type":"article","og_title":"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS - vminded.com","og_description":"Today I wanted to cover a topic that was recently raised by one of my customer about how to filter routes coming from a native TGW attached to an SDDC with a Route Based VPN. There are currently no way to do it over the UI but it is possible through an API call to &hellip; Continue reading \"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS\"","og_url":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/","og_site_name":"vminded.com","article_published_time":"2022-03-16T09:22:41+00:00","article_modified_time":"2022-03-16T10:08:28+00:00","og_image":[{"url":"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png","type":"","width":"","height":""}],"author":"Christophe","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Christophe","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#article","isPartOf":{"@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/"},"author":{"name":"Christophe","@id":"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a"},"headline":"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS","datePublished":"2022-03-16T09:22:41+00:00","dateModified":"2022-03-16T10:08:28+00:00","mainEntityOfPage":{"@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/"},"wordCount":1182,"commentCount":1,"publisher":{"@id":"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a"},"image":{"@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage"},"thumbnailUrl":"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png","articleSection":["VMConAWS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/","url":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/","name":"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS - vminded.com","isPartOf":{"@id":"https:\/\/vminded.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage"},"image":{"@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage"},"thumbnailUrl":"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08-1024x708.png","datePublished":"2022-03-16T09:22:41+00:00","dateModified":"2022-03-16T10:08:28+00:00","breadcrumb":{"@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#primaryimage","url":"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08.png","contentUrl":"https:\/\/vminded.com\/wp-content\/uploads\/2022\/03\/Screenshot-2022-03-16-at-10.18.08.png","width":1288,"height":890},{"@type":"BreadcrumbList","@id":"https:\/\/vminded.com\/index.php\/2022\/03\/16\/tgw-to-rb-vpn-bgp-route-filtering-on-vmc-on-aws\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vminded.com\/"},{"@type":"ListItem","position":2,"name":"Transit Gateway to RB VPN BGP Route filtering on VMC on AWS"}]},{"@type":"WebSite","@id":"https:\/\/vminded.com\/#website","url":"https:\/\/vminded.com\/","name":"vminded.com","description":"feed your mind with virtual thoughts","publisher":{"@id":"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vminded.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/vminded.com\/#\/schema\/person\/1800a04c708828d9b5c7b64f8eab3b3a","name":"Christophe","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/vminded.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/8a35247a893da5c4bd4e7b117047b93859d3def341ac950cf2285f9d9b9220bf?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/8a35247a893da5c4bd4e7b117047b93859d3def341ac950cf2285f9d9b9220bf?s=96&d=mm&r=g","caption":"Christophe"},"logo":{"@id":"https:\/\/vminded.com\/#\/schema\/person\/image\/"},"sameAs":["http:\/\/vminded.com"]}]}},"_links":{"self":[{"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/posts\/1343","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/comments?post=1343"}],"version-history":[{"count":37,"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/posts\/1343\/revisions"}],"predecessor-version":[{"id":1438,"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/posts\/1343\/revisions\/1438"}],"wp:attachment":[{"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/media?parent=1343"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/categories?post=1343"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vminded.com\/index.php\/wp-json\/wp\/v2\/tags?post=1343"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}