{"id":9618,"date":"2022-01-25T16:14:23","date_gmt":"2022-01-25T10:44:23","guid":{"rendered":"https:\/\/opstree.com\/blog\/\/?p=9618"},"modified":"2022-01-25T16:14:23","modified_gmt":"2022-01-25T10:44:23","slug":"the-step-by-step-guide-to-connect-aws-with-azure","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2022\/01\/25\/the-step-by-step-guide-to-connect-aws-with-azure\/","title":{"rendered":"The Step-By-Step Guide to Connect Aws with Azure"},"content":{"rendered":"\n<p class=\"has-medium-font-size\">As we all know AWS and Azure are the two Cloud providers and there can be possibilities that one of our services is running on one cloud provider and the other is running on another cloud provider and, both are dependent on each other.<\/p>\n\n\n\n<p class=\"has-text-align-left has-medium-font-size\"> Through this blog, I will guide you on the steps which will be needed for connecting AWS with Azure and also will be explaining all the components of both the cloud provider that will be required for creating the site-to-site VPN Connectivity.<\/p>\n\n\n\n<p style=\"font-size:26px;\"><strong>Why are we trying to connect both?<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">In one of my projects, I met with a requirement where I was working on an application that follows a client-server architecture. There were servers connected to multiple clients. Initially, the Server was placed into AWS and the connected clients were also there, but after a couple of years our requirements got changed and a new business unit came into the picture with its own clients that were needed to be connected with the server present in the AWS cloud.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Now, these new clients were present on Azure but the server was on AWS. Migration of server was not an option for us because our customer was not ready to migrate those clients from Azure to AWS, so this was a completely new use case, to which we decided to connect both the cloud providers with each other by setting up IPSec VPN tunnel.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"771\" height=\"471\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2022\/01\/connecting_azure_with_aws-page-1.jpg?w=771\" alt=\"\" class=\"wp-image-9635\" \/><\/figure>\n\n\n\n<!--more-->\n\n\n\n<amp-fit-text layout=\"fixed-height\" min-font-size=\"6\" max-font-size=\"72\" height=\"80\"><p style=\"font-size:26px;\"><strong><strong>Prerequisites for Implementing the Use Case<\/strong><\/strong><\/p><\/amp-fit-text>\n\n\n\n<ul class=\"has-medium-font-size\"><li><strong>On AWS Side<\/strong><ol><li>One VPC with one Private and Public Subnet.<\/li><li>One Internet Gateway<\/li><li>One Public and Private Route Table<\/li><li>One Public and Private Security Group<\/li><li>One Public and Private EC2 Instance<\/li><\/ol><\/li><\/ul>\n\n\n\n<ul class=\"has-medium-font-size\"><li><strong>On Azure Side<\/strong><ol><li>One Resource Group<\/li><li>One Vnet With One Private Subnet<\/li><li>Gateway Subnet<\/li><li>Public IP<\/li><li>Virtual Network Gateway<\/li><li>Local Network Gateway<\/li><li>One VM<\/li><\/ol><\/li><\/ul>\n\n\n\n<p style=\"font-size:26px;\"><strong>Architecture<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">Our typical architecture for this use case looks as below:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2022\/01\/connecting_azure_with_aws-page-2-3.jpg?w=976\" alt=\"\" class=\"wp-image-9705\" width=\"629\" height=\"425\" \/><\/figure>\n\n\n\n<p style=\"font-size:26px;\"><strong>Overview<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">Generally, we create a <strong>site-to-site VPN<\/strong> for connecting the cloud network with the on-premise network. But for this kind of use case, we need to create a site-to-site VPN between <strong>two<\/strong> cloud providers.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Let me explain what we are going to do, and how we are going to implement a site-to-site VPN. <\/p>\n\n\n\n<p class=\"has-medium-font-size\">You need to follow the below steps to create a site-to-site VPN. <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step1: <\/strong>We will firstly start with creating a VPC at the AWS side in which we will create two subnets a public subnet and a private subnet.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">In the process of filtering the traffic at the subnet level, you will need to create two NACL(Network Access Control List) and associate one with the private subnet, and another with the public subnet. Also do not forget to create two EC2, one private and one public instance. We will use the public EC2 as a bastion server to access the private EC2 instance.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step 2:<\/strong> After creating the above component, please do not forget to create the routing rules since you also need to access your public EC2 instance from your local system, so for that, we will use the internet gateway which will help us to communicate with the public EC2 from our local computer. <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step3:<\/strong> Let&#8217;s move further and create a customer gateway, but it will be asking for an IP, and getting the Public IP of Virtual Network Gateway of Azure we need to jump into the azure and set up a Virtual Network Gateway from where we will be getting an option to generate a public IP. <\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/c.tenor.com\/8QZfcU8xcYwAAAAM\/i-have-your-ip-address.gif\" alt=\"I Have Your Ip Address GIF - I Have Your Ip Address - Discover &amp; Share GIFs\" width=\"627\" height=\"655\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-left\" style=\"font-size:8px;\">                                                                                                                                               <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step4: <\/strong>Now we have the Public IP of Azure Virtual Network Gateway, let&#8217;s create the Customer Gateway at the AWS Side. <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step5: <\/strong>After creating the customer gateway you need to also create the Virtual Network Gateway at the AWS side and attach the same with the VPC.<\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step6:<\/strong> After Creating the Virtual Network Gateway at the AWS end, let&#8217;s create a site-to-site connection and download the generic configuration, the values of this configuration file will be needed to configure the Local Network Gateway and connection at the Azure end. <\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Step7: <\/strong>Now let&#8217;s jump into the azure end create a Private VM in the same Virtual network in which the Virtual network gateway is configured.<\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/64.media.tumblr.com\/tumblr_lk6j8jAhnv1qixleeo1_400.gifv\" alt=\"Miscellaneous Gifs \u2014 Tired GIFS\" width=\"738\" height=\"416\" \/><\/figure>\n\n\n\n<p style=\"font-size:8px;\">                                                                        <\/p>\n\n\n\n<p class=\"has-medium-font-size\">Finally, we have configured everything that is needed to set up a site-to-site VPN between AWS and Azure so let&#8217;s jump into the private EC2 instance and ping the Private VM of Azure or you can also ping the private EC2 from the Azure VM.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2022\/01\/aws-to-azure-ping.png?w=874\" alt=\"\" class=\"wp-image-9731\" width=\"531\" height=\"261\" \/><\/figure>\n\n\n\n<p style=\"font-size:26px;\"><strong>Conclusion<\/strong><\/p>\n\n\n\n<p class=\"has-medium-font-size\">In this blog, we have learned about the prerequisites for creating the Site to Site VPN between AWS and Azure. Also, we have discussed the overview of connecting both Azure and AWS.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">In the next blog, we will discuss the detailed steps required for creating the IPSec VPN tunnel between AWS and Azure till then please stay tuned and take care&#8230;Cheers!!!!!<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Happy Learning!!!<\/p>\n\n\n\n<p class=\"has-medium-font-size\">Gif References: <a rel=\"noreferrer noopener\" href=\"https:\/\/www.google.com\/url?sa=i&amp;url=https%3A%2F%2Ftenor.com%2Fview%2Fi-have-your-ip-[\u2026]e=images&amp;cd=vfe&amp;ved=0CAsQjRxqFwoTCLCRmOyUyvUCFQAAAAAdAAAAABAD\" target=\"_blank\">Gif1<\/a>, <a rel=\"noreferrer noopener\" href=\"https:\/\/www.google.com\/url?sa=i&amp;url=https%3A%2F%2Fmiscgifs.tumblr.com%2Fpost%2F56275[\u2026]e=images&amp;cd=vfe&amp;ved=0CAsQjRxqFwoTCJCmxsaVyvUCFQAAAAAdAAAAABAE\" target=\"_blank\">Gif2<\/a><\/p>\n\n\n\n<p><strong style=\"font-weight:bold;\">Blog Pundit: <\/strong><a href=\"https:\/\/opstree.com\/blog\/\/author\/naveenverma023\/\"><strong>Naveen Verma<\/strong><\/a> <strong>and<\/strong> <a href=\"https:\/\/opstree.com\/blog\/\/author\/adeel109\/\"><strong>Adeel Ahmad <\/strong><\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.opstree.com\/contact-us?utm_source=blog&amp;utm_medium=wordpress+&amp;utm_campaign=Connecting-AWS-with-Azure\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Opstree<\/strong> <\/a>is an End to End DevOps solution provider<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button is-style-fill\"><a class=\"wp-block-button__link\" href=\"https:\/\/www.opstree.com\/contact-us\" target=\"_blank\" rel=\"noreferrer noopener\">CONTACT US<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong>Connect Us <\/strong><\/p>\n\n\n\n<ul class=\"wp-block-social-links aligncenter is-content-justification-right is-layout-flex wp-container-core-social-links-is-layout-1 wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-linkedin  wp-block-social-link\"><a href=\"https:\/\/www.linkedin.com\/company\/opstree-solutions\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">LinkedIn<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-youtube  wp-block-social-link\"><a href=\"https:\/\/www.youtube.com\/channel\/UCeLma6SpNYH7jjYKSBNSexw\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">YouTube<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-github  wp-block-social-link\"><a href=\"https:\/\/github.com\/OpsTree\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">GitHub<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-facebook  wp-block-social-link\"><a href=\"https:\/\/www.facebook.com\/opstree\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Facebook<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-medium  wp-block-social-link\"><a href=\"https:\/\/medium.com\/buildpiper\" class=\"wp-block-social-link-anchor\" target=\"_blank\" rel=\"noopener\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M20.962,7.257l-5.457,8.867l-3.923-6.375l3.126-5.08c0.112-0.182,0.319-0.286,0.527-0.286c0.05,0,0.1,0.008,0.149,0.02 c0.039,0.01,0.078,0.023,0.114,0.041l5.43,2.715l0.006,0.003c0.004,0.002,0.007,0.006,0.011,0.008 C20.971,7.191,20.98,7.227,20.962,7.257z M9.86,8.592v5.783l5.14,2.57L9.86,8.592z M15.772,17.331l4.231,2.115 C20.554,19.721,21,19.529,21,19.016V8.835L15.772,17.331z M8.968,7.178L3.665,4.527C3.569,4.479,3.478,4.456,3.395,4.456 C3.163,4.456,3,4.636,3,4.938v11.45c0,0.306,0.224,0.669,0.498,0.806l4.671,2.335c0.12,0.06,0.234,0.088,0.337,0.088 c0.29,0,0.494-0.225,0.494-0.602V7.231C9,7.208,8.988,7.188,8.968,7.178z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Medium<\/span><\/a><\/li><\/ul>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>As we all know AWS and Azure are the two Cloud providers and there can be possibilities that one of our services is running on one cloud provider and the other is running on another cloud provider and, both are dependent on each other. Through this blog, I will guide you on the steps which &hellip; <a href=\"https:\/\/opstree.com\/blog\/2022\/01\/25\/the-step-by-step-guide-to-connect-aws-with-azure\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;The Step-By-Step Guide to Connect Aws with Azure&#8221;<\/span><\/a><\/p>\n","protected":false},"author":215460209,"featured_media":29900,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[28070474],"tags":[768739294,335778,460,729085819,768739290,729085818,4996032,768739291],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/opstree.com\/blog\/wp-content\/uploads\/2025\/11\/DevSecOps-1.jpg","jetpack_likes_enabled":true,"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/pfDBOm-2v8","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/9618"}],"collection":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/users\/215460209"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=9618"}],"version-history":[{"count":24,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/9618\/revisions"}],"predecessor-version":[{"id":9771,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/9618\/revisions\/9771"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media\/29900"}],"wp:attachment":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/media?parent=9618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=9618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=9618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}