{"id":48977,"date":"2023-12-04T17:12:08","date_gmt":"2023-04-17T04:45:24","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/"},"modified":"2024-05-04T12:07:57","modified_gmt":"2024-05-04T04:07:57","slug":"%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/","title":{"rendered":"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a"},"content":{"rendered":"<p>\u8fd9\u662f2021\u5e74AP Communications\u5723\u8bde\u65e5\u5386\u7684\u7b2c22\u7bc7\u6587\u7ae0\u3002<\/p>\n<p>\u7531\u4e8e\u5728\u8fd9\u91cc\u81ea\u5b66Terraform\uff08AWS\uff09\uff0c\u6240\u4ee5\u6211\u53ea\u9700\u8981\u4e00\u79cd\u9009\u62e9\u3002<\/p>\n<p>\u6211\u60f3\u5728Azure\u4e0a\u5c1d\u8bd5\u4e00\u4e0b\uff0c\u770b\u770b\u662f\u5426\u53ef\u884c\u3002<\/p>\n<h2>\u7ec8\u70b9<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">VM\u4f5c\u6210\u3057\u3001\u79d8\u5bc6\u9375\u3082\u53d6\u5f97\u3059\u308b\uff08GUI\u3067\u306eVM\u4f5c\u6210\u3068\u540c\u3058\u3088\u3046\u306b\u3057\u305f\u3044\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">OS\u306fCentOS<\/ul>\n<h2>\u9664\u4e86\u521b\u5efa\u865a\u62df\u673a\u4e4b\u5916\uff0c\u8fd8\u9700\u8981\u521b\u5efa\u5176\u4ed6\u5fc5\u8981\u7684\u8d44\u6e90\uff08\u8fd9\u4e9b\u8d44\u6e90\u4e5f\u5c06\u4f7f\u7528Terraform\u521b\u5efa\uff09\u3002<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ea\u30bd\u30fc\u30b9\u30b0\u30eb\u30fc\u30d7<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b5\u30d6\u30cd\u30c3\u30c8<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d1\u30d6\u30ea\u30c3\u30afIP<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">NSG\u3068\u901a\u4fe1\u30eb\u30fc\u30eb\uff08SSH\u8a31\u53ef\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">NIC<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30c7\u30a3\u30b9\u30af<\/ul>\n<h2>\u8fd9\u91cc\u4e0d\u8ba8\u8bba\u7684\u4e8b\u60c5\u3002<\/h2>\n<p>\u5728\u4e2d\u6587\u4e2d\uff0c\u6709\u8bb8\u591a\u79cd\u8868\u8fbe\u65b9\u5f0f\uff0c\u8fd9\u91cc\u7ed9\u51fa\u4e00\u4e2a\u53ef\u80fd\u7684\u9009\u9879\uff1a<br \/>\n\u5982\u4f55\u521b\u5efaTerraform\u6267\u884c\u73af\u5883<\/p>\n<h2>tf\u6587\u4ef6\u7684\u5185\u5bb9<\/h2>\n<p>\u6587\u4ef6\u7ed3\u6784\u4ec5\u5305\u542bmain.tf\u3002<br \/>\n\u4f4d\u7f6e\u4e3a\u4e1c\u65e5\u672c\uff08japaneast\uff09\u3002<\/p>\n<pre class=\"post-pre\"><code>provider \"azurerm\" {\r\n  features {}\r\n}\r\n\r\n# \u30ea\u30bd\u30fc\u30b9\u30b0\u30eb\u30fc\u30d7\u306e\u4f5c\u6210\r\nresource \"azurerm_resource_group\" \"myazrg\" {\r\n  name     = \"aztest_rg\"\r\n  location = \"japaneast\"\r\n}\r\n\r\n# \u4eee\u60f3\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u306e\u4f5c\u6210\r\nresource \"azurerm_virtual_network\" \"vnet\" {\r\n  name                = \"aztest_vnet\"\r\n  address_space       = [\"10.0.0.0\/16\"]\r\n  location            = \"japaneast\"\r\n  resource_group_name = azurerm_resource_group.myazrg.name\r\n}\r\n\r\n# \u30b5\u30d6\u30cd\u30c3\u30c8\u306e\u4f5c\u6210\r\nresource \"azurerm_subnet\" \"subnet\" {\r\n  name                 = \"default\"\r\n  resource_group_name  = azurerm_resource_group.myazrg.name\r\n  virtual_network_name = azurerm_virtual_network.vnet.name\r\n  address_prefixes     = [\"10.0.1.0\/24\"]\r\n}\r\n\r\n# \u30d1\u30d6\u30ea\u30c3\u30afIP\u306e\u4f5c\u6210\r\nresource \"azurerm_public_ip\" \"publicip\" {\r\n    name                         = \"myPublicIP\"\r\n    location                     = \"japaneast\"\r\n    resource_group_name          = azurerm_resource_group.myazrg.name\r\n    allocation_method            = \"Dynamic\"\r\n\r\n}\r\n\r\n#  NSG\u306e\u4f5c\u6210\u3068\u901a\u4fe1\u30eb\u30fc\u30eb\u306e\u8a2d\u5b9a\uff08SSH\u8a31\u53ef\uff09\r\nresource \"azurerm_network_security_group\" \"nsg\" {\r\n    name                = \"mynsg\"\r\n    location            = \"japaneast\"\r\n    resource_group_name = azurerm_resource_group.myazrg.name\r\n\r\n    security_rule {\r\n        name                       = \"SSH\"\r\n        priority                   = 1001\r\n        direction                  = \"Inbound\"\r\n        access                     = \"Allow\"\r\n        protocol                   = \"Tcp\"\r\n        source_port_range          = \"*\"\r\n        destination_port_range     = \"22\"\r\n        source_address_prefix      = \"&lt;\"*\"\u3067\u3082\u826f\u3044\u3067\u3059\u304c\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306eIP\u306b\u7d5e\u308b\u306e\u304c\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u7684\u306b\u3088\u3044\u3068\u601d\u3044\u307e\u3059&gt;\"\r\n        destination_address_prefix = \"*\"\r\n    }\r\n}\r\n\r\n# \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u30a4\u30f3\u30bf\u30fc\u30d5\u30a7\u30a4\u30b9\u306e\u4f5c\u6210\r\nresource \"azurerm_network_interface\" \"nic\" {\r\n  name                      = \"nic\"\r\n  location                  = \"japaneast\"\r\n  resource_group_name       = azurerm_resource_group.myazrg.name\r\n\r\n  ip_configuration {\r\n    name                          = \"internal\"\r\n    subnet_id                     = azurerm_subnet.subnet.id\r\n    private_ip_address_allocation = \"Dynamic\"\r\n  }\r\n}\r\n\r\n# SSH\u30ad\u30fc\u306e\u4f5c\u6210\r\nresource \"tls_private_key\" \"myazssh\" {\r\n  algorithm = \"RSA\"\r\n  rsa_bits = 4096\r\n}\r\noutput \"tls_private_key\" { \r\n    value = tls_private_key.myazssh.private_key_pem \r\n    sensitive = true\r\n}\r\n\r\n# \u4eee\u60f3\u30de\u30b7\u30f3\u306e\u4f5c\u6210\r\n# OS\u306fCentOS7.6\r\nresource \"azurerm_linux_virtual_machine\" \"myazvm\" {\r\n  name                = \"myszvm\"\r\n  resource_group_name = azurerm_resource_group.myazrg.name\r\n  location              = \"japaneast\"\r\n  size                = \"Standard_DS1_v2\"\r\n  admin_username = \"azureuser\"\r\n  network_interface_ids = [\r\n    azurerm_network_interface.nic.id,\r\n  ]\r\n\r\n  admin_ssh_key {\r\n    username       = \"azureuser\"\r\n    public_key     = tls_private_key.myazssh.public_key_openssh\r\n  }\r\n\r\n  os_disk {\r\n    caching              = \"ReadWrite\"\r\n    storage_account_type = \"Standard_LRS\"\r\n  }\r\n\r\n  source_image_reference {\r\n    publisher = \"OpenLogic\"\r\n    offer     = \"CentOS\"\r\n    sku       = \"7.6\"\r\n    version   = \"latest\"\r\n  }\r\n}\r\n\r\n<\/code><\/pre>\n<h2>\u6267\u884cTerraform<\/h2>\n<h3>\u521d\u59cb\u5316 (terraform init)<\/h3>\n<pre class=\"post-pre\"><code>$ terraform init\r\n\r\nInitializing the backend...\r\n\r\nInitializing provider plugins...\r\n- Finding latest version of hashicorp\/tls...\r\n- Reusing previous version of hashicorp\/azurerm from the dependency lock file\r\n- Installing hashicorp\/tls v3.1.0...\r\n- Installed hashicorp\/tls v3.1.0 (self-signed, key ID 34365D9472D7468F)\r\n\r\nPartner and community providers are signed by their developers.\r\nIf you'd like to know more about provider signing, you can read about it here:\r\nhttps:\/\/www.terraform.io\/docs\/cli\/plugins\/signing.html\r\n\r\nTerraform has made some changes to the provider dependency selections recorded\r\nin the .terraform.lock.hcl file. Review those changes and commit them to your\r\nversion control system if they represent changes you intended to make.\r\n\r\nTerraform has been successfully initialized!\r\n\r\nYou may now begin working with Terraform. Try running \"terraform plan\" to see\r\nany changes that are required for your infrastructure. All Terraform commands\r\nshould now work.\r\n\r\nIf you ever set or change modules or backend configuration for Terraform,\r\nrerun this command to reinitialize your working directory. If you forget, other\r\ncommands will detect it and remind you to do so if necessary.\r\n<\/code><\/pre>\n<h3>\u8bed\u6cd5\u68c0\u67e5\uff08terraform validate\uff09<\/h3>\n<p>\u7531\u4e8e\u5927\u591a\u6570\u9519\u8bef\u90fd\u53d1\u751f\u5728\u8fd9\u91cc\uff0c\u6211\u4f1a\u9010\u4e2a\u4fee\u6b63\u53d1\u73b0\u7684\u9519\u8bef\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform validate\r\nSuccess! The configuration is valid.\r\n<\/code><\/pre>\n<h3>\u6267\u884c\u9884\u6f14 (Terraform plan)<\/h3>\n<p>\u5728Ansible\u4e2d\uff0c\u7c7b\u4f3c\u4e8eDry Run\u7684\u4e1c\u897f<\/p>\n<pre class=\"post-pre\"><code>$ terraform plan -out main.tfplan\r\ntls_private_key.myazssh: Refreshing state... [id=xxx]\r\nazurerm_resource_group.rg: Refreshing state... [id=\/subscriptions\/xxx\/resourceGroups\/aztest_rg]\r\n\r\nAn execution plan has been generated and is shown below.\r\nResource actions are indicated with the following symbols:\r\n  + create\r\n\r\nTerraform will perform the following actions:\r\n\r\n\uff08\u7565\uff09\r\n\r\nPlan: 7 to add, 0 to change, 0 to destroy.\r\n\r\n------------------------------------------------------------------------\r\n\r\nThis plan was saved to: main.tfplan\r\n\r\nTo perform exactly these actions, run the following command to apply:\r\n    terraform apply \"main.tfplan\"\r\n<\/code><\/pre>\n<h3>\u6267\u884c\uff08terraform apply\uff09<\/h3>\n<pre class=\"post-pre\"><code>$ terraform apply main.tfplan\r\nazurerm_resource_group.myazrg: Creating...\r\n(\u7565)\r\nazurerm_linux_virtual_machine.myazvm: Creating...\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [10s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [20s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [30s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [40s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [50s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [1m0s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Still creating... [1m10s elapsed]\r\nazurerm_linux_virtual_machine.myazvm: Creation complete after 1m17s [id=\/subscriptions\/xxx\/resourceGroups\/aztest_rg\/providers\/Microsoft.Compute\/virtualMachines\/myszvm]\r\n\r\nApply complete! Resources: 7 added, 0 changed, 0 destroyed.\r\n\r\nThe state of your infrastructure has been saved to the path\r\nbelow. This state is required to modify and destroy your\r\ninfrastructure, so keep it safe. To inspect the complete state\r\nuse the `terraform show` command.\r\n\r\nState path: terraform.tfstate\r\n\r\nOutputs:\r\n\r\ntls_private_key = &lt;sensitive&gt;\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u91cc\uff0c\u60a8\u53ef\u4ee5\u67e5\u770bAzure\u95e8\u6237\u7684\u521b\u5efa\u60c5\u51b5\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8899913a08637a6c3821\/24-0.png\" alt=\"\u7121\u984c.png\" \/><\/div>\n<h3>\u83b7\u53d6\u79c1\u94a5<\/h3>\n<pre class=\"post-pre\"><code>terraform output -raw tls_private_key\r\n-----BEGIN RSA PRIVATE KEY-----\r\n\uff08\u7565\uff09\r\n-----END RSA PRIVATE KEY-----\r\n<\/code><\/pre>\n<p>\u4f60\u53ef\u4ee5\u5728\u8fd9\u91cc\u83b7\u53d6\u79c1\u94a5\u3002<\/p>\n<p>\u590d\u5236\u5e76\u7c98\u8d34\u5bc6\u94a5\uff0c\u901a\u8fc7ssh\u767b\u5f55\u5b8c\u6210\u3002<\/p>\n<h3>\u60f3\u6cd5<\/h3>\n<p>\u4f7f\u75284\u4e2a\u547d\u4ee4\u5c31\u80fd\u591f\u521b\u5efa\u865a\u62df\u673a\uff0c\u975e\u5e38\u65b9\u4fbf\u3002<br \/>\n\u6211\u8ba4\u4e3a\u901a\u8fc7\u66f4\u6539\u56fe\u5f62\u7528\u6237\u754c\u9762\uff0c\u4e0d\u518d\u9700\u8981\u53cd\u590d\u4fee\u6539\u6b65\u9aa4\uff0c\u8fd9\u4e5f\u4e0d\u518d\u6210\u4e3a\u95ee\u9898\u3002<br \/>\n\u63a5\u4e0b\u6765\uff0c\u8ba1\u5212\u8fdb\u884c\u4e3b\u673a\u540d\u3001IP\u66f4\u6539\u4ee5\u53ca\u521b\u5efa\u591a\u4e2a\u865a\u62df\u673a\u548c\u4f7f\u7528Windows\u64cd\u4f5c\u7cfb\u7edf\u8fdb\u884c\u521b\u5efa\u7b49\u3002<br \/>\n\u975e\u5e38\u611f\u8c22\u60a8\u7684\u89c2\u770b\u3002<\/p>\n<h3>\u8bf7\u63d0\u4f9b\u4ee5\u4e0b\u5185\u5bb9\u7684\u4e2d\u6587\u539f\u751f\u91ca\u4e49\u3002<\/h3>\n<p>&#8220;\u53c2\u8003&#8221;<\/p>\n<p>\u4f7f\u7528Terraform\u5728Azure\u4e0a\u914d\u7f6eLinux\u865a\u62df\u673a\u548c\u57fa\u7840\u67b6\u6784\u7684\u516c\u5f0f\u3002<br \/>\n\u4f7f\u7528Terraform\u5728Azure\u4e0a\u521b\u5efaIaaS\u9a8c\u8bc1\u73af\u5883\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8fd9\u662f2021\u5e74AP Communications\u5723\u8bde\u65e5\u5386\u7684\u7b2c22\u7bc7\u6587\u7ae0\u3002 \u7531\u4e8e\u5728\u8fd9\u91cc\u81ea\u5b66Terraform\uff08A [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-48977","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728azure\u4e0a\u4f7f\u7528terraform\u521b\u5efa\u865a\u62df\u673a\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a\" \/>\n<meta property=\"og:description\" content=\"\u8fd9\u662f2021\u5e74AP Communications\u5723\u8bde\u65e5\u5386\u7684\u7b2c22\u7bc7\u6587\u7ae0\u3002 \u7531\u4e8e\u5728\u8fd9\u91cc\u81ea\u5b66Terraform\uff08A [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728azure\u4e0a\u4f7f\u7528terraform\u521b\u5efa\u865a\u62df\u673a\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-04-17T04:45:24+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T04:07:57+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8899913a08637a6c3821\/24-0.png\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/\",\"name\":\"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-04-17T04:45:24+00:00\",\"dateModified\":\"2024-05-04T04:07:57+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728azure\u4e0a\u4f7f\u7528terraform\u521b\u5efa\u865a\u62df\u673a\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a","og_description":"\u8fd9\u662f2021\u5e74AP Communications\u5723\u8bde\u65e5\u5386\u7684\u7b2c22\u7bc7\u6587\u7ae0\u3002 \u7531\u4e8e\u5728\u8fd9\u91cc\u81ea\u5b66Terraform\uff08A [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728azure\u4e0a\u4f7f\u7528terraform\u521b\u5efa\u865a\u62df\u673a\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-04-17T04:45:24+00:00","article_modified_time":"2024-05-04T04:07:57+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8899913a08637a6c3821\/24-0.png"}],"author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/","name":"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-04-17T04:45:24+00:00","dateModified":"2024-05-04T04:07:57+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Azure\u4e0a\u4f7f\u7528Terraform\u521b\u5efa\u865a\u62df\u673a"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8azure%e4%b8%8a%e4%bd%bf%e7%94%a8terraform%e5%88%9b%e5%bb%ba%e8%99%9a%e6%8b%9f%e6%9c%ba%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48977","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=48977"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48977\/revisions"}],"predecessor-version":[{"id":98226,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48977\/revisions\/98226"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=48977"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=48977"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=48977"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}