<mxfile host="thecodeclouds.com" agent="hand-built" version="24.0.0" type="device">
<diagram id="options" name="2. Interconnect options"><mxGraphModel dx="1400" dy="900" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1500" pageHeight="870" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="c1" value="Three ways to join AWS and Google Cloud privately" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=18;fontColor=#232F3E;fontStyle=1;spacing=0;" vertex="1" parent="1"><mxGeometry x="20" y="16" width="900" height="24" as="geometry"/></mxCell>
<mxCell id="c2" value="&lt;b&gt;Option A: HA VPN over the internet&lt;/b&gt;" style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#E8710A;fillColor=#FFFFFF;dashed=0;fontSize=12;fontStyle=0;fontColor=#E8710A;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="20" y="60" width="1460" height="250" as="geometry"/></mxCell>
<mxCell id="c3" value="&lt;b&gt;AWS&lt;/b&gt;" style="points=[];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=0;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud_alt;strokeColor=#232F3E;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#232F3E;dashed=0;" vertex="1" parent="1"><mxGeometry x="40" y="100" width="380" height="190" as="geometry"/></mxCell>
<mxCell id="c4" value="&lt;b&gt;Google Cloud&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#FFFFFF;strokeWidth=1.5;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=34;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1080" y="100" width="380" height="190" as="geometry"/></mxCell>
<mxCell id="c5" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#4285F4;shape=mxgraph.gcp2.google_cloud_platform;" vertex="1" parent="1"><mxGeometry x="1088" y="105" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="tgw0" value="&lt;b&gt;Transit Gateway&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.transit_gateway;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="80" y="160" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="cr0" value="&lt;b&gt;Cloud Router&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_router;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1360" y="163" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="vpnA" value='&lt;b&gt;Site-to-Site VPN&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;2 connections&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.site_to_site_vpn;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="300" y="160" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="havA" value='&lt;b&gt;HA VPN gateway&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;2 interfaces&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_vpn;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1140" y="163" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="c6" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="tgw0" target="vpnA"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c7" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="havA" target="cr0"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c8" style="edgeStyle=none;html=1;rounded=0;strokeColor=#E8710A;strokeWidth=1.5;dashed=1;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.3;exitDx=0;exitDy=0;entryX=0;entryY=0.3;entryDx=0;entryDy=0;" edge="1" parent="1" source="vpnA" target="havA"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c9" style="edgeStyle=none;html=1;rounded=0;strokeColor=#E8710A;strokeWidth=1.5;dashed=1;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.45;exitDx=0;exitDy=0;entryX=0;entryY=0.45;entryDx=0;entryDy=0;" edge="1" parent="1" source="vpnA" target="havA"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c10" style="edgeStyle=none;html=1;rounded=0;strokeColor=#E8710A;strokeWidth=1.5;dashed=1;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.6;exitDx=0;exitDy=0;entryX=0;entryY=0.6;entryDx=0;entryDy=0;" edge="1" parent="1" source="vpnA" target="havA"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c11" style="edgeStyle=none;html=1;rounded=0;strokeColor=#E8710A;strokeWidth=1.5;dashed=1;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.75;entryDx=0;entryDy=0;" edge="1" parent="1" source="vpnA" target="havA"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c12" value="4 IPsec tunnels, BGP over each" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=12;fontColor=#E8710A;fontStyle=1;spacing=0;labelBackgroundColor=#FFFFFF;" vertex="1" parent="1"><mxGeometry x="600" y="142" width="300" height="18" as="geometry"/></mxCell>
<mxCell id="c13" value="Up in an afternoon. Encrypted. Internet egress pricing.&lt;br&gt;About 1.25 Gbps per tunnel on the AWS side, ~5 Gbps with ECMP.&lt;br&gt;Use it for: a first link, low volume, or the backup path." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=12;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="470" y="220" width="560" height="50" as="geometry"/></mxCell>
<mxCell id="c14" value="&lt;b&gt;Option B: Meet in a colocation (Direct Connect + Partner or Dedicated Interconnect)&lt;/b&gt;" style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#5A6C86;fillColor=#FFFFFF;dashed=0;fontSize=12;fontStyle=0;fontColor=#5A6C86;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="20" y="330" width="1460" height="250" as="geometry"/></mxCell>
<mxCell id="c15" value="&lt;b&gt;AWS&lt;/b&gt;" style="points=[];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=0;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud_alt;strokeColor=#232F3E;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#232F3E;dashed=0;" vertex="1" parent="1"><mxGeometry x="40" y="370" width="380" height="190" as="geometry"/></mxCell>
<mxCell id="c16" value="&lt;b&gt;Google Cloud&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#FFFFFF;strokeWidth=1.5;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=34;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1080" y="370" width="380" height="190" as="geometry"/></mxCell>
<mxCell id="c17" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#4285F4;shape=mxgraph.gcp2.google_cloud_platform;" vertex="1" parent="1"><mxGeometry x="1088" y="375" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="tgw1" value="&lt;b&gt;Transit Gateway&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.transit_gateway;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="80" y="430" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="cr1" value="&lt;b&gt;Cloud Router&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_router;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1360" y="433" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="dxB" value='&lt;b&gt;Direct Connect&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;gateway&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.direct_connect;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="300" y="430" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="piB" value='&lt;b&gt;VLAN&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;attachments&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.partner_interconnect;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1140" y="433" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="c18" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="tgw1" target="dxB"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c19" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="piB" target="cr1"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="colo" value='&lt;b&gt;Colocation / cloud exchange&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;(your routers, or a fabric such as Equinix or Megaport)&lt;/font&gt;' style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#5A6C86;fillColor=#F7F8FA;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="560" y="380" width="380" height="100" as="geometry"/></mxCell>
<mxCell id="rtrB" value="&lt;b&gt;Routers&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#5A6C86;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.router;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="725" y="422" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="c21" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=3;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.6;entryDx=0;entryDy=0;" edge="1" parent="1" source="dxB" target="colo"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c22" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=3;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.6;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="colo" target="piB"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c23" value="You run (or rent) the routers and two sets of BGP sessions.&lt;br&gt;Reuses the colo you already have for on-premises traffic.&lt;br&gt;Pay for ports and cross-connects, plus per-GB transfer on both clouds." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=12;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="470" y="495" width="560" height="50" as="geometry"/></mxCell>
<mxCell id="c24" value="&lt;b&gt;Option C: AWS Interconnect - multicloud (Partner Cross-Cloud Interconnect for AWS)&lt;/b&gt;" style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#1E8E3E;fillColor=#FFFFFF;dashed=0;fontSize=12;fontStyle=0;fontColor=#1E8E3E;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="20" y="600" width="1460" height="250" as="geometry"/></mxCell>
<mxCell id="c25" value="&lt;b&gt;AWS&lt;/b&gt;" style="points=[];outlineConnect=0;gradientColor=none;html=1;whiteSpace=wrap;fontSize=12;fontStyle=0;container=0;pointerEvents=0;collapsible=0;recursiveResize=0;shape=mxgraph.aws4.group;grIcon=mxgraph.aws4.group_aws_cloud_alt;strokeColor=#232F3E;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#232F3E;dashed=0;" vertex="1" parent="1"><mxGeometry x="40" y="640" width="380" height="190" as="geometry"/></mxCell>
<mxCell id="c26" value="&lt;b&gt;Google Cloud&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#FFFFFF;strokeWidth=1.5;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=34;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1080" y="640" width="380" height="190" as="geometry"/></mxCell>
<mxCell id="c27" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#4285F4;shape=mxgraph.gcp2.google_cloud_platform;" vertex="1" parent="1"><mxGeometry x="1088" y="645" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="tgw2" value="&lt;b&gt;Transit Gateway&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.transit_gateway;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="80" y="700" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="cr2" value="&lt;b&gt;Cloud Router&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_router;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1360" y="703" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="attC" value='&lt;b&gt;Interconnect&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;attachment&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#8C4FFF;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.transit_gateway_attachment;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="300" y="700" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="trC" value='&lt;b&gt;Transport&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;(managed)&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.dedicated_interconnect;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1140" y="703" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="c28" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="tgw2" target="attC"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c29" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="trC" target="cr2"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c30" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=5;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="attC" target="trC"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c31" value="Managed by AWS and Google: MACsec, 4-way redundant" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=12;fontColor=#1E8E3E;fontStyle=1;spacing=0;labelBackgroundColor=#FFFFFF;" vertex="1" parent="1"><mxGeometry x="560" y="700" width="380" height="18" as="geometry"/></mxCell>
<mxCell id="c32" value="No routers, no cross-connects. 1 to 100 Gbps, resize in place.&lt;br&gt;Hourly price per bandwidth, no per-GB transfer charge.&lt;br&gt;Same-metro region pairs only (5 pairs at GA, April 2026)." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=12;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="470" y="760" width="560" height="50" as="geometry"/></mxCell></root></mxGraphModel></diagram>
</mxfile>
