<mxfile host="thecodeclouds.com" agent="hand-built" version="24.0.0" type="device">
<diagram id="reference" name="1. Reference architecture"><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="900" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="c1" value="AWS + Google Cloud: enterprise hub-and-spoke reference architecture" 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;AWS Cloud&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="20" y="60" width="600" height="640" as="geometry"/></mxCell>
<mxCell id="c3" value="&lt;b&gt;eu-west-2 (London)&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_region;strokeColor=#00A4A6;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#147EBA;dashed=1;" vertex="1" parent="1"><mxGeometry x="40" y="100" width="560" height="580" as="geometry"/></mxCell>
<mxCell id="av0" value='&lt;b&gt;Prod VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.16.0.0/16&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="60" y="140" width="230" height="105" as="geometry"/></mxCell>
<mxCell id="avi0" value="&lt;b&gt;Amazon EKS&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.eks;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="78" y="186" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="av1" value='&lt;b&gt;Non-prod VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.17.0.0/16&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="60" y="270" width="230" height="105" as="geometry"/></mxCell>
<mxCell id="avi1" value="&lt;b&gt;Amazon EC2&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.ec2;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="78" y="316" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="av2" value='&lt;b&gt;Shared services VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.18.0.0/16&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="60" y="400" width="230" height="105" as="geometry"/></mxCell>
<mxCell id="avi2" value='&lt;b&gt;Route 53 Resolver&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;endpoints&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.route_53_resolver;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="78" y="446" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="av3" value='&lt;b&gt;Inspection VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.19.0.0/22&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="60" y="530" width="230" height="105" as="geometry"/></mxCell>
<mxCell id="avi3" value="&lt;b&gt;Network Firewall&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.network_firewall;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="78" y="576" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="tgw" value='&lt;b&gt;Transit Gateway&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;route tables per env&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;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="380" y="300" width="60" height="60" as="geometry"/></mxCell>
<mxCell id="s2s" value="&lt;b&gt;Site-to-Site VPN&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.site_to_site_vpn;labelPosition=center;verticalLabelPosition=top;align=center;verticalAlign=bottom;" vertex="1" parent="1"><mxGeometry x="520" y="174" width="52" height="52" as="geometry"/></mxCell>
<mxCell id="dxgw" 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=top;align=center;verticalAlign=bottom;" vertex="1" parent="1"><mxGeometry x="520" y="304" width="52" height="52" as="geometry"/></mxCell>
<mxCell id="c8" 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="av0" target="tgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c9" 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="av1" target="tgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c10" 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="av2" target="tgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c11" 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="av3" target="tgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c12" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="tgw" target="s2s"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="410" y="200"/></Array></mxGeometry></mxCell>
<mxCell id="c13" 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="tgw" target="dxgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c14" 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="880" y="60" width="600" height="640" as="geometry"/></mxCell>
<mxCell id="c15" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#4285F4;shape=mxgraph.gcp2.google_cloud_platform;" vertex="1" parent="1"><mxGeometry x="888" y="65" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c16" value="&lt;b&gt;europe-west2 (London)&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#9AA0A6;fillColor=none;strokeWidth=1;dashed=1;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="900" y="100" width="560" height="580" as="geometry"/></mxCell>
<mxCell id="rvpc" value='&lt;b&gt;Routing VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.35.0.0/24&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=34;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="915" y="140" width="195" height="375" as="geometry"/></mxCell>
<mxCell id="c18" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#5184F3;shape=mxgraph.gcp2.virtual_private_cloud;" vertex="1" parent="1"><mxGeometry x="923" y="145" width="22" height="20" as="geometry"/></mxCell>
<mxCell id="havpn" value='&lt;b&gt;HA VPN&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=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="935" y="173.5" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="cr" value='&lt;b&gt;Cloud Router&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;BGP, custom adverts&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_router;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="935" y="303.5" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="vlan" value='&lt;b&gt;Interconnect&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;VLAN attachments&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=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="935" y="420" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="hub" value='&lt;b&gt;NCC hub&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;VPC + hybrid spokes&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_network;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1150" y="307" width="56" height="49.61" as="geometry"/></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.506;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="rvpc" target="hub"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="gv0" value='&lt;b&gt;Prod Shared VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.32.0.0/16&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1250" y="140" width="195" height="105" as="geometry"/></mxCell>
<mxCell id="gvi0" value="&lt;b&gt;GKE&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.container_engine;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1266" y="190" width="46" height="40.75" as="geometry"/></mxCell>
<mxCell id="c21" 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="hub" target="gv0"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="gv1" value='&lt;b&gt;Non-prod Shared VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.33.0.0/16&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1250" y="270" width="195" height="105" as="geometry"/></mxCell>
<mxCell id="gvi1" value="&lt;b&gt;Compute Engine&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.compute_engine;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1266" y="320" width="46" height="40.75" as="geometry"/></mxCell>
<mxCell id="c23" 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="hub" target="gv1"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="gv2" value='&lt;b&gt;Shared services VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.34.0.0/16&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1250" y="400" width="195" height="105" as="geometry"/></mxCell>
<mxCell id="gvi2" value="&lt;b&gt;Cloud DNS&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_dns;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1266" y="450" width="46" height="40.75" as="geometry"/></mxCell>
<mxCell id="c25" 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="hub" target="gv2"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="gsec" value="&lt;b&gt;Org guardrails&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#9AA0A6;fillColor=#F8F9FA;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1250" y="530" width="195" height="105" as="geometry"/></mxCell>
<mxCell id="fw" value='&lt;b&gt;Hierarchical&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;firewall policies&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_firewall_rules;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1266" y="575" width="46" height="40.75" as="geometry"/></mxCell>
<mxCell id="c27" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=4;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="dxgw" target="cr"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c28" value="AWS Interconnect - multicloud" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=13;fontColor=#1E8E3E;fontStyle=1;spacing=0;labelBackgroundColor=#FFFFFF;" vertex="1" parent="1"><mxGeometry x="600" y="286" width="320" height="19" as="geometry"/></mxCell>
<mxCell id="c29" value="= Partner Cross-Cloud Interconnect for AWS&lt;br&gt;1 to 100 Gbps · MACsec · 4-way redundant" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;labelBackgroundColor=#FFFFFF;" vertex="1" parent="1"><mxGeometry x="600" y="340" width="320" height="32" as="geometry"/></mxCell>
<mxCell id="c30" style="edgeStyle=none;html=1;rounded=0;strokeColor=#E8710A;strokeWidth=2;dashed=1;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="s2s" target="havpn"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c31" value="Backup: HA VPN, 4 IPsec tunnels, BGP" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=11;fontColor=#E8710A;fontStyle=0;spacing=0;labelBackgroundColor=#FFFFFF;" vertex="1" parent="1"><mxGeometry x="620" y="206" width="280" height="17" as="geometry"/></mxCell>
<mxCell id="dc" value='&lt;b&gt;Corporate data centre&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.0.0.0/12&lt;/font&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_corporate_data_center;strokeColor=#7D8998;fillColor=#F7F8FA;verticalAlign=top;align=left;spacingLeft=30;fontColor=#5A6C86;dashed=0;" vertex="1" parent="1"><mxGeometry x="600" y="735" width="300" height="135" as="geometry"/></mxCell>
<mxCell id="rtr" value='&lt;b&gt;Edge routers&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;2 colocation sites&lt;/font&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="690" y="790" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="c33" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="dxgw" target="dc"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="546" y="802.5"/></Array></mxGeometry></mxCell>
<mxCell id="c34" value="Direct Connect&lt;br&gt;2 x 10G, 2 locations" style="text;html=1;whiteSpace=wrap;align=right;verticalAlign=top;fontSize=11;fontColor=#5A6C86;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="400" y="718" width="140" height="32" as="geometry"/></mxCell>
<mxCell id="c35" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=0;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="vlan" target="dc"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="965" y="802.5"/></Array></mxGeometry></mxCell>
<mxCell id="c36" value="Dedicated Interconnect&lt;br&gt;2 x 10G, 2 metro zones" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#5A6C86;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="975" y="718" width="200" height="32" as="geometry"/></mxCell>
<mxCell id="c37" value="&lt;b&gt;Legend&lt;/b&gt;" style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#9AA0A6;fillColor=#FFFFFF;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="1200" y="730" width="280" height="135" as="geometry"/></mxCell>
<mxCell id="c38" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=4;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1214" y="768" as="sourcePoint"/><mxPoint x="1254" y="768" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c39" value="Primary cloud-to-cloud link" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1266" y="761" width="204" height="17" as="geometry"/></mxCell>
<mxCell id="c40" style="edgeStyle=none;html=1;rounded=0;strokeColor=#E8710A;strokeWidth=2;dashed=1;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1214" y="789" as="sourcePoint"/><mxPoint x="1254" y="789" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c41" value="Encrypted backup path" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1266" y="782" width="204" height="17" as="geometry"/></mxCell>
<mxCell id="c42" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1214" y="810" as="sourcePoint"/><mxPoint x="1254" y="810" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c43" value="AWS routing domain" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1266" y="803" width="204" height="17" as="geometry"/></mxCell>
<mxCell id="c44" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1214" y="831" as="sourcePoint"/><mxPoint x="1254" y="831" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c45" value="Google Cloud routing domain" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1266" y="824" width="204" height="17" as="geometry"/></mxCell>
<mxCell id="c46" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1214" y="852" as="sourcePoint"/><mxPoint x="1254" y="852" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c47" value="On-premises links" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1266" y="845" width="204" height="17" as="geometry"/></mxCell></root></mxGraphModel></diagram>
<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>
<diagram id="dns" name="3. Hybrid DNS"><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="780" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="c1" value="One name space, three resolvers: Route 53 Resolver, Cloud DNS and on-prem DNS" 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="1100" height="24" as="geometry"/></mxCell>
<mxCell id="c2" value="&lt;b&gt;AWS Cloud&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="20" y="60" width="600" height="500" as="geometry"/></mxCell>
<mxCell id="c3" value='&lt;b&gt;Shared services VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.18.0.0/16&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="40" y="100" width="560" height="240" as="geometry"/></mxCell>
<mxCell id="phz" value='&lt;b&gt;Private hosted zone&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;aws.corp.example&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.route_53;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="70" y="160" width="48" height="48" as="geometry"/></mxCell>
<mxCell id="c4" value="Resolver rules, shared with AWS RAM&lt;br&gt;gcp.corp.example  →  10.34.0.2, 10.34.0.3&lt;br&gt;corp.example  →  on-prem DNS" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="70" y="245" width="250" height="47" as="geometry"/></mxCell>
<mxCell id="inb" value='&lt;b&gt;Inbound endpoint&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.18.0.10, 10.18.1.10&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.route_53_resolver;labelPosition=left;verticalLabelPosition=middle;align=right;verticalAlign=middle;spacingRight=4;" vertex="1" parent="1"><mxGeometry x="520" y="150.5" width="52" height="52" as="geometry"/></mxCell>
<mxCell id="outb" value="&lt;b&gt;Outbound endpoint&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.route_53_resolver;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="400" y="250.5" width="52" height="52" as="geometry"/></mxCell>
<mxCell id="c5" value='&lt;b&gt;Prod VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.16.0.0/16&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="40" y="370" width="560" height="170" as="geometry"/></mxCell>
<mxCell id="eks" value='&lt;b&gt;EKS pod&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;asks api.gcp.corp.example&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.eks;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="300" y="440" width="46" height="46" as="geometry"/></mxCell>
<mxCell id="c6" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="eks" target="outb"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="323" y="276.5"/></Array></mxGeometry></mxCell>
<mxCell id="c7" value="1" style="ellipse;html=1;fillColor=#8C4FFF;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="312" y="330" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c8" 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="880" y="60" width="600" height="500" as="geometry"/></mxCell>
<mxCell id="c9" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#4285F4;shape=mxgraph.gcp2.google_cloud_platform;" vertex="1" parent="1"><mxGeometry x="888" y="65" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="ghub" value='&lt;b&gt;Shared services VPC (DNS hub)&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.34.0.0/16&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=34;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="900" y="100" width="560" height="240" as="geometry"/></mxCell>
<mxCell id="c11" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#5184F3;shape=mxgraph.gcp2.virtual_private_cloud;" vertex="1" parent="1"><mxGeometry x="908" y="105" width="22" height="20" as="geometry"/></mxCell>
<mxCell id="fwd" value='&lt;b&gt;Forwarding zone aws.corp.example&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;→ 10.18.0.10, 10.18.1.10&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_dns;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="930" y="150" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="pol" value='&lt;b&gt;Inbound server policy&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;10.34.0.2, 10.34.0.3&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_dns;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="930" y="250" width="60" height="53.15" as="geometry"/></mxCell>
<mxCell id="pz" value='&lt;b&gt;Private zone&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;gcp.corp.example&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_dns;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1340" y="200" width="56" height="49.61" as="geometry"/></mxCell>
<mxCell id="c12" value='&lt;b&gt;Prod Shared VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.32.0.0/16&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="900" y="370" width="560" height="170" as="geometry"/></mxCell>
<mxCell id="gke" value='&lt;b&gt;GKE pod&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;asks db.aws.corp.example&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.container_engine;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1250" y="440" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="c13" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.6714;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="gke" target="ghub"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c14" value="DNS peering zone&lt;br&gt;aws.corp.example → DNS hub" style="text;html=1;whiteSpace=wrap;align=right;verticalAlign=top;fontSize=11;fontColor=#4285F4;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1050" y="380" width="220" height="32" as="geometry"/></mxCell>
<mxCell id="c15" value="3" style="ellipse;html=1;fillColor=#4285F4;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="1265" y="360" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c16" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=3;dashed=0;startArrow=none;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="outb" target="pol"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c17" value="2" style="ellipse;html=1;fillColor=#1E8E3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="735" y="265" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c18" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=3;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="fwd" target="inb"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c19" value="4" style="ellipse;html=1;fillColor=#1E8E3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="735" y="165" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c20" value="over the private interconnect" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=11;fontColor=#1E8E3E;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="640" y="210" width="220" height="17" as="geometry"/></mxCell>
<mxCell id="dc" value="&lt;b&gt;Corporate data centre&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_corporate_data_center;strokeColor=#7D8998;fillColor=#F7F8FA;verticalAlign=top;align=left;spacingLeft=30;fontColor=#5A6C86;dashed=0;" vertex="1" parent="1"><mxGeometry x="640" y="620" width="260" height="130" as="geometry"/></mxCell>
<mxCell id="ondns" value='&lt;b&gt;On-prem DNS&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;conditional forwarders&lt;/font&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.traditional_server;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="670" y="670" width="44" height="44" as="geometry"/></mxCell>
<mxCell id="c22" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=1;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="inb" target="dc"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="546" y="685"/></Array></mxGeometry></mxCell>
<mxCell id="c23" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=1;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="pol" target="dc"><mxGeometry relative="1" as="geometry"><Array as="points"><mxPoint x="960" y="685"/></Array></mxGeometry></mxCell>
<mxCell id="c24" value="&lt;b&gt;Gotcha: 35.199.192.0/19&lt;/b&gt;" style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#E8710A;fillColor=#FFF7F0;dashed=0;fontSize=12;fontStyle=0;fontColor=#B05000;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="640" y="340" width="220" height="200" as="geometry"/></mxCell>
<mxCell id="c25" value="Cloud DNS sends forwarded&lt;br&gt;queries from this range.&lt;br&gt;Advertise it from&lt;br&gt;Cloud Router to AWS, route it&lt;br&gt;back over the interconnect, and&lt;br&gt;allow it in the inbound&lt;br&gt;endpoint's security group.&lt;br&gt;Otherwise answers never&lt;br&gt;come back." style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="652" y="372" width="200" height="137" as="geometry"/></mxCell>
<mxCell id="c26" value="&lt;b&gt;Legend&lt;/b&gt;" style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#9AA0A6;fillColor=#FFFFFF;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="1180" y="600" width="300" height="114" as="geometry"/></mxCell>
<mxCell id="c27" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=3;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1194" y="638" as="sourcePoint"/><mxPoint x="1234" y="638" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c28" value="Cross-cloud DNS query" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1246" y="631" width="224" height="17" as="geometry"/></mxCell>
<mxCell id="c29" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1194" y="659" as="sourcePoint"/><mxPoint x="1234" y="659" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c30" value="Query inside AWS" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1246" y="652" width="224" height="17" as="geometry"/></mxCell>
<mxCell id="c31" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1194" y="680" as="sourcePoint"/><mxPoint x="1234" y="680" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c32" value="Query inside Google Cloud" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1246" y="673" width="224" height="17" as="geometry"/></mxCell>
<mxCell id="c33" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=1;startArrow=none;startFill=1;endArrow=none;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="1194" y="701" as="sourcePoint"/><mxPoint x="1234" y="701" as="targetPoint"/></mxGeometry></mxCell>
<mxCell id="c34" value="On-prem conditional forwarding" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="1246" y="694" width="224" height="17" as="geometry"/></mxCell>
<mxCell id="c35" value="1  EKS asks VPC resolver, rule sends gcp.corp.example out&lt;br&gt;2  Outbound endpoint queries Cloud DNS inbound policy IPs&lt;br&gt;3  GKE query follows the peering zone to the DNS hub&lt;br&gt;4  Forwarding zone queries the Route 53 inbound endpoint" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=12;fontColor=#232F3E;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="20" y="600" width="560" height="66" as="geometry"/></mxCell></root></mxGraphModel></diagram>
<diagram id="security" name="4. Inspected cross-cloud path"><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="790" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="c1" value="Following one request from an EKS pod to a GKE service, and every control on the way" 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="1200" height="24" as="geometry"/></mxCell>
<mxCell id="c2" value="&lt;b&gt;AWS Cloud&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="20" y="60" width="600" height="470" as="geometry"/></mxCell>
<mxCell id="pvpc" value='&lt;b&gt;Prod VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.16.0.0/16&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="40" y="100" width="220" height="150" as="geometry"/></mxCell>
<mxCell id="eks" value='&lt;b&gt;EKS pod&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.16.4.25&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#ED7100;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.eks;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="62" y="160" width="46" height="46" as="geometry"/></mxCell>
<mxCell id="tgw" 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="330" y="147" width="56" height="56" as="geometry"/></mxCell>
<mxCell id="dxgw" 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=top;align=center;verticalAlign=bottom;" vertex="1" parent="1"><mxGeometry x="520" y="149" width="52" height="52" as="geometry"/></mxCell>
<mxCell id="ivpc" value='&lt;b&gt;Inspection VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.19.0.0/22&lt;/font&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_vpc2;strokeColor=#8C4FFF;fillColor=#FAF7FF;verticalAlign=top;align=left;spacingLeft=30;fontColor=#8C4FFF;dashed=0;" vertex="1" parent="1"><mxGeometry x="260" y="330" width="330" height="170" as="geometry"/></mxCell>
<mxCell id="nfw" value='&lt;b&gt;Network Firewall&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;stateful rules, domain lists&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.network_firewall;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="290" y="400" width="48" height="48" as="geometry"/></mxCell>
<mxCell id="c5" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;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="pvpc" target="tgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c6" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.35;exitY=1;exitDx=0;exitDy=0;entryX=0.2273;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="tgw" target="ivpc"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c7" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.3485;exitY=0;exitDx=0;exitDy=0;entryX=0.65;entryY=1;entryDx=0;entryDy=0;" edge="1" parent="1" source="ivpc" target="tgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c8" style="edgeStyle=none;html=1;rounded=0;strokeColor=#8C4FFF;strokeWidth=2;dashed=0;startArrow=none;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="tgw" target="dxgw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c9" value="1" style="ellipse;html=1;fillColor=#232F3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="270" y="145" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c10" value="2" style="ellipse;html=1;fillColor=#232F3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="395" y="250" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c11" value="prod route table:&lt;br&gt;10.32.0.0/11 → inspection&lt;br&gt;(appliance mode on)" style="text;html=1;whiteSpace=wrap;align=left;verticalAlign=top;fontSize=11;fontColor=#3C4043;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="425" y="250" width="160" height="47" as="geometry"/></mxCell>
<mxCell id="c12" 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="880" y="60" width="600" height="470" as="geometry"/></mxCell>
<mxCell id="c13" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#4285F4;shape=mxgraph.gcp2.google_cloud_platform;" vertex="1" parent="1"><mxGeometry x="888" y="65" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="rvpc" value="&lt;b&gt;Routing VPC&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=34;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="900" y="100" width="175" height="150" as="geometry"/></mxCell>
<mxCell id="c15" value="" style="sketch=0;html=1;aspect=fixed;strokeColor=none;fillColor=#5184F3;shape=mxgraph.gcp2.virtual_private_cloud;" vertex="1" parent="1"><mxGeometry x="908" y="105" width="22" height="20" as="geometry"/></mxCell>
<mxCell id="cr" 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=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="920" y="149" width="56" height="49.61" as="geometry"/></mxCell>
<mxCell id="c16" style="edgeStyle=none;html=1;rounded=0;strokeColor=#1E8E3E;strokeWidth=4;dashed=0;startArrow=none;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="dxgw" target="cr"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c17" value="3" style="ellipse;html=1;fillColor=#232F3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="728" y="140" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c18" value="MACsec on the link" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=11;fontColor=#1E8E3E;fontStyle=0;spacing=0;" vertex="1" parent="1"><mxGeometry x="650" y="185" width="180" height="17" as="geometry"/></mxCell>
<mxCell id="hub" value="&lt;b&gt;NCC hub&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_network;labelPosition=center;verticalLabelPosition=bottom;align=center;verticalAlign=top;" vertex="1" parent="1"><mxGeometry x="1105" y="151" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="c19" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;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="rvpc" target="hub"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c20" value="4" style="ellipse;html=1;fillColor=#232F3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="1110" y="105" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="gvpc" value='&lt;b&gt;Prod Shared VPC&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;10.32.0.0/16&lt;/font&gt;' style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#4285F4;fillColor=#F1F6FE;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1190" y="100" width="270" height="410" as="geometry"/></mxCell>
<mxCell id="fw" value='&lt;b&gt;Cloud NGFW policy&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;allow 10.16.0.0/16 → tag api:443&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_firewall_rules;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1215" y="150" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="ilb" value="&lt;b&gt;Internal load balancer&lt;/b&gt;" style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_load_balancing;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1215" y="290" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="gke" value='&lt;b&gt;GKE pod&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;10.32.8.14&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.container_engine;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1215" y="420" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="c22" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;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="hub" target="fw"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c23" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="fw" target="ilb"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c24" style="edgeStyle=none;html=1;rounded=0;strokeColor=#4285F4;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" edge="1" parent="1" source="ilb" target="gke"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c25" value="5" style="ellipse;html=1;fillColor=#232F3E;strokeColor=none;fontColor=#FFFFFF;fontStyle=1;fontSize=12;aspect=fixed;" vertex="1" parent="1"><mxGeometry x="1205" y="230" width="22" height="22" as="geometry"/></mxCell>
<mxCell id="c26" style="edgeStyle=none;html=1;rounded=0;strokeColor=#DD344C;strokeWidth=1.5;dashed=1;startArrow=block;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;" edge="1" parent="1"><mxGeometry relative="1" as="geometry"><mxPoint x="85" y="206" as="sourcePoint"/><mxPoint x="1241" y="476" as="targetPoint"/><Array as="points"><mxPoint x="85" y="545"/><mxPoint x="1241" y="545"/></Array></mxGeometry></mxCell>
<mxCell id="c27" value="Workload identity and mTLS end to end: the network is not the only check" style="text;html=1;whiteSpace=wrap;align=center;verticalAlign=top;fontSize=12;fontColor=#DD344C;fontStyle=1;spacing=0;labelBackgroundColor=#FFFFFF;" vertex="1" parent="1"><mxGeometry x="400" y="552" width="700" height="18" as="geometry"/></mxCell>
<mxCell id="awsdet" value="&lt;b&gt;Detect and audit on 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_account;strokeColor=#CD2264;fillColor=none;verticalAlign=top;align=left;spacingLeft=30;fontColor=#CD2264;dashed=0;" vertex="1" parent="1"><mxGeometry x="20" y="600" width="420" height="160" as="geometry"/></mxCell>
<mxCell id="gd" value="&lt;b&gt;GuardDuty&lt;/b&gt;" style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#DD344C;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.guardduty;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="50" y="655" width="46" height="46" as="geometry"/></mxCell>
<mxCell id="ct" value='&lt;b&gt;CloudTrail +&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;VPC Flow Logs&lt;/font&gt;' style="sketch=0;points=[];outlineConnect=0;fontColor=#232F3E;fillColor=#E7157B;strokeColor=#ffffff;dashed=0;html=1;fontSize=12;fontStyle=0;aspect=fixed;shape=mxgraph.aws4.resourceIcon;resIcon=mxgraph.aws4.cloudtrail;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="220" y="655" width="46" height="46" as="geometry"/></mxCell>
<mxCell id="gcpdet" value="&lt;b&gt;Detect and audit on Google Cloud&lt;/b&gt;" style="rounded=1;absoluteArcSize=1;arcSize=6;html=1;whiteSpace=wrap;strokeColor=#9AA0A6;fillColor=#F8F9FA;strokeWidth=1;dashed=0;fontSize=12;fontStyle=0;fontColor=#3C4043;align=left;verticalAlign=top;spacingLeft=8;spacingTop=-2;" vertex="1" parent="1"><mxGeometry x="1060" y="600" width="420" height="160" as="geometry"/></mxCell>
<mxCell id="lg" value='&lt;b&gt;Cloud Logging&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;flow + firewall logs&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.logging;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1080" y="655" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="scc" value='&lt;b&gt;Security&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#5F6368"&gt;Command Center&lt;/font&gt;' style="sketch=0;html=1;aspect=fixed;strokeColor=none;shadow=0;fillColor=#5184F3;fontSize=12;fontColor=#3C4043;shape=mxgraph.gcp2.cloud_security_command_center;labelPosition=right;verticalLabelPosition=middle;align=left;verticalAlign=middle;spacingLeft=4;" vertex="1" parent="1"><mxGeometry x="1290" y="655" width="52" height="46.07" as="geometry"/></mxCell>
<mxCell id="siem" value='&lt;b&gt;Central SIEM&lt;/b&gt;&lt;br&gt;&lt;font style="font-size:10px" color="#545B64"&gt;one timeline for&lt;br&gt;both clouds&lt;/font&gt;' style="rounded=1;arcSize=8;html=1;whiteSpace=wrap;strokeColor=#232F3E;fillColor=#F7F8FA;dashed=0;fontSize=12;fontStyle=0;fontColor=#232F3E;align=left;verticalAlign=top;spacingLeft=8;" vertex="1" parent="1"><mxGeometry x="590" y="630" width="320" height="100" as="geometry"/></mxCell>
<mxCell id="c31" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.4;entryDx=0;entryDy=0;" edge="1" parent="1" source="awsdet" target="siem"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell>
<mxCell id="c32" style="edgeStyle=none;html=1;rounded=0;strokeColor=#5A6C86;strokeWidth=2;dashed=0;startArrow=none;startFill=1;endArrow=block;endFill=1;endSize=4;startSize=4;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.4;entryDx=0;entryDy=0;" edge="1" parent="1" source="gcpdet" target="siem"><mxGeometry relative="1" as="geometry"></mxGeometry></mxCell></root></mxGraphModel></diagram>
</mxfile>
