{"id":48827,"date":"2023-09-30T23:49:09","date_gmt":"2024-01-17T00:55:27","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/"},"modified":"2024-05-04T02:16:40","modified_gmt":"2024-05-03T18:16:40","slug":"%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/","title":{"rendered":"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform"},"content":{"rendered":"<h2>\u8bf7\u53c2\u8003<\/h2>\n<p>\u53c2\u8003\u4e86\u524d\u4f5b\u5148\u751f\u548c\u5927\u7027\u5148\u751f\u7684\u6295\u7a3f\uff0c<br \/>\n\u8bd5\u7740\u4f7f\u7528HashiCorp\u7684\u65b0\u4e00\u4ee3\u7f16\u6392\u5de5\u5177Terraform\u5728AWS\u4e0a\u8fdb\u884c\u4e86\u7b80\u6613\u6559\u7a0b\u3002<\/p>\n<h2>\u6211\u5011\u4f86\u8a66\u4e00\u8a66<\/h2>\n<ul class=\"post-ul\">Terraform\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u30fb\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/ul>\n<pre class=\"post-pre\"><code>$ mkdir terraform\r\n$ cd terraform\r\n$ wget -O 0.1.0_linux_amd64.zip https:\/\/dl.bintray.com\/mitchellh\/terraform\/0.1.0_linux_amd64.zip\r\n$ unzip .\/0.1.0_linux_amd64.zip\r\nArchive:  .\/0.1.0_linux_amd64.zip\r\n  inflating: terraform\r\n  inflating: terraform-provider-aws\r\n  inflating: terraform-provider-consul\r\n  inflating: terraform-provider-digitalocean\r\n  inflating: terraform-provider-dnsimple\r\n  inflating: terraform-provider-heroku\r\n  inflating: terraform-provisioner-file\r\n  inflating: terraform-provisioner-local-exec\r\n  inflating: terraform-provisioner-remote-exec\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\u30d0\u30fc\u30b8\u30e7\u30f3\u78ba\u8a8d<\/ul>\n<pre class=\"post-pre\"><code>$ .\/terraform --version\r\nTerraform v0.1.0\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306e\u914d\u7f6e<\/ul>\n<pre class=\"post-pre\"><code>$ vi aws.tf\r\n<\/code><\/pre>\n<blockquote><p>\u63d0\u4f9b\u8005 &#8220;aws&#8221; {<br \/>\n\u8bbf\u95ee\u5bc6\u94a5 = &#8220;AKIxxxxxxxxxxxx&#8221;<br \/>\n\u5bc6\u94a5 = &#8220;xxxxxxxxxxxxxxxxxxxxxxxxxxx&#8221;<br \/>\n\u533a\u57df = &#8220;ap-northeast-1&#8221;<br \/>\n}<\/p>\n<p>\u8d44\u6e90 &#8220;aws_instance&#8221; &#8220;test1&#8221; {<br \/>\n\u955c\u50cf = &#8220;ami-29dc9228&#8221;<br \/>\n\u5b9e\u4f8b\u7c7b\u578b = &#8220;t2.micro&#8221;<br \/>\n\u5b50\u7f51 ID = &#8220;subnet-xxxxxxxx&#8221;<br \/>\n}<\/p><\/blockquote>\n<p>\u4f3c\u4e4e\u53ea\u9700\u8981\u6307\u5b9asubnet_id\uff0c\u5c31\u53ef\u4ee5\u5728VPC\u5185\u521b\u5efa\u5b9e\u4f8b\u3002\u4e0d\u9700\u8981\u6307\u5b9avpc-id\u8fd9\u4e00\u70b9\u633a\u65b9\u4fbf\u7684\u3002\u8bf7\u6ce8\u610f\uff0c\u5bc6\u94a5\u548c\u5b50\u7f51ID\u9700\u4f7f\u7528\u60a8\u81ea\u5df1\u7684\u3002<\/p>\n<ul class=\"post-ul\">plan\u3067\u8a08\u753b<\/ul>\n<pre class=\"post-pre\"><code>$ .\/terraform plan\r\nRefreshing Terraform state prior to plan...\r\n\r\naws_instance.example: Refreshing state... (ID: i-6a3f076c)\r\n\r\nThe Terraform execution plan has been generated and is shown below.\r\nResources are shown in alphabetical order for quick scanning. Green resources\r\nwill be created (or destroyed and then created if an existing resource\r\nexists), yellow resources are being changed in-place, and red resources\r\nwill be destroyed.\r\n\r\nNote: You didn't specify an \"-out\" parameter to save this plan, so when\r\n\"apply\" is called, Terraform can't guarantee this is what will execute.\r\n\r\n+ aws_instance.test1\r\n    ami:               \"\" =&gt; \"ami-29dc9228\"\r\n    availability_zone: \"\" =&gt; \"&lt;computed&gt;\"\r\n    instance_type:     \"\" =&gt; \"t2.micro\"\r\n    key_name:          \"\" =&gt; \"&lt;computed&gt;\"\r\n    private_dns:       \"\" =&gt; \"&lt;computed&gt;\"\r\n    private_ip:        \"\" =&gt; \"&lt;computed&gt;\"\r\n    public_dns:        \"\" =&gt; \"&lt;computed&gt;\"\r\n    public_ip:         \"\" =&gt; \"&lt;computed&gt;\"\r\n    security_groups:   \"\" =&gt; \"&lt;computed&gt;\"\r\n    subnet_id:         \"\" =&gt; \"subnet-xxxxxxxx\"\r\n<\/code><\/pre>\n<ul class=\"post-ul\">apply\u3067\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u8d77\u52d5<\/ul>\n<pre class=\"post-pre\"><code>$ .\/terraform apply\r\naws_instance.example: Refreshing state... (ID: i-6a3f076c)\r\naws_instance.test1: Creating...\r\n  ami:           \"\" =&gt; \"ami-29dc9228\"\r\n  instance_type: \"\" =&gt; \"t2.micro\"\r\n  subnet_id:     \"\" =&gt; \"subnet-xxxxxxxx\"\r\naws_instance.example: Destruction complete\r\naws_instance.test1: Creation complete\r\n\r\nApply complete! Resources: 1 added, 0 changed, 1 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<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8_2014-07-29_11_37_49.png\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8764913a08637a6bfc11\/15-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8_2014-07-29_11_37_49.png\" \/><\/div>\n<h2>\u6211\u5011\u4f86\u5617\u8a66\u4fee\u6539\u8a2d\u5b9a\u5427\u3002<\/h2>\n<pre class=\"post-pre\"><code>$ vi aws.tf\r\n<\/code><\/pre>\n<p>\u5c1d\u8bd5\u4ee5 t2.small \u7684\u5b9e\u4f8b\u7c7b\u578b\u8fdb\u884c\u6267\u884c<\/p>\n<blockquote><p>\u63d0\u4f9b\u8005 &#8220;aws&#8221; {<br \/>\n\u8bbf\u95ee\u5bc6\u94a5 = &#8220;AKIxxxxxxxxxxxx&#8221;<br \/>\n\u5bc6\u94a5 = &#8220;xxxxxxxxxxxxxxxxxxxxxxxxxxx&#8221;<br \/>\n\u533a\u57df = &#8220;ap-northeast-1&#8221;<br \/>\n}<\/p>\n<p>\u8d44\u6e90 &#8220;aws_instance&#8221; &#8220;test1&#8221; {<br \/>\nAMI = &#8220;ami-29dc9228&#8221;<br \/>\n\u5b9e\u4f8b\u7c7b\u578b = &#8220;t2.small&#8221;<br \/>\n\u5b50\u7f51ID = &#8220;subnet-xxxxxxxx&#8221;<br \/>\n}<\/p><\/blockquote>\n<ul class=\"post-ul\">terraform plan<\/ul>\n<pre class=\"post-pre\"><code>$ .\/terraform plan\r\nRefreshing Terraform state prior to plan...\r\n\r\naws_instance.test1: Refreshing state... (ID: i-04370f02)\r\n\r\nThe Terraform execution plan has been generated and is shown below.\r\nResources are shown in alphabetical order for quick scanning. Green resources\r\nwill be created (or destroyed and then created if an existing resource\r\nexists), yellow resources are being changed in-place, and red resources\r\nwill be destroyed.\r\n\r\nNote: You didn't specify an \"-out\" parameter to save this plan, so when\r\n\"apply\" is called, Terraform can't guarantee this is what will execute.\r\n\r\n-\/+ aws_instance.test1\r\n    availability_zone: \"ap-northeast-1b\" =&gt; \"&lt;computed&gt;\"\r\n    instance_type:     \"t2.micro\" =&gt; \"t2.small\" (forces new resource)\r\n    key_name:          \"\" =&gt; \"&lt;computed&gt;\"\r\n    private_dns:       \"ip-10-0-1-78.ap-northeast-1.compute.internal\" =&gt; \"&lt;computed&gt;\"\r\n    private_ip:        \"10.0.1.78\" =&gt; \"&lt;computed&gt;\"\r\n    public_dns:        \"\" =&gt; \"&lt;computed&gt;\"\r\n    public_ip:         \"\" =&gt; \"&lt;computed&gt;\"\r\n    security_groups:   \"\" =&gt; \"&lt;computed&gt;\"\r\n    subnet_id:         \"subnet-xxxxxxxx\" =&gt; \"&lt;computed&gt;\"\r\n<\/code><\/pre>\n<ul class=\"post-ul\">terraform apply<\/ul>\n<pre class=\"post-pre\"><code>.\/terraform apply\r\naws_instance.test1: Refreshing state... (ID: i-04370f02)\r\naws_instance.test1: Destroying...\r\naws_instance.test1: Destruction complete\r\naws_instance.test1: Modifying...\r\n  instance_type: \"t2.micro\" =&gt; \"t2.small\"\r\naws_instance.test1: Error: Error launching source instance: The parameter groupName cannot be used with the parameter subnet (InvalidParameterCombination)\r\nError applying plan:\r\n\r\n1 error(s) occurred:\r\n\r\n* Error launching source instance: The parameter groupName cannot be used with the parameter subnet (InvalidParameterCombination)\r\n\r\nTerraform does not automatically rollback in the face of errors.\r\nInstead, your Terraform state file has been partially updated with\r\nany resources that successfully completed. Please address the error\r\nabove and apply again to incrementally change your infrastructure.\r\n<\/code><\/pre>\n<p>\u51fa\u73b0\u4e86\u4e00\u4e9b\u9519\u8bef\u3002\u3002\u3002<\/p>\n<p>\u7531\u4e8e\u6ca1\u6709\u529e\u6cd5\uff0c\u6240\u4ee5\u91cd\u65b0\u6267\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ .\/terraform apply\r\naws_instance.test1: Creating...\r\n  ami:           \"\" =&gt; \"ami-29dc9228\"\r\n  instance_type: \"\" =&gt; \"t2.small\"\r\n  subnet_id:     \"\" =&gt; \"subnet-xxxxxxxx\"\r\naws_instance.test1: Creation complete\r\n\r\nApply complete! Resources: 1 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<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8_2014-07-29_12_20_03.png\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8764913a08637a6bfc11\/27-0.png\" alt=\"\u30b9\u30af\u30ea\u30fc\u30f3\u30b7\u30e7\u30c3\u30c8_2014-07-29_12_20_03.png\" \/><\/div>\n<p>\u5173\u4e8e\u66f4\u6539\u5b9e\u4f8b\u5927\u5c0f\uff0c\u6709\u4e00\u79cd\u662f\u5220\u9664\u5b9e\u4f8b\u5e76\u91cd\u65b0\u521b\u5efa\uff08\u8fd9\u6837\u505a\u53ef\u80fd\u5e0c\u671b\u8fdb\u884c\u4fee\u6539\uff09\uff0c\u53e6\u5916\u4e00\u79cd\u662f\u8fdb\u884c\u4e24\u6b21\u5b9e\u4f8b\u5927\u5c0f\u7684\u66f4\u6539\uff0c\u4f46\u662f\u6bcf\u6b21\u66f4\u6539\u5fc5\u5b9a\u4f1a\u51fa\u9519\u3002<\/p>\n<p>\u5728\u6211\u8bd5\u7528\u7684\u8303\u56f4\u5185\uff0c\u8fd9\u4e2a\u529f\u80fd\u975e\u5e38\u65b9\u4fbf\uff0c\u53ef\u4ee5\u8f7b\u677e\u5730\u8fdb\u884c\u4f11\u95f2\u4f7f\u7528\uff0c\u6240\u4ee5\u6211\u60f3\u8003\u8651\u5982\u4f55\u4f7f\u7528\u4ee5\u53ca\u8fd0\u8425\u65b9\u9762\u7684\u95ee\u9898\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u8bf7\u53c2\u8003 \u53c2\u8003\u4e86\u524d\u4f5b\u5148\u751f\u548c\u5927\u7027\u5148\u751f\u7684\u6295\u7a3f\uff0c \u8bd5\u7740\u4f7f\u7528HashiCorp\u7684\u65b0\u4e00\u4ee3\u7f16\u6392\u5de5\u5177Terraform\u5728AWS [&hellip;]<\/p>\n","protected":false},"author":5,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-48827","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>\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform - 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\/\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b-terraform\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform\" \/>\n<meta property=\"og:description\" content=\"\u8bf7\u53c2\u8003 \u53c2\u8003\u4e86\u524d\u4f5b\u5148\u751f\u548c\u5927\u7027\u5148\u751f\u7684\u6295\u7a3f\uff0c \u8bd5\u7740\u4f7f\u7528HashiCorp\u7684\u65b0\u4e00\u4ee3\u7f16\u6392\u5de5\u5177Terraform\u5728AWS [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b-terraform\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-17T00:55:27+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-03T18:16:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8764913a08637a6bfc11\/15-0.png\" \/>\n<meta name=\"author\" content=\"\u6e05, \u5b87\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u6e05, \u5b87\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \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\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/\",\"name\":\"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-01-17T00:55:27+00:00\",\"dateModified\":\"2024-05-03T18:16:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform\"}]},{\"@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\/1a6ecd3d914d22a5ac32791ffc1fbd8e\",\"name\":\"\u6e05, \u5b87\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g\",\"caption\":\"\u6e05, \u5b87\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform - 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\/\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b-terraform\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform","og_description":"\u8bf7\u53c2\u8003 \u53c2\u8003\u4e86\u524d\u4f5b\u5148\u751f\u548c\u5927\u7027\u5148\u751f\u7684\u6295\u7a3f\uff0c \u8bd5\u7740\u4f7f\u7528HashiCorp\u7684\u65b0\u4e00\u4ee3\u7f16\u6392\u5de5\u5177Terraform\u5728AWS [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b-terraform\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-01-17T00:55:27+00:00","article_modified_time":"2024-05-03T18:16:40+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8764913a08637a6bfc11\/15-0.png"}],"author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/","name":"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-01-17T00:55:27+00:00","dateModified":"2024-05-03T18:16:40+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u6211\u5c1d\u8bd5\u4e86\u4e00\u4e0b Terraform"}]},{"@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\/1a6ecd3d914d22a5ac32791ffc1fbd8e","name":"\u6e05, \u5b87","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4b2016c18459a605fc469c7566608f5686491baa112d0871ee613f61b7210565?s=96&d=mm&r=g","caption":"\u6e05, \u5b87"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/qingyu\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e6%88%91%e5%b0%9d%e8%af%95%e4%ba%86%e4%b8%80%e4%b8%8b-terraform%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\/48827","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\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=48827"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48827\/revisions"}],"predecessor-version":[{"id":95508,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48827\/revisions\/95508"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=48827"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=48827"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=48827"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}