{"id":26949,"date":"2024-01-09T11:40:41","date_gmt":"2024-01-09T11:40:41","guid":{"rendered":"https:\/\/cloud-cod.com\/?p=26949"},"modified":"2024-01-15T09:10:54","modified_gmt":"2024-01-15T09:10:54","slug":"aws-tgw-vpc-attachment-with-3rd-party-vpc-using-aws-ram","status":"publish","type":"post","link":"https:\/\/cloud-cod.com\/index.php\/2024\/01\/09\/aws-tgw-vpc-attachment-with-3rd-party-vpc-using-aws-ram\/","title":{"rendered":"AWS TGW VPC Attachment with 3rd party VPC using AWS RAM"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"26949\" class=\"elementor elementor-26949\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b48f6a3 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b48f6a3\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-771554a\" data-id=\"771554a\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7883417 elementor-toc--minimized-on-tablet elementor-widget elementor-widget-table-of-contents\" data-id=\"7883417\" data-element_type=\"widget\" data-settings=\"{&quot;exclude_headings_by_selector&quot;:[],&quot;marker_view&quot;:&quot;bullets&quot;,&quot;headings_by_tags&quot;:[&quot;h2&quot;,&quot;h3&quot;,&quot;h4&quot;,&quot;h5&quot;,&quot;h6&quot;],&quot;icon&quot;:{&quot;value&quot;:&quot;fas fa-circle&quot;,&quot;library&quot;:&quot;fa-solid&quot;},&quot;minimize_box&quot;:&quot;yes&quot;,&quot;minimized_on&quot;:&quot;tablet&quot;,&quot;hierarchical_view&quot;:&quot;yes&quot;,&quot;min_height&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;min_height_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"table-of-contents.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor-pro - v3.17.0 - 01-11-2023 *\/\n.elementor-widget-table-of-contents .elementor-toc__header-title{color:var(--header-color)}.elementor-widget-table-of-contents.elementor-toc--collapsed .elementor-toc__toggle-button--collapse,.elementor-widget-table-of-contents:not(.elementor-toc--collapsed) .elementor-toc__toggle-button--expand{display:none}.elementor-widget-table-of-contents .elementor-widget-container{min-height:var(--box-min-height);border:var(--box-border-width,1px) solid var(--box-border-color,#9da5ae);border-radius:var(--box-border-radius,3px);background-color:var(--box-background-color);transition:min-height .4s;overflow:hidden}.elementor-toc__header{display:flex;align-items:center;justify-content:space-between;padding:var(--box-padding,20px);background-color:var(--header-background-color);border-bottom:var(--separator-width,1px) solid var(--box-border-color,#9da5ae)}.elementor-toc__header-title{font-size:18px;margin:0;color:var(--header-color)}.elementor-toc__toggle-button{cursor:pointer;display:inline-flex}.elementor-toc__toggle-button i{color:var(--toggle-button-color)}.elementor-toc__toggle-button svg{height:1em;width:1em;fill:var(--toggle-button-color)}.elementor-toc__spinner-container{text-align:center}.elementor-toc__spinner{font-size:2em}.elementor-toc__spinner.e-font-icon-svg{height:1em;width:1em}.elementor-toc__body{padding:var(--box-padding,20px);max-height:var(--toc-body-max-height);overflow-y:auto}.elementor-toc__body::-webkit-scrollbar{width:7px}.elementor-toc__body::-webkit-scrollbar-thumb{background-color:#babfc5;border-radius:10px}.elementor-toc__list-wrapper{list-style:none;padding:0}.elementor-toc__list-item{margin-bottom:.5em}.elementor-toc__list-item.elementor-item-active{font-weight:700}.elementor-toc__list-item .elementor-toc__list-wrapper{margin-top:.5em;margin-left:var(--nested-list-indent,1em)}.elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}.elementor-toc__list-item-text-wrapper{display:flex;align-items:center}.elementor-toc__list-item-text-wrapper:before,.elementor-toc__list-item-text-wrapper i{margin-right:8px;color:var(--marker-color)}.elementor-toc__list-item-text-wrapper svg{margin-right:8px;fill:var(--marker-color);height:var(--marker-size,.5em);width:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper i{font-size:var(--marker-size,.5em)}.elementor-toc__list-item-text-wrapper:before{font-size:var(--marker-size,1em)}.elementor-toc--content-ellipsis .elementor-toc__list-item-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.elementor-toc__list-items--collapsible>.elementor-toc__list-wrapper>.elementor-toc__list-item>.elementor-toc__list-wrapper{display:none}.elementor-toc__heading-anchor{position:absolute}.elementor-toc__body .elementor-toc__list-item-text{color:var(--item-text-color);-webkit-text-decoration:var(--item-text-decoration);text-decoration:var(--item-text-decoration)}.elementor-toc__body .elementor-toc__list-item-text:hover{color:var(--item-text-hover-color);-webkit-text-decoration:var(--item-text-hover-decoration);text-decoration:var(--item-text-hover-decoration)}.elementor-toc__body .elementor-toc__list-item-text.elementor-item-active{color:var(--item-text-active-color);-webkit-text-decoration:var(--item-text-active-decoration);text-decoration:var(--item-text-active-decoration)}ol.elementor-toc__list-wrapper{counter-reset:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item{counter-increment:item}ol.elementor-toc__list-wrapper .elementor-toc__list-item-text-wrapper:before{content:counters(item,\".\") \". \"}<\/style>\t\t<div class=\"elementor-toc__header\">\n\t\t\t<h4 class=\"elementor-toc__header-title\">\n\t\t\t\tSITEMAP\t\t\t<\/h4>\n\t\t\t\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--expand\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__7883417\" aria-expanded=\"true\" aria-label=\"Open table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-down\"><\/i><\/div>\n\t\t\t\t<div class=\"elementor-toc__toggle-button elementor-toc__toggle-button--collapse\" role=\"button\" tabindex=\"0\" aria-controls=\"elementor-toc__7883417\" aria-expanded=\"true\" aria-label=\"Close table of contents\"><i aria-hidden=\"true\" class=\"fas fa-chevron-up\"><\/i><\/div>\n\t\t\t\t\t<\/div>\n\t\t<div id=\"elementor-toc__7883417\" class=\"elementor-toc__body\">\n\t\t\t<div class=\"elementor-toc__spinner-container\">\n\t\t\t\t<i class=\"elementor-toc__spinner eicon-animation-spin eicon-loading\" aria-hidden=\"true\"><\/i>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-61cb26c elementor-widget elementor-widget-heading\" data-id=\"61cb26c\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.17.0 - 01-11-2023 *\/\n.elementor-heading-title{padding:0;margin:0;line-height:1}.elementor-widget-heading .elementor-heading-title[class*=elementor-size-]>a{color:inherit;font-size:inherit;line-height:inherit}.elementor-widget-heading .elementor-heading-title.elementor-size-small{font-size:15px}.elementor-widget-heading .elementor-heading-title.elementor-size-medium{font-size:19px}.elementor-widget-heading .elementor-heading-title.elementor-size-large{font-size:29px}.elementor-widget-heading .elementor-heading-title.elementor-size-xl{font-size:39px}.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{font-size:59px}<\/style><h2 class=\"elementor-heading-title elementor-size-default\">Introduction<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f3c243 elementor-widget elementor-widget-text-editor\" data-id=\"2f3c243\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.17.0 - 01-11-2023 *\/\n.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:#69727d;color:#fff}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap{color:#69727d;border:3px solid;background-color:transparent}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap{margin-top:8px}.elementor-widget-text-editor:not(.elementor-drop-cap-view-default) .elementor-drop-cap-letter{width:1em;height:1em}.elementor-widget-text-editor .elementor-drop-cap{float:left;text-align:center;line-height:1;font-size:50px}.elementor-widget-text-editor .elementor-drop-cap-letter{display:inline-block}<\/style>\t\t\t\t<p>This is a continuation of the discussion about integrating 3rd party AWS VPCs with your Aviatrix environment. There have been already two articles posted by me:<\/p><ul><li>an article describing a few possible options (high-level): <a href=\"https:\/\/cloud-cod.com\/index.php\/2023\/12\/06\/connecting-3rd-party-aws-vpcs-with-aviatrix-environment\/\">https:\/\/cloud-cod.com\/index.php\/2023\/12\/06\/connecting-3rd-party-aws-vpcs-with-aviatrix-environment\/<\/a><\/li><li>an article presenting how to configure one of the options (detailed configuration steps) with leveraging AWS Transit Gateway orchestrated feature: <a href=\"https:\/\/cloud-cod.com\/index.php\/2023\/12\/27\/aviatrix-orchestrated-aws-tgw-vpc-attachment-with-3rd-party-vpc\/\">https:\/\/cloud-cod.com\/index.php\/2023\/12\/27\/aviatrix-orchestrated-aws-tgw-vpc-attachment-with-3rd-party-vpc\/<\/a><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ed60601 elementor-widget elementor-widget-text-editor\" data-id=\"ed60601\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The following blog post guides you on how to create an integration between 3rd party AWS VPC(s) and your Aviatrix environment using AWS TGW but with the caveat that you cannot use the Aviatrix AWS TGW-Orchestrator feature. One of the reasons might be that you are not allowed to onboard 3rd party Account to your Aviatrix Controller.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-186bfa1 elementor-widget elementor-widget-text-editor\" data-id=\"186bfa1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The solution presented here leverages <strong>AWS Resource Access Manager<\/strong> to share AWS Transit Gateway between AWS Accounts. This is a perfect use case for using RAM.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0558ad6 elementor-widget elementor-widget-heading\" data-id=\"0558ad6\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Initial Setup<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d1ace7 elementor-widget elementor-widget-text-editor\" data-id=\"6d1ace7\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The initial setup is the same as the one used by AWS TGW-the O demo (<a href=\"https:\/\/cloud-cod.com\/index.php\/2023\/12\/27\/aviatrix-orchestrated-aws-tgw-vpc-attachment-with-3rd-party-vpc\/\">https:\/\/cloud-cod.com\/index.php\/2023\/12\/27\/aviatrix-orchestrated-aws-tgw-vpc-attachment-with-3rd-party-vpc\/<\/a>).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42469bb elementor-widget elementor-widget-image\" data-id=\"42469bb\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.17.0 - 01-11-2023 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgwo_initial-1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW RAM initial design\" data-elementor-lightbox-description=\"AWS TGW RAM initial design\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjY5ODUsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3b19pbml0aWFsLTEucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"414\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgwo_initial-1-768x414.png\" class=\"attachment-medium_large size-medium_large wp-image-26985\" alt=\"AWS TGW RAM initial design\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgwo_initial-1-768x414.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgwo_initial-1-300x162.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgwo_initial-1-1024x553.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgwo_initial-1.png 1475w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0e736eb elementor-widget elementor-widget-text-editor\" data-id=\"0e736eb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>I have kept our test environment very simple. Your real PROD environment would be of course much more sophisticated. My test environment consists of the following:<\/p><ul><li>one Aviatrix Transit VPC (10.150.0.0\/16)<\/li><li>two Spoke VPCs (10.251.0.0\/24 and 10.252.0.0\/24) connected to Transit VPC through Aviatrix Spoke Gateways. The Spoke 10-251 (called by me as Integration-Spoke) will be the one attached to AWS TGW.<\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1830dea elementor-widget elementor-widget-text-editor\" data-id=\"1830dea\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>I used the following modules to set up the Aviatrix environment:<\/p><ul><li><a href=\"https:\/\/registry.terraform.io\/modules\/terraform-aviatrix-modules\/mc-transit\/aviatrix\/latest\">mc-transit<\/a><\/li><li><a href=\"https:\/\/registry.terraform.io\/modules\/terraform-aviatrix-modules\/mc-spoke\/aviatrix\/latest\">mc-spoke<\/a><\/li><\/ul>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5bd37fd elementor-widget elementor-widget-text-editor\" data-id=\"5bd37fd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>There is also one VPC (10.80.0.0\/16) that does not belong to our organization (an Account out of our control). What is more, I have deployed test VMs in 3rd party VPC and 10-252 Spoke VPC that will help us with a test scenario later.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e5e0ea elementor-widget elementor-widget-heading\" data-id=\"1e5e0ea\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Test Scenario Diagram<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ea6f3e elementor-widget elementor-widget-text-editor\" data-id=\"8ea6f3e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The goal is to achieve connectivity between VMthe\u00a0 instance in 3rd party VPC and VM in Spoke 10-252 VPC (the Spoke VPC connected to Aviatrix Transit).<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-569034d elementor-widget elementor-widget-image\" data-id=\"569034d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"diagram\" data-elementor-lightbox-description=\"diagram\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxNjMsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvZGlhZ3JhbS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"429\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram-768x429.png\" class=\"attachment-medium_large size-medium_large wp-image-27163\" alt=\"diagram\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram-768x429.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram-300x168.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram-1024x572.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram-1536x859.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/diagram.png 1805w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2498988 elementor-widget elementor-widget-heading\" data-id=\"2498988\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Configuration of AWS TGW and its Attachments<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-47733d8 elementor-widget elementor-widget-heading\" data-id=\"47733d8\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">AWS TGW Creation<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e710a73 elementor-widget elementor-widget-text-editor\" data-id=\"e710a73\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Let\u2019s create AWS Transit Gateway (AWS TGW). We will use <strong>aws_ec2_transit_gateway <\/strong>Terraform resource. Please also notice that AWS TGW will be created in the Account owned and controlled by us.\u00a0<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-354a621 elementor-widget elementor-widget-code-highlight\" data-id=\"354a621\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>resource \"aws_ec2_transit_gateway\" \"aws_integration_tgw\" {\r\n  description = \"aws_integration_tgw\"\r\n  tags        = {\"Name\" = \"aws_integration_tgw\"}\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1e9d962 elementor-widget elementor-widget-text-editor\" data-id=\"1e9d962\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>AWS TGW has been created:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d0510f9 elementor-widget elementor-widget-image\" data-id=\"d0510f9\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW Management Console\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwMDEsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3MS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"179\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw1-768x179.png\" class=\"attachment-medium_large size-medium_large wp-image-27001\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw1-768x179.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw1-300x70.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw1.png 928w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-17cfd93 elementor-widget elementor-widget-heading\" data-id=\"17cfd93\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Attaching Integration-Spoke to AWS TGW<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a7ddacd elementor-widget elementor-widget-text-editor\" data-id=\"a7ddacd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The Aviatrix Integration Spoke VPC will be connected to AWS TGW using a VPC Attachment.<\/p><p>Please notice that you must provide Subnet IDs and there can be only one Subnet ID per AZ. My Integration Spoke has been created using the MC-Spoke module. The module creates 2 Public Subnets in AZ-A and 2 Private Subnets in AZ-B. I just provided both Public Subnet IDs in the code.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-66fce93 elementor-widget elementor-widget-code-highlight\" data-id=\"66fce93\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>resource \"aws_ec2_transit_gateway_vpc_attachment\" \"aws_tgw_attach_avtx_spoke_integration\" {\r\n  subnet_ids         = [\"subnet-01ff108c94428d7dc\", \"subnet-065d7a7fbcd7402fc\"] # only one subnet per AZ is allowed\r\n  transit_gateway_id = aws_ec2_transit_gateway.aws_integration_tgw.id\r\n  vpc_id             = module.mc-spoke-aws.spoke_gateway.vpc_id\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1b38f2f elementor-widget elementor-widget-text-editor\" data-id=\"1b38f2f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The Integration-Spoke VPC has been attached:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bde1c13 elementor-widget elementor-widget-image\" data-id=\"bde1c13\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw2.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW Integration Spoke attachment\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwMTcsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3Mi5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"125\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw2-768x125.png\" class=\"attachment-medium_large size-medium_large wp-image-27017\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw2-768x125.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw2-300x49.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw2-1024x167.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw2.png 1484w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4850b12 elementor-widget elementor-widget-heading\" data-id=\"4850b12\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Creating AWS RAM Resource Share<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2063d3 elementor-widget elementor-widget-text-editor\" data-id=\"c2063d3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Now, let\u2019s attach 3rd party VPC to AWS TGW. But please remember that AWS TGW has been created in our Account and the 3rd party VPC is created in a different Account. To attach 3rd party VPC we must share our AWS TGW. Sharing is possible thanks to the <strong>AWS Resource Access Manager (RAM)<\/strong> service.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f2875ee elementor-widget elementor-widget-text-editor\" data-id=\"f2875ee\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>We must create a Resource Share first and allow external Accounts to use it.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-68d85e1 elementor-widget elementor-widget-code-highlight\" data-id=\"68d85e1\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>resource \"aws_ram_resource_share\" \"aws_integration_tgw_ram_share\" {\r\n  name                      = \"aws_integration_tgw_ram_share\"\r\n  allow_external_principals = true\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a659060 elementor-widget elementor-widget-text-editor\" data-id=\"a659060\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The resource share is there:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60ac691 elementor-widget elementor-widget-text-editor\" data-id=\"60ac691\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Next step is to associate AWS TGW and 3rd party Account ID with Resource Share:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f31078f elementor-widget elementor-widget-image\" data-id=\"f31078f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"awstgw3\" data-elementor-lightbox-description=\"awstgw3\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxNjQsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3My0xLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"148\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1-768x148.png\" class=\"attachment-medium_large size-medium_large wp-image-27164\" alt=\"awstgw3\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1-768x148.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1-300x58.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1-1024x197.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1-1536x296.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw3-1.png 1701w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-76e76e4 elementor-widget elementor-widget-code-highlight\" data-id=\"76e76e4\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>resource \"aws_ram_principal_association\" \"example\" {\r\n  principal          = \"<3rd-party-Account-ID>\"\r\n  resource_share_arn = aws_ram_resource_share.aws_integration_tgw_ram_share.arn\r\n}\r\n\r\nresource \"aws_ram_resource_association\" \"aws_ram_share_association\" {\r\n  resource_arn       = \"arn:aws:ec2:eu-central-1:<Account-ID>:transit-gateway\/tgw-0b2c705f976924bb5\"\r\n  resource_share_arn = aws_ram_resource_share.aws_integration_tgw_ram_share.arn\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-48b97c4 elementor-widget elementor-widget-text-editor\" data-id=\"48b97c4\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Once done, there is a Pending Invitation in 3rd party Account.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56f472e elementor-widget elementor-widget-image\" data-id=\"56f472e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS RAM Resource Share Invitation\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwMzEsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3NC5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"221\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4-768x221.png\" class=\"attachment-medium_large size-medium_large wp-image-27031\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4-768x221.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4-300x86.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4-1024x294.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4-1536x441.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw4-2048x589.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-598f33c elementor-widget elementor-widget-text-editor\" data-id=\"598f33c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Please select the Resource Share and Accept it:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b3bbd8a elementor-widget elementor-widget-image\" data-id=\"b3bbd8a\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS RAM Resource Share Acceptance\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwMzIsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3NS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"228\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5-768x228.png\" class=\"attachment-medium_large size-medium_large wp-image-27032\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5-768x228.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5-300x89.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5-1024x305.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5-1536x457.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw5-2048x609.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2090352 elementor-widget elementor-widget-text-editor\" data-id=\"2090352\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>After accepting the Resource Share, you can see the Transit Gateway (in 3rd party Account Management Console):<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-42d716d elementor-widget elementor-widget-image\" data-id=\"42d716d\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW RAM Share\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwMzMsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3Ni5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"232\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6-768x232.png\" class=\"attachment-medium_large size-medium_large wp-image-27033\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6-768x232.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6-300x91.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6-1024x310.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6-1536x465.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw6-2048x620.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e61673c elementor-widget elementor-widget-image\" data-id=\"e61673c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW 3rd party\" data-elementor-lightbox-description=\"AWS TGW 3rd party\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwNTAsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3OC5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"113\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8-768x113.png\" class=\"attachment-medium_large size-medium_large wp-image-27050\" alt=\"AWS TGW 3rd party\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8-768x113.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8-300x44.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8-1024x151.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8-1536x227.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw8-2048x302.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c265d66 elementor-widget elementor-widget-text-editor\" data-id=\"c265d66\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The Resource Share is also visible in our main Account of course:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d60acfd elementor-widget elementor-widget-image\" data-id=\"d60acfd\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW RAM Share\" data-elementor-lightbox-description=\"AWS TGW RAM Share\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwMzcsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3Ny5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"251\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7-768x251.png\" class=\"attachment-medium_large size-medium_large wp-image-27037\" alt=\"AWS TGW RAM Share\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7-768x251.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7-300x98.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7-1024x334.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7-1536x501.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw7-2048x668.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-3937e70 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3937e70\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-e0dccb6\" data-id=\"e0dccb6\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-eed5253 elementor-widget elementor-widget-heading\" data-id=\"eed5253\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Attaching 3rd party VPC to AWS TGW<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-d94f1b6 elementor-widget elementor-widget-text-editor\" data-id=\"d94f1b6\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Now, having AWS TGW shared between Accounts, we can proceed with attaching 3rd party VPC to AWS TGW. The attachment must be requested by 3rd party Account.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f9f4d4b elementor-widget elementor-widget-image\" data-id=\"f9f4d4b\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW Attachment\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwNTQsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3OS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"1189\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9-768x1189.png\" class=\"attachment-medium_large size-medium_large wp-image-27054\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9-768x1189.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9-194x300.png 194w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9-662x1024.png 662w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9-992x1536.png 992w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw9.png 1117w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60c3c5a elementor-widget elementor-widget-text-editor\" data-id=\"60c3c5a\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The attachment is now in &#8220;Pending Acceptance&#8221; state (snapshot from 3rd party Account Management Console):<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9e6b5a6 elementor-widget elementor-widget-image\" data-id=\"9e6b5a6\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW Attachment Pending\" data-elementor-lightbox-description=\"AWS TGW Attachment Pending\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwNTgsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3MTAucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"108\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10-768x108.png\" class=\"attachment-medium_large size-medium_large wp-image-27058\" alt=\"AWS TGW Attachment Pending\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10-768x108.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10-300x42.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10-1024x144.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10-1536x216.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw10-2048x288.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ca5fad3 elementor-widget elementor-widget-text-editor\" data-id=\"ca5fad3\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Go to main Account: <strong>VPC &gt; Transit gateways &gt; Transit gateways attachments. <\/strong>You can see the Attachment requested by 3rd party.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cac6be5 elementor-widget elementor-widget-image\" data-id=\"cac6be5\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW  Attach Pending\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwNjIsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3MTEucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"107\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11-768x107.png\" class=\"attachment-medium_large size-medium_large wp-image-27062\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11-768x107.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11-300x42.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11-1024x142.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11-1536x213.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw11.png 1851w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1626fbb elementor-widget elementor-widget-text-editor\" data-id=\"1626fbb\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>You can now accept the Attachment request:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d7ef0c elementor-widget elementor-widget-image\" data-id=\"9d7ef0c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS Attach Acceptance\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwNjMsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3MTIucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"136\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12-768x136.png\" class=\"attachment-medium_large size-medium_large wp-image-27063\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12-768x136.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12-300x53.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12-1024x181.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12-1536x272.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw12.png 1840w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc642ca elementor-widget elementor-widget-text-editor\" data-id=\"dc642ca\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The Attachment State is now Available:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c4f7f10 elementor-widget elementor-widget-image\" data-id=\"c4f7f10\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW Attach Available\" data-elementor-lightbox-description=\"AWS TGW Attach Available\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwNjcsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3MTMucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"84\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13-768x84.png\" class=\"attachment-medium_large size-medium_large wp-image-27067\" alt=\"AWS TGW Attach Available\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13-768x84.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13-300x33.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13-1024x112.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13-1536x169.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw13-2048x225.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dee5826 elementor-widget elementor-widget-text-editor\" data-id=\"dee5826\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Will all that be enough to ensure the connectivity between the 3rd party VPC EC2 Instance and 10-252-Spoke EC2 instance work? The answer is: No.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-022078c elementor-widget elementor-widget-image\" data-id=\"022078c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping1-1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ping1\" data-elementor-lightbox-description=\"ping1\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMTcsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvcGluZzEtMS5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"404\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping1-1-768x404.png\" class=\"attachment-medium_large size-medium_large wp-image-27117\" alt=\"ping1\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping1-1-768x404.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping1-1-300x158.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping1-1-1024x539.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping1-1.png 1056w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1dd1e3e elementor-widget elementor-widget-text-editor\" data-id=\"1dd1e3e\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Please keep in mind that with &#8220;manual&#8221; (either using Console or Terraform) provisioning of AWS TGW the routes are not automatically created in attached VPCs. This is opposite to the solution I presented previously with the Aviatrix feature called AWS TGW Orchestrator. The AWS TGW Orchestrator automates the creation of routes on our behalf. Without AWS TGW Orchestrator we have to take care of the routing by ourselves.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-a8b5082 elementor-widget elementor-widget-heading\" data-id=\"a8b5082\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Checking Routing<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-270e15f elementor-widget elementor-widget-text-editor\" data-id=\"270e15f\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>How does the routing look like now? AWS TGW Route Table shows that it knows both attached VPCs CIDRs. However, it is not aware of the remaining VPCs existing in Aviatrix environment (in our case: Spoke-10-152). So this is routing issue #1.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6429f92 elementor-widget elementor-widget-image\" data-id=\"6429f92\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWS TGW Route Table\" data-elementor-lightbox-description=\"AWS TGW Route Table\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwODQsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvQVdTVEdXUm91dGVUYWJsZTEucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"224\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1-768x224.png\" class=\"attachment-medium_large size-medium_large wp-image-27084\" alt=\"AWS TGW Route Table\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1-768x224.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1-300x88.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1-1024x299.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1-1536x448.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable1-2048x597.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b54be04 elementor-widget elementor-widget-text-editor\" data-id=\"b54be04\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>There are more routing issues. The 3rd party Subnets do not have any Routes pointing to AWS TGW. Those Route Tables know only its local VPC CIDR. This is routing issue #2.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-553a8ca elementor-widget elementor-widget-image\" data-id=\"553a8ca\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWSTGWRouteTable2\" data-elementor-lightbox-description=\"AWSTGWRouteTable2\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwODUsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvQVdTVEdXUm91dGVUYWJsZTIucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"158\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2-768x158.png\" class=\"attachment-medium_large size-medium_large wp-image-27085\" alt=\"AWSTGWRouteTable2\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2-768x158.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2-300x62.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2-1024x210.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2-1536x315.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable2-2048x420.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-822c87c elementor-widget elementor-widget-text-editor\" data-id=\"822c87c\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>If we look at the route table used by a Subnet where Aviatrix Spoke Gateways (10-251 Spoke) are deployed, there is no route for 10.80.0.0\/16. We can see the route 10.0.0.0\/8 pointing to Aviatrix Spoke Gateway&#8217;s ENI. It means that if we try to send traffic from Spoke 10-252 and traffic gets to Integration Spoke Gateways it will be lost there. This is routing issue #3.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc1489f elementor-widget elementor-widget-image\" data-id=\"dc1489f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWSTGWRouteTable5\" data-elementor-lightbox-description=\"AWSTGWRouteTable5\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMTMsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvQVdTVEdXUm91dGVUYWJsZTUucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"158\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5-768x158.png\" class=\"attachment-medium_large size-medium_large wp-image-27113\" alt=\"AWSTGWRouteTable5\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5-768x158.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5-300x62.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5-1024x211.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5-1536x317.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable5-2048x422.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-46b73d2 elementor-widget elementor-widget-text-editor\" data-id=\"46b73d2\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>There is yet another problem (routing issue #4): Integration-Spoke Gateways do not advertise 3rd party VPC CIDR to Aviatrix Transit (and also farther down to Spokes). If we look at the Aviatrix Transit Route Table it does not know AWS 3rd party VPC CIDR:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eefeef1 elementor-widget elementor-widget-image\" data-id=\"eefeef1\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"CoPilot RouteTable\" data-elementor-lightbox-description=\"CoPilot RouteTable\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwOTIsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvY29waWxvdDEucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"311\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1-768x311.png\" class=\"attachment-medium_large size-medium_large wp-image-27092\" alt=\"CoPilot RouteTable\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1-768x311.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1-300x121.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1-1024x415.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1-1536x622.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot1-2048x829.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb962b0 elementor-widget elementor-widget-text-editor\" data-id=\"eb962b0\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>I have presented all those 4 routing issues in the diagram below. All of them must be fixed by us.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-e161689 elementor-widget elementor-widget-image\" data-id=\"e161689\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_issues.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"awstgw_diagram_issues\" data-elementor-lightbox-description=\"awstgw_diagram_issues\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMzksInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3X2RpYWdyYW1faXNzdWVzLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"413\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_issues-768x413.png\" class=\"attachment-medium_large size-medium_large wp-image-27139\" alt=\"awstgw_diagram_issues\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_issues-768x413.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_issues-300x161.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_issues-1024x551.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_issues.png 1479w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-36e1a4d elementor-widget elementor-widget-heading\" data-id=\"36e1a4d\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h3 class=\"elementor-heading-title elementor-size-default\">Fixing Routing Issues<\/h3>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eda1efd elementor-widget elementor-widget-text-editor\" data-id=\"eda1efd\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Let&#8217;s start with routing issue #2: lack of routes in 3rd party VPC pointing to AWS TGW. I will create the route in the AWS Management Console. For sake of simplicity I will use 10.0.0.0\/8:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-38d463c elementor-widget elementor-widget-image\" data-id=\"38d463c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWSTGWRouteTable3\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcwOTYsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvQVdTVEdXUm91dGVUYWJsZTMucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"132\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3-768x132.png\" class=\"attachment-medium_large size-medium_large wp-image-27096\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3-768x132.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3-300x52.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3-1024x176.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3-1536x264.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable3-2048x352.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b870942 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b870942\" data-element_type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5e61de1\" data-id=\"5e61de1\" data-element_type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t\t\t<div class=\"elementor-element elementor-element-46faefa elementor-widget elementor-widget-text-editor\" data-id=\"46faefa\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Next step: correct routing issue #1 &#8211; lack of route in AWS TGW Route Table. This time I will add a route for 10.0.0.0\/8 using Terraform:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8d78c1f elementor-widget elementor-widget-code-highlight\" data-id=\"8d78c1f\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>resource \"aws_ec2_transit_gateway_route\" \"aws_tgw_route\" {\r\n  destination_cidr_block         = \"10.0.0.0\/8\"\r\n  transit_gateway_attachment_id  = aws_ec2_transit_gateway_vpc_attachment.aws_tgw_attach_avtx_spoke_integration.id\r\n  transit_gateway_route_table_id = \"tgw-rtb-00024edaef7a7e3a0\"\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c9c93b1 elementor-widget elementor-widget-text-editor\" data-id=\"c9c93b1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The route has been created:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f7c195f elementor-widget elementor-widget-image\" data-id=\"f7c195f\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWSTGWRouteTable4\" data-elementor-lightbox-description=\"AWSTGWRouteTable4\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMDMsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvQVdTVEdXUm91dGVUYWJsZTQucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"235\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4-768x235.png\" class=\"attachment-medium_large size-medium_large wp-image-27103\" alt=\"AWSTGWRouteTable4\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4-768x235.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4-300x92.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4-1024x313.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4-1536x470.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable4-2048x627.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-209d7dc elementor-widget elementor-widget-text-editor\" data-id=\"209d7dc\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Now, let&#8217;s fix the Route Table used by Integration Spoke Gateways (issue #3). I will add a route for 3rd party VPC (10.80.0.0\/16) towards AWS TGW using Terraform. What is more, there are two Route Tables that we have to modify because our 2 Integration Spoke Gateways (Primary and HA) reside in different Subnets and those Subnets are associated with different Route Tables.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b2c86dd elementor-widget elementor-widget-code-highlight\" data-id=\"b2c86dd\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>resource \"aws_route\" \"integration-spoke-rt-route\" {\r\n  route_table_id            = \"rtb-0223c9605a17e037d\"\r\n  destination_cidr_block    = \"10.80.0.0\/16\"\r\n  transit_gateway_id        = aws_ec2_transit_gateway.aws_integration_tgw.id\r\n}\r\n\r\nresource \"aws_route\" \"integration-spoke-hagw-rt-route\" {\r\n  route_table_id            = \"rtb-03391e19a4d31bbc6\"\r\n  destination_cidr_block    = \"10.80.0.0\/16\"\r\n  transit_gateway_id        = aws_ec2_transit_gateway.aws_integration_tgw.id\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-110e064 elementor-widget elementor-widget-text-editor\" data-id=\"110e064\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The route has been added:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5a80e14 elementor-widget elementor-widget-image\" data-id=\"5a80e14\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"AWSTGWRouteTable6\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMjQsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvQVdTVEdXUm91dGVUYWJsZTYucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"210\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6-768x210.png\" class=\"attachment-medium_large size-medium_large wp-image-27124\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6-768x210.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6-300x82.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6-1024x280.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6-1536x419.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/AWSTGWRouteTable6.png 1893w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-05809bf elementor-widget elementor-widget-text-editor\" data-id=\"05809bf\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Last but not least, let&#8217;s fix routing issue #4 &#8211; lack of advertisement of 3rd party VPC CIDR to Aviatrix Transit. I am going to advertise both the Spoke CIDR itself (10.251.0.0\/24) and 10.80.0.0\/16 (3rd party VPC CIDR) from Integration-Spoke Gateways to Aviatrix Transit to ensure that the remaining Spokes will get those routes. I will use the &#8220;<strong>included_advertised_spoke_routes<\/strong>&#8221; argument (that maps to &#8220;Customized Spoke Advertised VPC CIDRs&#8221;) of the mc-spoke module:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-bbc1319 elementor-widget elementor-widget-code-highlight\" data-id=\"bbc1319\" data-element_type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-javascript line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-javascript\">\n\t\t\t\t\t<xmp>module \"mc-spoke-aws\" {\r\n  source  = \"terraform-aviatrix-modules\/mc-spoke\/aviatrix\"\r\n  version = \"1.6.6\"\r\n  # insert the 22 required variables here\r\n  cloud      = \"AWS\"\r\n  account    = \"AWS-Jakub-2\"\r\n  cidr       = \"10.251.0.0\/24\"\r\n  name       = \"AWS-Spoke-10-251\"\r\n  region     = \"eu-central-1\"\r\n  transit_gw = module.mc_transit_aws.transit_gateway.gw_name\r\n  attached   = true\r\n  gw_name    = \"aws-10-251-sgw\"\r\n  included_advertised_spoke_routes = \"10.80.0.0\/16\"\r\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3619bd1 elementor-widget elementor-widget-text-editor\" data-id=\"3619bd1\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>Let&#8217;s verify. The CIDR 10.80.0.0\/16 is know by Transit Gateways and also by Spoke 10-252 Gateways:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1a0612e elementor-widget elementor-widget-image\" data-id=\"1a0612e\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"copilot2\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxNTksInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvY29waWxvdDIucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"225\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2-768x225.png\" class=\"attachment-medium_large size-medium_large wp-image-27159\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2-768x225.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2-300x88.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2-1024x299.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2-1536x449.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/copilot2-2048x599.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ac4ae3d elementor-widget elementor-widget-text-editor\" data-id=\"ac4ae3d\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The routing has been fixed. We can try to verify with ping:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-cd416df elementor-widget elementor-widget-image\" data-id=\"cd416df\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping2.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"ping2\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMzEsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvcGluZzIucG5nIn0%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"293\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping2-768x293.png\" class=\"attachment-medium_large size-medium_large wp-image-27131\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping2-768x293.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping2-300x114.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/ping2.png 912w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-811a925 elementor-widget elementor-widget-text-editor\" data-id=\"811a925\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>The communication is working as desired. Furthermore, we can check <strong>mtr<\/strong> to verify the path:<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-be8bd32 elementor-widget elementor-widget-image\" data-id=\"be8bd32\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"mtr\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxMzIsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvbXRyLnBuZyJ9\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"57\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr-768x57.png\" class=\"attachment-medium_large size-medium_large wp-image-27132\" alt=\"\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr-768x57.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr-300x22.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr-1024x76.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr-1536x114.png 1536w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/mtr-2048x152.png 2048w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b79ef4c elementor-widget elementor-widget-image\" data-id=\"b79ef4c\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"http:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_working.png\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"awstgw_diagram_working\" data-elementor-lightbox-description=\"awstgw_diagram_working\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6MjcxNDAsInVybCI6Imh0dHBzOlwvXC9jbG91ZC1jb2QuY29tXC93cC1jb250ZW50XC91cGxvYWRzXC8yMDI0XC8wMVwvYXdzdGd3X2RpYWdyYW1fd29ya2luZy5wbmcifQ%3D%3D\">\n\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"768\" height=\"397\" src=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_working-768x397.png\" class=\"attachment-medium_large size-medium_large wp-image-27140\" alt=\"awstgw_diagram_working\" srcset=\"https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_working-768x397.png 768w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_working-300x155.png 300w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_working-1024x529.png 1024w, https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/awstgw_diagram_working.png 1460w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4db1ed0 elementor-widget elementor-widget-heading\" data-id=\"4db1ed0\" data-element_type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Summary<\/h2>\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-eb14b86 elementor-widget elementor-widget-text-editor\" data-id=\"eb14b86\" data-element_type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<p>As you can see, the integration scenario is working. However, there was a lot of effort to have it implemented. I had to solve 4 routing issues (lack of routes in Route Tables and lack of proper advertisement) to make it function as required.<\/p><p>If you compare this demo to the previous demo where I showed the AWS TGW Orchestrator feature (<a href=\"https:\/\/cloud-cod.com\/index.php\/2023\/12\/27\/aviatrix-orchestrated-aws-tgw-vpc-attachment-with-3rd-party-vpc\/\">https:\/\/cloud-cod.com\/index.php\/2023\/12\/27\/aviatrix-orchestrated-aws-tgw-vpc-attachment-with-3rd-party-vpc\/<\/a>) you could easily see the value of AWS TGW Orchestrator because I did not have to modify any Route Table when I used AWS TGW-O.<\/p>\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>This is a continuation of the discussion about integrating 3rd party AWS VPCs with your Aviatrix environment. The solution presented here leverages AWS Resource Access Manager to share AWS Transit Gateway between AWS Accounts.<\/p>\n","protected":false},"author":2,"featured_media":27171,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[14,21,17],"tags":[],"class_list":["post-26949","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-aviatrix","category-aws","category-terraform"],"uagb_featured_image_src":{"full":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12.png",3592,3058,false],"thumbnail":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-150x150.png",150,150,true],"medium":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-300x255.png",300,255,true],"medium_large":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-768x654.png",768,654,true],"large":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-1024x872.png",800,681,true],"1536x1536":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-1536x1308.png",1536,1308,true],"2048x2048":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-2048x1744.png",2048,1744,true],"onepress-blog-small":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-300x150.png",300,150,true],"onepress-small":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-480x300.png",480,300,true],"onepress-medium":["https:\/\/cloud-cod.com\/wp-content\/uploads\/2024\/01\/blog_post12-640x400.png",640,400,true]},"uagb_author_info":{"display_name":"Jakub","author_link":"https:\/\/cloud-cod.com\/index.php\/author\/jakub\/"},"uagb_comment_info":3680,"uagb_excerpt":"This is a continuation of the discussion about integrating 3rd party AWS VPCs with your Aviatrix environment. The solution presented here leverages AWS Resource Access Manager to share AWS Transit Gateway between AWS Accounts.","_links":{"self":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts\/26949","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/comments?post=26949"}],"version-history":[{"count":188,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts\/26949\/revisions"}],"predecessor-version":[{"id":27175,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/posts\/26949\/revisions\/27175"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/media\/27171"}],"wp:attachment":[{"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/media?parent=26949"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/categories?post=26949"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloud-cod.com\/index.php\/wp-json\/wp\/v2\/tags?post=26949"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}