{"id":14985,"date":"2023-09-05T11:23:00","date_gmt":"2023-09-05T05:53:00","guid":{"rendered":"https:\/\/opstree.com\/blog\/\/?p=14985"},"modified":"2023-09-05T11:23:00","modified_gmt":"2023-09-05T05:53:00","slug":"gcp-to-azure-vpn-tunneling-with-multiple-networks","status":"publish","type":"post","link":"https:\/\/opstree.com\/blog\/2023\/09\/05\/gcp-to-azure-vpn-tunneling-with-multiple-networks\/","title":{"rendered":"GCP to Azure VPN Tunneling with Multiple Networks"},"content":{"rendered":"\n<p class=\"has-text-align-justify\">In this comprehensive guide, we will delve into the step-by-step process of establishing a secure VPN connection between Google Cloud Platform (GCP) and Azure. By following these instructions, you will gain the ability to seamlessly migrate workloads from Azure to GCP or run multi-cloud workloads across both platforms, ensuring a flexible and efficient infrastructure for your applications.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"200\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/c-1-1.png?w=800\" alt=\"\" class=\"wp-image-15400\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Prerequisites:<\/strong><\/h3>\n\n\n\n<p class=\"has-text-align-justify\">Ensure you have an active Azure subscription and a project set up on GCP.<br>Make sure you have the required administrative roles on both platforms. You can create the new VPC Network (Virtual Network on Azure) and subnets in both GCP and Azure or you can use the existing one.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Key Components and Terminology:<\/strong><\/h3>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Google Cloud VPC network:<\/strong> It represents a virtual network within a Google Cloud project, enabling secure communication between resources in the network.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>External IP address or Google Cloud peer address:<\/strong> These are automatically allocated external IP addresses used by peer VPN devices to establish High Availability (HA) VPN connections with Google Cloud. Each gateway interface in a Google Cloud project is assigned an external IP address.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Dynamic Routing:<\/strong> Google Cloud&#8217;s dynamic routing feature uses the Border Gateway Protocol (BGP) to enable automatic routing updates and efficient communication between VPN devices. Note that HA VPN only supports dynamic routing.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>HA VPN:<\/strong> High Availability (HA) VPN is a secure solution provided by Google Cloud that allows the establishment of IP sec VPN connections between on-premises networks and private networks on GCP. It ensures high availability and reliability of the VPN connection.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Virtual Network Gateway:<\/strong> In Azure, the Virtual Network Gateway provides cross-premises connectivity between customer premises and Azure. Deploying a Virtual Network Gateway creates a VPN tunnel to connect with the Google environment. It is typically deployed in the &#8220;GatewaySubnet&#8221; within Azure.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Site-to-Site (IPsec)<\/strong>: It is a VPN connection type composed of a VPN Gateway, Local Gateway, and a Connection. Site-to-Site VPN allows encrypted traffic to be sent between an Azure Virtual Network (VNet) and an on-premises location over the public internet.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Azure Virtual Network Gateway Setup Steps:<\/strong><\/h3>\n\n\n\n<p class=\"has-text-align-justify\"><strong>1 &#8211;<\/strong> Create a virtual network gateway &#8211; Choose the resource group, select the gateway type, and then choose the SKU according to your need but for multiple networks choose the gateway type higher then VpnGw1, Select the virtual network and public ip address. Put two Azure Apipa BGP Ip address.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"575\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-09-40.png?w=800\" alt=\"\" class=\"wp-image-15379\" style=\"aspect-ratio:1.3912213740458015;object-fit:cover;width:800px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"653\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-09-54.png?w=800\" alt=\"\" class=\"wp-image-15381\" style=\"aspect-ratio:1.2247386759581882;width:590px;height:auto\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>GCP VPN Gateway Setup Steps:<\/strong><\/p>\n\n\n\n<p>Go to Hybrid Connectivity then select VPN Setup Wizard and chosse High-availability (HA) VPN in VPN Options<\/p>\n\n\n\n<p><strong>1-<\/strong> Create Cloud HA VPN gateway- Enter the name, Choose vpc name and region.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"583\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-17-15-1-1.png?w=800\" alt=\"\" class=\"wp-image-15386\" style=\"aspect-ratio:1.2213740458015268;object-fit:cover;width:839px;height:auto\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>2-<\/strong> Add VPN tunnels and Choose the option peer VPN gateway as on-prem or non-google cloud and put the public ip of Azure VPN.<\/p>\n\n\n\n<ul>\n<li>Create a cloud router- Enter the name and ASN number<br>Note: It should be different from Azure<\/li>\n\n\n\n<li>Enter the name of the tunnel, select the IKE version, Generate the IKE pre-shared key, and click on create<\/li>\n\n\n\n<li>Let&#8217;s establish a BGP session &#8211; Enter the name, and ASN number that we defined in Azure, Allocate the BGP IPV4 address manually, and save the BGP configuration.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"541\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-25-45.png?w=800\" alt=\"\" class=\"wp-image-15387\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"568\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-34-15.png?w=800\" alt=\"\" class=\"wp-image-15388\" style=\"width:658px;height:370px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"899\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-40-37.png?w=800\" alt=\"\" class=\"wp-image-15389\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>3- Repeat the above GCP steps if you want to create the other vpn gateway in gcp of a different vpc and connect to the same Azure VPN Gateway of the same VPC (multiple networks).<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Let\u2019s get back to Azure to finish the VPN configuration<\/strong><\/p>\n\n\n\n<p>1- Create Local Network Gateway &#8211; Choose the region, Enter the name, Select resource group, Copy GCP VPN Gateway IP address and set the endpoint as ip-address.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"761\" height=\"610\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/08\/screenshot-from-2023-07-27-17-52-00.png?w=761\" alt=\"\" class=\"wp-image-15198\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>2- Click on Advanced and Set the Configure BGP settings as yes and enter the ASN number of GCP cloud router and the router BGP IP address.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"799\" height=\"326\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-54-24.png?w=799\" alt=\"\" class=\"wp-image-15390\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>3- Create the connection in Azure Virtual Network Gateway<\/p>\n\n\n\n<p><br>&#8211; Choose the local network gateway and Virtual Network Gateway<br><\/p>\n\n\n\n<p>&#8211; Put the GCP shared IKEV key here (both shared key of Azure and GCP should be same)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"471\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-07-27-17-59-53.png?w=800\" alt=\"\" class=\"wp-image-15391\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"532\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-08-28-09-48-45-1.png?w=800\" alt=\"\" class=\"wp-image-15392\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-justify\">Once the connection is created then the status in Azure will be shown as \u201cConnected\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"145\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/screenshot-from-2023-08-28-10-05-58.png?w=800\" alt=\"\" class=\"wp-image-15393\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-text-align-justify\">In the Google Cloud Platform (GCP) the tunnel is successful. The BGP session confidently transitions to the &#8220;BGP Established&#8221; state.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"200\" src=\"https:\/\/opstree.com\/blog\/\/wp-content\/uploads\/2023\/09\/c-1.png?w=800\" alt=\"\" class=\"wp-image-15398\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Conclusion:<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">In conclusion, this guide has provided a step-by-step process for establishing a secure VPN connection between Google Cloud Platform (GCP) and Azure. This enables seamless workload migration and multi-cloud operations. Key concepts include GCP&#8217;s dynamic routing, HA VPN for reliability, and Azure&#8217;s Virtual Network Gateway. By following the outlined steps for setup on both platforms, you&#8217;ll weave a robust, cross-cloud network for your applications.<\/p>\n\n\n\n<p><strong>Blog Pundits: <strong> <a href=\"https:\/\/opstree.com\/blog\/\/author\/iamrajatvats\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Rajat Vats<\/strong><\/a> <\/strong>and <a rel=\"noreferrer noopener\" href=\"https:\/\/opstree.com\/blog\/\/author\/sandeep7c51ad81ba\/\" target=\"_blank\">Sandeep Rawat<\/a><\/strong><\/p>\n\n\n\n<p><strong>OpsTree is an End-to-End <a href=\"https:\/\/opstree.com\/services\/\" target=\"_blank\" rel=\"noreferrer noopener\">DevOps Solution<\/a> Provider.<\/strong><\/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\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/opstree.com\/contact-us\/?utm_source=WordPress&amp;utm_medium=Blog&amp;utm_campaign=GCP+to+Azure+VPN+Tunneling+with+Multiple+Networks\" target=\"_blank\" rel=\"noreferrer noopener\">Contact Us<\/a><\/div>\n<\/div>\n\n\n\n<p class=\"has-text-align-center\"><strong>Connect with Us<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-social-links aligncenter is-content-justification-center 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 rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.linkedin.com\/company\/opstree-solutions\" class=\"wp-block-social-link-anchor\"><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 rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.youtube.com\/channel\/UCeLma6SpNYH7jjYKSBNSexw\" class=\"wp-block-social-link-anchor\"><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 rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/github.com\/OpsTree\" class=\"wp-block-social-link-anchor\"><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 rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.facebook.com\/opstree\" class=\"wp-block-social-link-anchor\"><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 rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/medium.com\/buildpiper\" class=\"wp-block-social-link-anchor\"><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>\n\n<li class=\"wp-social-link wp-social-link-twitter  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/twitter.com\/opstreedevops\" class=\"wp-block-social-link-anchor\"><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=\"M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Twitter<\/span><\/a><\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>In this comprehensive guide, we will delve into the step-by-step process of establishing a secure VPN connection between Google Cloud Platform (GCP) and Azure. By following these instructions, you will gain the ability to seamlessly migrate workloads from Azure to GCP or run multi-cloud workloads across both platforms, ensuring a flexible and efficient infrastructure for &hellip; <a href=\"https:\/\/opstree.com\/blog\/2023\/09\/05\/gcp-to-azure-vpn-tunneling-with-multiple-networks\/\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;GCP to Azure VPN Tunneling with Multiple Networks&#8221;<\/span><\/a><\/p>\n","protected":false},"author":238285529,"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":[335778,768739308,676319247,724078040,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-3TH","jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/14985"}],"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\/238285529"}],"replies":[{"embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/comments?post=14985"}],"version-history":[{"count":25,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/14985\/revisions"}],"predecessor-version":[{"id":15405,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/posts\/14985\/revisions\/15405"}],"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=14985"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/categories?post=14985"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/opstree.com\/blog\/wp-json\/wp\/v2\/tags?post=14985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}