{"id":48896,"date":"2023-04-10T17:07:51","date_gmt":"2023-07-10T19:18:16","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/"},"modified":"2024-04-29T22:52:44","modified_gmt":"2024-04-29T14:52:44","slug":"%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/","title":{"rendered":"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be"},"content":{"rendered":"<p>\u5728\u770b\u8fd9\u672c\u795e\u79d8\u7684\u4e66\u65f6\uff0c\u6211\u4f1a\u8fb9\u770b\u8fb9\u8bb0\u5f55\u60f3\u5230\u7684\u70b9\u5b50\u3002<\/p>\n<h2>\u7b2c\u4e94\u7ae0 \u6743\u9650\u7ba1\u7406<\/h2>\n<h3>(1) \u9519\u8bef\uff1a\u65e0\u6cd5\u67e5\u8be2\u53ef\u7528\u7684\u4f9b\u5e94\u5546\u5b89\u88c5\u5305<\/h3>\n<h4>\u9519\u8bef\u5185\u5bb9 (Error content)<\/h4>\n<p>\u5728\u4e00\u5b9a\u7a0b\u5ea6\u4e0a\u524d\u8fdb\u540e\uff0c\u5c1d\u8bd5\u6267\u884c\u4ee3\u7801\u65f6\uff0c\u6267\u884c\u4e86&#8221;terraform apply&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform apply\r\n\u2502 Error: Could not load plugin\r\n\u2502\r\n\u2502\r\n\u2502 Plugin reinitialization required. Please run \"terraform init\".\r\n\u2502\r\n\u2502 Plugins are external binaries that Terraform uses to access and manipulate\r\n\u2502 resources. The configuration provided requires plugins which can't be located,\r\n\u2502 don't satisfy the version constraints, or are otherwise incompatible.\r\n\u2502\r\n\u2502 Terraform automatically discovers provider requirements from your\r\n\u2502 configuration, including providers used in child modules. To see the\r\n\u2502 requirements and constraints, run \"terraform providers\".\r\n\u2502\r\n\u2502 failed to instantiate provider \"registry.terraform.io\/hashicorp\/awb\" to obtain schema: unknown provider\r\n\u2502 \"registry.terraform.io\/hashicorp\/awb\"\r\n<\/code><\/pre>\n<p>\u56e0\u4e3a\u53d1\u751f\u4e86\u9519\u8bef\uff0c\u6240\u4ee5\u6211\u8f93\u5165\u4e86&#8221;terraform init&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform init\r\n\u2502 Error: Failed to query available provider packages\r\n\u2502\r\n\u2502 Could not retrieve the list of available versions for provider hashicorp\/awb: provider registry registry.terraform.io does not have\r\n\u2502 a provider named registry.terraform.io\/hashicorp\/awb\r\n\u2502\r\n\u2502 All modules should specify their required_providers so that external consumers will get the correct providers when using a module.\r\n\u2502 To see which modules are currently depending on hashicorp\/awb, run the following command:\r\n\u2502     terraform providers\r\n<\/code><\/pre>\n<p>\u7136\u540e\u63a5\u8fde\u51fa\u73b0\u9519\u8bef\u3002<\/p>\n<h4>\u5e94\u5bf9\u65b9\u6cd5<\/h4>\n<p>\u6211\u628a &#8220;aws_lb&#8221; \u7684\u62fc\u5199\u9519\u8bef\u5730\u5199\u6210\u4e86 &#8220;awb_lb&#8221;\u3002<\/p>\n<h3>(2) \u670d\u52a1\u63d0\u4f9b\u5546.\u4e9a\u9a6c\u900a\u670d\u52a1.\u5730\u533a<\/h3>\n<h4>\u8bf7\u63d0\u4f9b\u66f4\u591a\u4e0a\u4e0b\u6587\u4fe1\u606f\u3002<\/h4>\n<p>\u5f53\u6267\u884c\u4ee3\u7801\u65f6\uff0c\u4f1a\u88ab\u8be2\u95ee\u5730\u533a\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform apply\r\nThe region where AWS operations will take place. Examples\r\nare us-east-1, us-west-2, etc.\r\nEnter a value:\r\n<\/code><\/pre>\n<h4>\u5904\u7406\u65b9\u6cd5 f\u01ce)<\/h4>\n<p>\u7531\u4e8eShell\u73af\u5883\u53d8\u91cf\u88ab\u91cd\u7f6e\uff0c\u6240\u4ee5\u9700\u8981\u91cd\u65b0\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>$ history 100 | grep AWS_\r\n$ export AWS_ACCESS_KEY_ID=(\u30a2\u30a4\u30c7\u30a3\u30fc\uff09\r\n$ export AWS_SECRET_ACCESS_KEY=\uff08\u30ad\u30fc\uff09\r\n$ export AWS_DEFAULT_REGION=\uff08\u30ea\u30fc\u30b8\u30e7\u30f3\uff09\r\n$ terraform apply\r\n<\/code><\/pre>\n<h2>\u7b2c\u516b\u7ae0 \u8d1f\u8f7d\u5747\u8861\u5668\u548cDNS<\/h2>\n<h3>(3) \u9519\u8bef\uff1a\u5220\u9664\u8d1f\u8f7d\u5747\u8861\u5668\u65f6\u53d1\u751f\u9519\u8bef\uff1aOperationNotPermitted: \u8d1f\u8f7d\u5747\u8861\u5668\u65e0\u6cd5\u5220\u9664\u3002<\/h3>\n<h4>\u9519\u8bef\u5185\u5bb9 (Mistake content)<\/h4>\n<p>\u6211\u8bd5\u56fe\u5220\u9664\uff0c\u8f93\u5165\u4e86&#8221;terraform destroy&#8221;\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform destroy\r\nError: error deleting LB: OperationNotPermitted: Load balancer 'arn:aws:elasticloadbalancing:ap-northeast-1:\u301c' cannot be deleted because deletion protection is enabled\r\n<\/code><\/pre>\n<p>\u53d1\u751f\u4e86\u9519\u8bef\u3002<\/p>\n<h4>\u5904\u7406\u65b9\u6cd5<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/25-0.png\" alt=\"loadbalancer.png\" \/><\/div>\n<h3>\u9519\u8bef\uff1a\u5220\u9664S3 \u6876\u65f6\u51fa\u73b0\u9519\u8bef\u3002<\/h3>\n<h4>\u9519\u8bef\u6d88\u606f<\/h4>\n<p>\u6211\u8f93\u5165\u4e86&#8221;terraform destroy&#8221;\u6765\u5c1d\u8bd5\u5220\u9664\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform destroy\r\nError: error deleting S3 Bucket (\u301c\u301c\u301c): BucketNotEmpty: The bucket you tried to delete is not empty\r\n<\/code><\/pre>\n<p>\u53d1\u751f\u4e86\u9519\u8bef\u3002<\/p>\n<h4>\u5e94\u5bf9\u65b9\u6cd5<\/h4>\n<p>\u7531\u4e8eS3\u4e2d\u4ecd\u7136\u4fdd\u7559\u6709\u8bbf\u95ee\u8d1f\u8f7d\u5747\u8861\u5668\u7684\u65e5\u5fd7\uff0c\u6240\u4ee5\u9700\u8981\u5220\u9664\u3002<br \/>\n\u53c2\u8003\u6587\u7ae0\uff1ahttps:\/\/qiita.com\/ChaseSan\/items\/11fe05926c700220d3cc<\/p>\n<pre class=\"post-pre\"><code>$ aws s3 rm s3:\/\/bucket-name --recursive\r\n<\/code><\/pre>\n<h3>(5) \u57df\u540d\u6ce8\u518c<\/h3>\n<h4>1. \u5728\u304a\u540d\u524d.com\u4e0a\u83b7\u53d6\u5ec9\u4ef7\u7684\u57df\u540d\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/36-0.png\" alt=\"\u304a\u540d\u524d\u30c8\u3099\u30c3\u30c8\u30b3\u30e0.png\" \/><\/div>\n<h4>\u5728AWS\u63a7\u5236\u53f0\u4e0a\u521b\u5efa\u4e3b\u673a\u533a\u57df\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/38-0.png\" alt=\"\u30db\u30b9\u30c8\u30bd\u3099\u30fc\u30f3.png\" \/><\/div>\n<h4>\u5c06DNS\u6ce8\u518c\u5230\u304a\u540d\u524d.com\u3002<\/h4>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/40-0.png\" alt=\"route53.png\" \/><\/div>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/41-0.png\" alt=\"\u304a\u540d\u524dDNS.png\" \/><\/div>\n<h4>\u5199\u5165\u4ece terraform \u4ee3\u7801\u4e2d\u83b7\u53d6\u5230\u7684\u57df\u540d<\/h4>\n<pre class=\"post-pre\"><code>data \"aws_route53_zone\" \"example\" {\r\n  name = \"\u53d6\u5f97\u3057\u305f\u30c9\u30e1\u30a4\u30f3\u540d\"\r\n}\r\n<\/code><\/pre>\n<h3>(6) \u9519\u8bef\uff1a\u65e0\u6548\u7d22\u5f15<\/h3>\n<h4>\u9519\u8bef\u5185\u5bb9 (\u00e9 cu\u00f2<\/h4>\n<pre class=\"post-pre\"><code>$ terraform apply\r\n\r\nError: Invalid index\r\n\r\n  on lb.tf line 100, in resource \"aws_route53_record\" \"example_certificate\":\r\n 100:   name = aws_acm_certificate.example.domain_validation_options[0].resource_record_name\r\n\r\nThis value does not have any indices.\r\n<\/code><\/pre>\n<h4>\u5904\u7406\u65b9\u6cd5<\/h4>\n<p>\u56e0\u4e3a\u5199\u4f5c\u65b9\u5f0f\u4f3c\u4e4e\u6709\u70b9\u8fc7\u65f6\uff0c\u6240\u4ee5\u8981\u6539\u53d8\u5199\u4f5c\u65b9\u5f0f\u3002<br \/>\n\u53c2\u8003\u6587\u7ae0\uff1ahttps:\/\/qiita.com\/fullsat_\/items\/a2843ec5fe36484f8e19<\/p>\n<pre class=\"post-pre\"><code>tolist(aws_acm_certificate.cert.domain_validation_options)[0]\r\n<\/code><\/pre>\n<h3>\u9519\u8bef\uff1a\u4e0d\u652f\u6301\u7684\u53c2\u6570<\/h3>\n<h4>\u9519\u8bef\u5185\u5bb9 (Error content)<\/h4>\n<pre class=\"post-pre\"><code>terraform apply\r\n\r\nError: Unsupported argument\r\n\r\n  on lb.tf line 178, in resource \"aws_lb_listener_rule\" \"example\":\r\n 178:     field = \"path-pattern\"\r\n\r\nAn argument named \"field\" is not expected here.\r\n<\/code><\/pre>\n<h4>\u5904\u7406\u65b9\u6cd5 f\u01ce)<\/h4>\n<p>\u7531\u4e8e\u5199\u4f5c\u65b9\u5f0f\u770b\u8d77\u6765\u6709\u4e9b\u9648\u65e7\uff0c\u6240\u4ee5\u9700\u8981\u6539\u53d8\u5199\u4f5c\u65b9\u5f0f\u3002<\/p>\n<pre class=\"post-pre\"><code>  condition {\r\n    path_pattern {\r\n      values = [\"\/*\"]\r\n    }\r\n  }\r\n<\/code><\/pre>\n<h2>\u7b2c14\u7ae0 \u90e8\u7f72\u7ba1\u9053<\/h2>\n<h3>\u63d0\u4ea4git commit\u5f88\u6162\u3002<\/h3>\n<p>\u5f53\u6211\u8bd5\u56fe\u5c06\u6587\u4ef6\u63a8\u9001\u5230GitHub\u7684\u5b58\u50a8\u5e93\u65f6\uff0c\u7531\u4e8e\u901f\u5ea6\u975e\u5e38\u6162\uff0c\u6211\u9009\u62e9\u5ffd\u7565\u6b64\u64cd\u4f5c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ vim .gitignore\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>.terraform\r\n.terraform.lock.hcl\r\nterraform.tfstate\r\nterraform.tfstate.backup\r\n.terraform.tfstate.lock.info\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>$ git init\r\n$ git add .\r\n$ git commit -m 'modified gitignore'\r\n$ git remote add ~~~~\r\n$ git push origin master\r\n<\/code><\/pre>\n<h3>\u521b\u5efa CodePipeline \u65f6\u51fa\u73b0\u9519\u8bef\uff1a\u65e0\u6548\u7684\u64cd\u4f5c\u58f0\u660e\u5f02\u5e38\u3002<\/h3>\n<h4>\u9519\u8bef\u5185\u5bb9 (Mistake content)<\/h4>\n<pre class=\"post-pre\"><code>$ terraform apply\r\n...\r\nError: Error creating CodePipeline: InvalidActionDeclarationException: Action configuration for action 'Source' is missing required configuration 'OAuthToken'\r\n\r\n  on cpl.tf line 126, in resource \"aws_codepipeline\" \"example\":\r\n 126: resource \"aws_codepipeline\" \"example\" {\r\n<\/code><\/pre>\n<h4>\u5904\u7406\u65b9\u6cd5<\/h4>\n<p>\u6211\u53c2\u8003\u4e86\u8fd9\u7bc7\u6587\u7ae0\u3002\u6216\u8005\u8bf4\uff0c\u770b\u4e86\u8fd9\u7bc7\u6587\u7ae0\u540e\uff0c\u6211\u603b\u7684\u6765\u8bf4\u80fd\u7406\u89e3\u5f97\u5f88\u597d\u3002\u592a\u68d2\u4e86\u3002<\/p>\n<p>\u8865\u5145\u8bf4\u660e<\/p>\n<pre class=\"post-pre\"><code>data \"aws_ssm_parameter\" \"github_token\" {\r\n  name = \"\/continuous_apply\/github_token\"\r\n}\r\n<\/code><\/pre>\n<p>\u66f4\u6b63<\/p>\n<pre class=\"post-pre\"><code># \u30ea\u30b9\u30c814.10\r\n# CodePipeline\u306e\u5b9a\u7fa9(\u4f8b\u3067\u306f3\u3064\u306e\u30b9\u30c6\u30fc\u30b8\u3067\u5b9f\u88c5\u3059\u308b)\r\nresource \"aws_codepipeline\" \"example\" {\r\n  name     = \"example\"\r\n  role_arn = module.codepipeline_role.iam_role_arn\r\n\r\n  # Source\u30b9\u30c6\u30fc\u30b8\uff1aGitHub\u304b\u3089\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3092\u53d6\u5f97\u3059\u308b\r\n  stage {\r\n    name = \"Source\"\r\n\r\n    action {\r\n      name             = \"Source\"\r\n      category         = \"Source\"\r\n      owner            = \"ThirdParty\"\r\n      provider         = \"GitHub\"\r\n      version          = 1\r\n      output_artifacts = [\"Source\"]\r\n\r\n      configuration = {\r\n~\u4e2d\u7565~\r\n        PollForSourceChanges = false\r\n        OAuthToken           = data.aws_ssm_parameter.github_token.value # SSM\u30d1\u30e9\u30e1\u30fc\u30bf\u304b\u3089\u6307\u5b9a\r\n      }\r\n    }\r\n  }\r\n~\u5f8c\u7565~\r\n<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u5728\u770b\u8fd9\u672c\u795e\u79d8\u7684\u4e66\u65f6\uff0c\u6211\u4f1a\u8fb9\u770b\u8fb9\u8bb0\u5f55\u60f3\u5230\u7684\u70b9\u5b50\u3002 \u7b2c\u4e94\u7ae0 \u6743\u9650\u7ba1\u7406 (1) \u9519\u8bef\uff1a\u65e0\u6cd5\u67e5\u8be2\u53ef\u7528\u7684\u4f9b\u5e94\u5546\u5b89\u88c5\u5305 \u9519 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-48896","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>\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be - 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\/\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be\" \/>\n<meta property=\"og:description\" content=\"\u5728\u770b\u8fd9\u672c\u795e\u79d8\u7684\u4e66\u65f6\uff0c\u6211\u4f1a\u8fb9\u770b\u8fb9\u8bb0\u5f55\u60f3\u5230\u7684\u70b9\u5b50\u3002 \u7b2c\u4e94\u7ae0 \u6743\u9650\u7ba1\u7406 (1) \u9519\u8bef\uff1a\u65e0\u6cd5\u67e5\u8be2\u53ef\u7528\u7684\u4f9b\u5e94\u5546\u5b89\u88c5\u5305 \u9519 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-07-10T19:18:16+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T14:52:44+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/25-0.png\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 \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%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/\",\"name\":\"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-07-10T19:18:16+00:00\",\"dateModified\":\"2024-04-29T14:52:44+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be\"}]},{\"@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\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be - 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\/\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be","og_description":"\u5728\u770b\u8fd9\u672c\u795e\u79d8\u7684\u4e66\u65f6\uff0c\u6211\u4f1a\u8fb9\u770b\u8fb9\u8bb0\u5f55\u60f3\u5230\u7684\u70b9\u5b50\u3002 \u7b2c\u4e94\u7ae0 \u6743\u9650\u7ba1\u7406 (1) \u9519\u8bef\uff1a\u65e0\u6cd5\u67e5\u8be2\u53ef\u7528\u7684\u4f9b\u5e94\u5546\u5b89\u88c5\u5305 \u9519 [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-07-10T19:18:16+00:00","article_modified_time":"2024-04-29T14:52:44+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d8818913a08637a6c207c\/25-0.png"}],"author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"2 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/","name":"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-07-10T19:18:16+00:00","dateModified":"2024-04-29T14:52:44+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728\u53c2\u8003\u4e66\u300a\u5b9e\u8df5Terraform\u300b\u4e2d\u9047\u5230\u4e86\u56f0\u96be"}]},{"@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\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8%e5%8f%82%e8%80%83%e4%b9%a6%e3%80%8a%e5%ae%9e%e8%b7%b5terraform%e3%80%8b%e4%b8%ad%e9%81%87%e5%88%b0%e4%ba%86%e5%9b%b0%e9%9a%be\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48896","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\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=48896"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48896\/revisions"}],"predecessor-version":[{"id":88130,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48896\/revisions\/88130"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=48896"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=48896"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=48896"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}