{"id":6440,"date":"2024-05-06T12:50:50","date_gmt":"2024-05-06T03:50:50","guid":{"rendered":"https:\/\/engineer-chanpu.blog\/?p=6440"},"modified":"2025-01-27T14:26:41","modified_gmt":"2025-01-27T05:26:41","slug":"az-terraform-%ec%84%9c%eb%a1%9c-%eb%8b%a4%eb%a5%b8-azure-%ea%b5%ac%eb%8f%85%ec%97%90-%eb%a6%ac%ec%86%8c%ec%8a%a4-%eb%b0%b0%ed%8f%ac%ed%95%98%eb%8a%94-%eb%b0%a9%eb%b2%95-%ec%95%8c%ec%95%84%eb%b3%b4","status":"publish","type":"post","link":"https:\/\/engineer-chanpu.blog\/?p=6440","title":{"rendered":"Az Terraform: \uc11c\ub85c \ub2e4\ub978 Azure \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4 \ubc30\ud3ec\ud558\ub294 \ubc29\ubc95 \uc54c\uc544\ubcf4\uae30"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">Agenda<\/h1>\n\n\n\n<ol class=\"wp-block-list\">\n<li>\uc11c\ub85c \ub2e4\ub978 Azure \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4\ub97c \ubc30\ud3ec\ud558\ub294 \uc2dc\ub098\ub9ac\uc624<\/li>\n\n\n\n<li><code>provider<\/code> \uc9c0\uc815\uc73c\ub85c \uc11c\ub85c \ub2e4\ub978 \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4\ub97c \ubc30\ud3ec\ud558\uae30<\/li>\n<\/ol>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\uc11c\ub85c \ub2e4\ub978 \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4\ub97c \ubc30\ud3ec\ud558\ub294 \uc2dc\ub098\ub9ac\uc624<\/h2>\n\n\n\n<p>Azure \ud5c8\ube0c \uc564 \uc2a4\ud3ec\ud06c \uc544\ud0a4\ud14d\ucc98\ub97c \ub3c4\uc785\ud558\uba74\uc11c, \ud5c8\ube0c \uad6c\ub3c5\uc5d0\uc11c \uacf5\uc6a9 \ub9ac\uc18c\uc2a4\ub97c \uc911\uc559 \uc9d1\uc911\uc2dd\uc73c\ub85c \uad00\ub9ac\ud558\uace0 \uac01 \uc2a4\ud3ec\ud06c \uad6c\ub3c5\uc5d0\uc11c\ub294 \ub3c5\ub9bd\uc801\uc778 \ub9ac\uc18c\uc2a4\ub97c \uc6b4\uc6a9\ud558\ub294 \uc2dc\ub098\ub9ac\uc624\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ub85c \ub2e4\ub978 \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4\ub97c \ubc30\ud3ec\ud558\ub294 Terraform \ucf54\ub4dc\uac00 \ud544\uc694\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\ud5c8\ube0c VNET \ubc0f \uc2a4\ud3ec\ud06c VNET \ud53c\uc5b4\ub9c1 \uad6c\uc131<\/h3>\n\n\n\n<p>\ud5c8\ube0c VNET\uacfc \uac01 \uc2a4\ud3ec\ud06c VNET \uc744 \ud53c\uc5b4\ub9c1\ud558\uc5ec \ub124\ud2b8\uc6cc\ud06c \ud2b8\ub798\ud53d\uc758 \uc911\uc559 \uc9d1\uc911\uc2dd \uad00\ub9ac\ub97c \uace0\ub824\ud558\uace0 \uc788\ub2e4\uba74, Terraform \uc744 \uc0ac\uc6a9\ud558\uc5ec \ub9ac\uc18c\uc2a4\ub97c \uad00\ub9ac\ud558\uace0 \ubc30\ud3ec\ud558\ub294 \uac83\uc740 \ub354 \ubcf5\uc7a1\ud574 \uc9c4\ub2e4. \uc774\ub7ec\ud55c \uc2dc\ub098\ub9ac\uc624\ub97c \ucc98\ub9ac\ud558\uae30 \uc704\ud574\uc11c Terraform \uc5d0\uc11c\ub294 <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-cyan-blue-color\">\ub2e4\uc911 \ud504\ub85c\ubc14\uc774\ub354 \uc124\uc815<\/mark>\uc744 \uc0ac\uc6a9\ud558\uc5ec \uac01 \uad6c\ub3c5\uc5d0 \ub300\ud55c \uc790\uaca9\uc99d\uba85\uacfc \uad6c\uc131\uc744 \ub530\ub85c \uad00\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Terraform \ud3f4\ub354 \uad6c\uc131<\/h3>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"C:.\n\u2502  .terraform.lock.hcl\n\u2502  main_hub.tf\n\u2502  main_spoke.tf\n\u2502  provider.tf\n\u2502  terraform.tfstate\n\u2502  terraform.tfstate.backup\n\u2502  variables.tf\n\u2502\n\u251c\u2500.terraform\n\u2502  \u2514\u2500providers\n\u2502      \u2514\u2500registry.terraform.io\n\u2502          \u2514\u2500hashicorp\n\u2502              \u251c\u2500azurerm\n\u2502              \u2502  \u2514\u25003.102.0\n\u2502              \u2502      \u2514\u2500windows_386\n\u2502              \u2502              LICENSE.txt\n\u2502              \u2502\n\u2502              \u2514\u2500null\n\u2502                  \u2514\u25003.2.2\n\u2502                      \u2514\u2500windows_386\n\u2502                              terraform-provider-null_v3.2.2_x5.exe\n\u2502\n\u251c\u2500Azure CLI Peering Resync # Optional\n\u2502      main_hub_bak.tf\n\u2502      main_spoke_bak.tf\n\u2502\n\u2514\u2500Replace Trigger Peering Resync # Optional\n        main_hub_bak.tf\n        main_spoke_bak.tf\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">C:.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  .<\/span><span style=\"color: #9CDCFE\">terraform<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">lock<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">hcl<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  main_hub.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  main_spoke.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  provider.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  terraform.<\/span><span style=\"color: #9CDCFE\">tfstate<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  terraform.<\/span><span style=\"color: #9CDCFE\">tfstate<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">backup<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  variables.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u251c\u2500.<\/span><span style=\"color: #9CDCFE\">terraform<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502  \u2514\u2500providers<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502      \u2514\u2500registry.<\/span><span style=\"color: #9CDCFE\">terraform<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">io<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502          \u2514\u2500hashicorp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502              \u251c\u2500azurerm<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502              \u2502  \u2514\u2500<\/span><span style=\"color: #B5CEA8\">3.102<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #B5CEA8\">0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502              \u2502      \u2514\u2500windows_386<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502              \u2502              LICENSE.<\/span><span style=\"color: #9CDCFE\">txt<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502              \u2502<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502              \u2514\u2500<\/span><span style=\"color: #569CD6\">null<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502                  \u2514\u2500<\/span><span style=\"color: #B5CEA8\">3.2<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #B5CEA8\">2<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502                      \u2514\u2500windows_386<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502                              terraform-provider-null_v3.<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #B5CEA8\">2<\/span><span style=\"color: #D4D4D4\">_x5.<\/span><span style=\"color: #9CDCFE\">exe<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u251c\u2500Azure CLI Peering Resync <\/span><span style=\"color: #6A9955\"># Optional<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502      main_hub_bak.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502      main_spoke_bak.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2502<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\u2514\u2500Replace Trigger Peering Resync <\/span><span style=\"color: #6A9955\"># Optional<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        main_hub_bak.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        main_spoke_bak.<\/span><span style=\"color: #9CDCFE\">tf<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ub2e4\uc911 \ud504\ub85c\ubc14\uc774\ub354 \uc124\uc815 \u2605<\/h3>\n\n\n\n<p>\uac01 \uad6c\ub3c5\uc5d0 \ub300\ud574 \ubcc4\ub3c4\uc758 <code>azurerm<\/code> \ud504\ub85c\ubc14\uc774\ub354 \uc778\uc2a4\ud134\uc2a4\ub97c \uad6c\uc131\ud55c\ub2e4. \uc774\ub97c \ud1b5\ud574 \uac01 \uad6c\ub3c5\uc758 \ub9ac\uc18c\uc2a4\ub97c \uad00\ub9ac\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Common provider.tf\nprovider &quot;azurerm&quot; {\n  features {}\n  subscription_id = &quot;xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx&quot; # Hub subscription ID\n  alias           = &quot;hub&quot; # Hub subscription Alias\n}\n\nprovider &quot;azurerm&quot; {\n  features {}\n  subscription_id = &quot;xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx&quot; # Spoke subscription ID\n  alias           = &quot;spoke&quot;  # Spoke subscription Alias\n}\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Common provider.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">provider<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #4EC9B0\">features<\/span><span style=\"color: #D4D4D4\"> {}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">subscription_id <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #6A9955\"># Hub subscription ID<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">alias           <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;hub&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #6A9955\"># Hub subscription Alias<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">provider<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #4EC9B0\">features<\/span><span style=\"color: #D4D4D4\"> {}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">subscription_id <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;xxxxxxx-xxxxxxx-xxxxxxx-xxxxxxx&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #6A9955\"># Spoke subscription ID<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">alias           <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;spoke&quot;<\/span><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #6A9955\"># Spoke subscription Alias<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ud504\ub85c\ubc14\uc774\ub354 \ubcc4\uce6d \uc0ac\uc6a9 \ubc29\ubc95 \u2605<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">VNET \ubc30\ud3ec \uc124\uc815<\/h4>\n\n\n\n<p>VNET \uc744 \ubc30\ud3ec\ud560 \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc744 \uc124\uc815\ud558\uace0, VNET \ubc30\ud3ec \uc124\uc815 \ucf54\ub4dc\ub97c \ucd94\uac00\ud55c\ub2e4. \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc774 \uc0dd\uc131\ub418\ub294 \ub3c4\uc911\uc5d0 VNET \uc744 \uc0dd\uc131\ud558\ub824\uace0 \ud558\uba74 \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc774 \uc874\uc7ac\ud558\uc9c0 \uc54a\ub2e4\ub294 \uc5d0\ub7ec\uac00 \ubc1c\uc0dd\ud558\ubbc0\ub85c, VNET \ubc30\ud3ec \ucf54\ub4dc\uc5d0 \ub9ac\uc18c\uc2a4 \uadf8\ub8f9\uc5d0 \ub300\ud55c \uc758\uc874\uc131 <code>depends_on<\/code>\uc744 \ucd94\uac00\ud55c\ub2e4. <\/p>\n\n\n\n<p>\ud5c8\ube0c \uad6c\ub3c5\uc5d0 \uc788\ub294 VNET\uacfc \uc2a4\ud3ec\ud06c \uad6c\ub3c5\uc5d0 \uc788\ub294 VNET\uc744 \uad6c\ubd84\ud558\uae30 \uc704\ud574\uc11c, \ud504\ub85c\ubc14\uc774\ub354\uc758 \ubcc4\uce6d<code>provider = azurerm.&lt;alias&gt;<\/code>\ub97c \uc0ac\uc6a9\ud558\uc5ec \ud574\ub2f9 \uad6c\ub3c5\uc758 \ud504\ub85c\ubc14\uc774\ub354 \uc778\uc2a4\ud134\uc2a4\ub97c \uc9c0\uc815\ud55c\ub2e4. <\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Hub main.tf\nresource &quot;azurerm_resource_group&quot; &quot;hub_rg&quot; {\n  provider = azurerm.hub # Hub subscription provider instance\n  location = var.location\n  name     = var.resource_group_name\n}\n\n# Spoke main.tf\nresource &quot;azurerm_resource_group&quot; &quot;spoke_rg&quot; {\n  provider = azurerm.spoke # Spoke subscription provider instance\n  location = var.location\n  name     = var.resource_group_name\n}\n\n# Hub main.tf\nresource &quot;azurerm_virtual_network&quot; &quot;hub_vnet&quot; {\n  depends_on = [azurerm_resource_group.hub_rg]\n\n  provider            = azurerm.hub\n  name                = &quot;hubVnet&quot;\n  address_space       = [&quot;10.0.0.0\/16&quot;]\n  location            = azurerm_resource_group.hub_rg.location\n  resource_group_name = azurerm_resource_group.hub_rg.name\n}\n\n# Spoke main.tf\nresource &quot;azurerm_virtual_network&quot; &quot;spoke_vnet&quot; {\n  depends_on = [azurerm_resource_group.spoke_rg]\n\n  provider            = azurerm.spoke\n  name                = &quot;spokeVnet&quot;\n  address_space       = [&quot;10.1.0.0\/16&quot;]\n  location            = azurerm_resource_group.spoke_rg.location\n  resource_group_name = azurerm_resource_group.spoke_rg.name\n}\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Hub main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_resource_group&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;hub_rg&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">hub<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #6A9955\"># Hub subscription provider instance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">location <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">var.<\/span><span style=\"color: #9CDCFE\">location<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name     <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">var.<\/span><span style=\"color: #9CDCFE\">resource_group_name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Spoke main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_resource_group&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;spoke_rg&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">spoke<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #6A9955\"># Spoke subscription provider instance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">location <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">var.<\/span><span style=\"color: #9CDCFE\">location<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name     <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">var.<\/span><span style=\"color: #9CDCFE\">resource_group_name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Hub main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_virtual_network&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;hub_vnet&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">depends_on <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #9CDCFE\">azurerm_resource_group<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">hub_rg<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider            <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">hub<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name                <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;hubVnet&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">address_space       <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #CE9178\">&quot;10.0.0.0\/16&quot;<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">location            <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">hub_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">location<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">resource_group_name <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">hub_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Spoke main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_virtual_network&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;spoke_vnet&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">depends_on <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #9CDCFE\">azurerm_resource_group<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider            <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">spoke<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name                <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;spokeVnet&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">address_space       <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #CE9178\">&quot;10.1.0.0\/16&quot;<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">location            <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">location<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">resource_group_name <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">VNET \ud53c\uc5b4\ub9c1 \ubc30\ud3ec \uc124\uc815<\/h4>\n\n\n\n<p>\ud5c8\ube0c VNET \uacfc \uc2a4\ud3ec\ud06c VNET \uac04\uc5d0 \ud53c\uc5b4\ub9c1\uc744 \uc124\uc815\ud55c\ub2e4.  VNET \uacfc \ub9c8\ucc2c\uac00\uc9c0\ub85c \ud53c\uc5b4\ub9c1 \ub9ac\uc18c\uc2a4\ub294 \uac01\uac01\uc758 \uad6c\ub3c5\uc758 \ud504\ub85c\ubc14\uc774\ub354\ub97c \uc0ac\uc6a9\ud55c\ub2e4.<\/p>\n\n\n\n<p>Tip. <code>Lifecycle<\/code> \ucd94\uac00\ud55c \uc774\uc720<br>VNET \uc758 \uc8fc\uc18c \uacf5\uac04\uc758 \ubcc0\uacbd\uc774 \uc788\uc744 \uacbd\uc6b0, \ud5c8\ube0c \uc640 \uc2a4\ud3ec\ud06c VNET \uac04\uc758 \uc7ac\ub3d9\uae30\uac00 \ud544\uc694\ud558\ub2e4. <code>Lifecycle<\/code> \ub85c \uac01 VNET \uc758 address space \uc758 \ubcc0\uacbd\uc774 \uc788\uc744 \uacbd\uc6b0, \ud53c\uc5b4\ub9c1\uc744 \uc7ac\uc124\uc815\ud558\ub294 \ucf54\ub4dc\ub97c \ucd94\uac00\ud558\uc5ec \uc790\ub3d9\uc73c\ub85c \uc7ac\ub3d9\uae30\ud558\ub3c4\ub85d \ucf54\ub4dc\ub97c \uad6c\uc131\ud558\uc600\ub2e4.<\/p>\n\n\n\n<p>ref url : <a href=\"https:\/\/github.com\/hashicorp\/terraform-provider-azurerm\/issues\/18444\">Vnet peering out of sync<\/a><\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Hub main.tf\nresource &quot;azurerm_virtual_network_peering&quot; &quot;hub_to_spoke&quot; {\n  depends_on = [\n    azurerm_virtual_network.hub_vnet,\n    azurerm_virtual_network.spoke_vnet\n  ]\n\n  provider                     = azurerm.hub\n  name                         = &quot;hub-to-spoke&quot;\n  resource_group_name          = azurerm_resource_group.hub_rg.name\n  virtual_network_name         = azurerm_virtual_network.hub_vnet.name\n  remote_virtual_network_id    = azurerm_virtual_network.spoke_vnet.id\n  allow_virtual_network_access = true\n  allow_forwarded_traffic      = true\n\n  lifecycle {\n    replace_triggered_by = [azurerm_virtual_network.hub_vnet.address_space, azurerm_virtual_network.spoke_vnet.address_space]\n  }\n}\n\n# Spoke main.tf\nresource &quot;azurerm_virtual_network_peering&quot; &quot;spoke_to_hub&quot; {\n  depends_on = [\n    azurerm_virtual_network.spoke_vnet,\n    azurerm_virtual_network.hub_vnet\n  ]\n\n  provider                     = azurerm.spoke\n  name                         = &quot;spoke-to-hub&quot;\n  resource_group_name          = azurerm_resource_group.spoke_rg.name\n  virtual_network_name         = azurerm_virtual_network.spoke_vnet.name\n  remote_virtual_network_id    = azurerm_virtual_network.hub_vnet.id\n  allow_virtual_network_access = true\n  allow_forwarded_traffic      = true\n\n  lifecycle {\n    replace_triggered_by = [azurerm_virtual_network.hub_vnet.address_space, azurerm_virtual_network.spoke_vnet.address_space]\n  }\n}\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Hub main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_virtual_network_peering&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;hub_to_spoke&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">depends_on <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">hub_vnet<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">spoke_vnet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  ]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider                     <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">hub<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name                         <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;hub-to-spoke&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">resource_group_name          <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">hub_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">virtual_network_name         <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_virtual_network.<\/span><span style=\"color: #9CDCFE\">hub_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">remote_virtual_network_id    <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_virtual_network.<\/span><span style=\"color: #9CDCFE\">spoke_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">allow_virtual_network_access <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #569CD6\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">allow_forwarded_traffic      <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #569CD6\">true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #4EC9B0\">lifecycle<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">replace_triggered_by <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">hub_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">address_space<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">spoke_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">address_space<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"># Spoke main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_virtual_network_peering&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;spoke_to_hub&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">depends_on <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">spoke_vnet<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">hub_vnet<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  ]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider                     <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">spoke<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name                         <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;spoke-to-hub&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">resource_group_name          <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">virtual_network_name         <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_virtual_network.<\/span><span style=\"color: #9CDCFE\">spoke_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">remote_virtual_network_id    <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_virtual_network.<\/span><span style=\"color: #9CDCFE\">hub_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">id<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">allow_virtual_network_access <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #569CD6\">true<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">allow_forwarded_traffic      <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #569CD6\">true<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #4EC9B0\">lifecycle<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">replace_triggered_by <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">hub_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">address_space<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #9CDCFE\">azurerm_virtual_network<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">spoke_vnet<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">address_space<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\ucf54\ub4dc \ubc30\ud3ec \ud14c\uc2a4\ud2b8<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">\uccab\ubc88\uc9f8 \ubc30\ud3ec (\ub9ac\uc18c\uc2a4 \uadf8\ub8f9 + VNET + \ud53c\uc5b4\ub9c1 \uc0dd\uc131)<\/h3>\n\n\n\n<p>Terraform \ucf54\ub4dc \uc791\uc131\uc774 \uc644\ub8cc \ub418\uc5c8\uc73c\ub2c8, \uc2e4\uc81c \ubc30\ud3ec \ud6c4 \uacb0\uacfc\ub97c \ud655\uc778\ud55c\ub2e4.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"202\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-71-1024x202.png\" alt=\"\" class=\"wp-image-6448\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-71-1024x202.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-71-300x59.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-71-768x151.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-71-1536x303.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-71.png 1904w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(1) \uc11c\ub85c \ub2e4\ub978 \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4 \uadf8\ub8f9 \uc0dd\uc131<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"290\" src=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-70-1024x290.png\" alt=\"\" class=\"wp-image-6447\" srcset=\"https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-70-1024x290.png 1024w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-70-300x85.png 300w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-70-768x218.png 768w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-70-1536x436.png 1536w, https:\/\/engineer-chanpu.blog\/wp-content\/uploads\/2024\/05\/image-70.png 1904w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">(2) VNET Peering \uc124\uc815 \ucd94\uac00<\/figcaption><\/figure>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">\ub450\ubc88\uc9f8 \ubc30\ud3ec (VNET \ud53c\uc5b4\ub9c1 Resync \ud14c\uc2a4\ud2b8)<\/h3>\n\n\n\n<p>\uac01 VNET\uc758 \ud53c\uc5b4\ub9c1 \ub9ac\uc18c\uc2a4\uac00 \uc7ac\uc0dd\uc131 \ub418\ub294 \uac83\uc744 \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<p>Tip. \ud53c\uc5b4\ub9c1 \uc7ac\uc124\uc815\uc758 \uacbd\uc6b0, \uc2a4\ud3ec\ud06c VNET \uc758 \uc8fc\uc18c \uacf5\uac04\uc744 \ubcc0\uacbd\ud558\uace0 \uc7ac\ubc30\ud3ec\ud558\ub294 \uac83\uc73c\ub85c \ud655\uc778\ud560 \uc218 \uc788\ub2e4.<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# Spoke main.tf\nresource &quot;azurerm_virtual_network&quot; &quot;spoke_vnet&quot; {\n  depends_on = [azurerm_resource_group.spoke_rg]\n\n  provider            = azurerm.spoke\n  name                = &quot;spokeVnet&quot;\n  address_space       = [&quot;10.1.0.0\/16&quot;, &quot;10.2.0.0\/16&quot;]\n  location            = azurerm_resource_group.spoke_rg.location\n  resource_group_name = azurerm_resource_group.spoke_rg.name\n}\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># Spoke main.tf<\/span><\/span>\n<span class=\"line\"><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;azurerm_virtual_network&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;spoke_vnet&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">depends_on <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #9CDCFE\">azurerm_resource_group<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">provider            <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm.<\/span><span style=\"color: #9CDCFE\">spoke<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">name                <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;spokeVnet&quot;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">address_space       <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">[<\/span><span style=\"color: #CE9178\">&quot;10.1.0.0\/16&quot;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&quot;10.2.0.0\/16&quot;<\/span><span style=\"color: #D4D4D4\">]<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">location            <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">location<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #9CDCFE\">resource_group_name <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #D4D4D4\">azurerm_resource_group.<\/span><span style=\"color: #9CDCFE\">spoke_rg<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">name<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Terraform \ub85c\uadf8 \ud655\uc778<\/h4>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:block;padding:16px 0 0 16px;margin-bottom:-1px;width:100%;text-align:left;background-color:#1E1E1E\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"54\" height=\"14\" viewBox=\"0 0 54 14\"><g fill=\"none\" fill-rule=\"evenodd\" transform=\"translate(1 1)\"><circle cx=\"6\" cy=\"6\" r=\"6\" fill=\"#FF5F56\" stroke=\"#E0443E\" stroke-width=\".5\"><\/circle><circle cx=\"26\" cy=\"6\" r=\"6\" fill=\"#FFBD2E\" stroke=\"#DEA123\" stroke-width=\".5\"><\/circle><circle cx=\"46\" cy=\"6\" r=\"6\" fill=\"#27C93F\" stroke=\"#1AAB29\" stroke-width=\".5\"><\/circle><\/g><\/svg><\/span><span role=\"button\" tabindex=\"0\" data-code=\"# tf apply -auto-approve\n\nTerraform used the selected providers to generate the following execution plan. Resource actions are indicated with the\nfollowing symbols:\n-\/+ destroy and then create replacement\n\nTerraform will perform the following actions:\n\n  # null_resource.hub_peering_async is tainted, so must be replaced\n-\/+ resource &quot;null_resource&quot; &quot;hub_peering_async&quot; {\n      ~ id       = &quot;1557426316&quot; -&gt; (known after apply)\n        # (1 unchanged attribute hidden)\n    }\n\n  # null_resource.spoke_peering_async is tainted, so must be replaced\n-\/+ resource &quot;null_resource&quot; &quot;spoke_peering_async&quot; {\n      ~ id       = &quot;576413854&quot; -&gt; (known after apply)\n        # (1 unchanged attribute hidden)\n    }\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2m-6 9l2 2 4-4\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9 5H7a2 2 0 00-2 2v12a2 2 0 002 2h10a2 2 0 002-2V7a2 2 0 00-2-2h-2M9 5a2 2 0 002 2h2a2 2 0 002-2M9 5a2 2 0 012-2h2a2 2 0 012 2\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\"># tf apply -auto-approve<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">following symbols:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-\/+ destroy and then create replacement<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">Terraform will perform the following actions:<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #6A9955\"># null_resource.hub_peering_async is tainted, so must be replaced<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-\/+ <\/span><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;null_resource&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;hub_peering_async&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">      ~ <\/span><span style=\"color: #9CDCFE\">id       <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;1557426316&quot;<\/span><span style=\"color: #D4D4D4\"> -&gt; (known after apply)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #6A9955\"># (1 unchanged attribute hidden)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">  <\/span><span style=\"color: #6A9955\"># null_resource.spoke_peering_async is tainted, so must be replaced<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">-\/+ <\/span><span style=\"color: #4EC9B0\">resource<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;null_resource&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #4FC1FF\">&quot;spoke_peering_async&quot;<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">      ~ <\/span><span style=\"color: #9CDCFE\">id       <\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #9CDCFE\"> <\/span><span style=\"color: #CE9178\">&quot;576413854&quot;<\/span><span style=\"color: #D4D4D4\"> -&gt; (known after apply)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #6A9955\"># (1 unchanged attribute hidden)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n","protected":false},"excerpt":{"rendered":"<p>Agenda \uc11c\ub85c \ub2e4\ub978 \uad6c\ub3c5\uc5d0 \ub9ac\uc18c\uc2a4\ub97c \ubc30\ud3ec\ud558\ub294 \uc2dc\ub098\ub9ac\uc624 Azure \ud5c8\ube0c \uc564 \uc2a4\ud3ec\ud06c \uc544\ud0a4\ud14d\ucc98\ub97c \ub3c4\uc785\ud558\uba74\uc11c, \ud5c8\ube0c \uad6c\ub3c5\uc5d0\uc11c \uacf5\uc6a9 \ub9ac\uc18c\uc2a4\ub97c \uc911\uc559 \uc9d1\uc911\uc2dd\uc73c\ub85c \uad00\ub9ac\ud558\uace0 \uac01 \uc2a4\ud3ec\ud06c \uad6c\ub3c5\uc5d0\uc11c\ub294 \ub3c5\ub9bd\uc801\uc778 \ub9ac\uc18c\uc2a4\ub97c \uc6b4\uc6a9\ud558\ub294 \uc2dc\ub098\ub9ac\uc624\uac00 \uc874\uc7ac\ud558\ub294 \uacbd\uc6b0 \uc11c\ub85c &#8230;<\/p>\n","protected":false},"author":1,"featured_media":6446,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[207,107,209,184,33],"tags":[123,196],"class_list":["post-6440","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-az-terraform","category-azure","category-cloud-networking","category-iac","category-tech-notes","tag-azure","tag-terraform"],"_links":{"self":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6440","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6440"}],"version-history":[{"count":14,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6440\/revisions"}],"predecessor-version":[{"id":6463,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/posts\/6440\/revisions\/6463"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=\/wp\/v2\/media\/6446"}],"wp:attachment":[{"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineer-chanpu.blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}