{"id":48677,"date":"2023-12-02T18:39:02","date_gmt":"2023-06-28T12:59:42","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/"},"modified":"2024-05-04T11:50:34","modified_gmt":"2024-05-04T03:50:34","slug":"%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/","title":{"rendered":"\u7528Terraform\u73a9\u8f6cSakura Cloud"},"content":{"rendered":"<h2>2020\/04\/30\u6dfb\u52a0<\/h2>\n<p>\u8bf7\u6ce8\u610f\uff0cv2\u7248\u672c\u4e8e2020\u5e741\u670831\u65e5\u4f5c\u4e3a\u6b63\u5f0f\u7248\u53d1\u5e03\u3002\u672c\u6587\u6863\u7684\u5185\u5bb9\u662f\u57fa\u4e8ev1\u7248\u672c\u7684\uff0c\u8bf7\u6ce8\u610f\u3002\u6709\u5173v2\u7248\u672c\u7684\u8be6\u7ec6\u4fe1\u606f\uff0c\u8bf7\u67e5\u9605\u4ee5\u4e0b\u6587\u6863\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8: https:\/\/docs.usacloud.jp\/terraform\/<\/ul>\n<\/li>\n<\/ul>\n<p>v2\u3067\u306e\u5909\u66f4\u70b9: https:\/\/docs.usacloud.jp\/terraform\/guides\/upgrade_to_v2.0.0\/<\/p>\n<hr \/>\n<p>\u4f60\u597d\uff0c\u6211\u662fKame Neko\u3002<\/p>\n<p>\u6700\u8fd1\u7531\u65bc\u4e00\u4e9b\u539f\u56e0\uff0c\u6211\u4e00\u76f4\u5728\u7814\u7a76\u6afb\u96f2\u7684\u7528\u6cd5\uff0c\u4e0d\u904e\u73fe\u5728\u5728\u63a7\u5236\u9762\u677f\u4e0a\u90e8\u7f72\u670d\u52d9\u5668\u8b8a\u5f97\u975e\u5e38\u56f0\u96e3\u3002<\/p>\n<p>\u6211\u9700\u8981\u983b\u7e41\u5730\u6e96\u5099\u548c\u522a\u9664\u7279\u5b9a\u74b0\u5883\u7684\u670d\u52d9\u5668\uff0c\u4e00\u76f4\u5728\u5c0b\u627e\u89e3\u6c7a\u65b9\u6cd5\uff0c\u7d50\u679c\u627e\u5230\u4e86\uff0c\u90a3\u5c31\u662fTerraform\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d86f3913a08637a6be84f\/6-0.png\" alt=\"image.png\" \/><\/div>\n<p>\u8fd9\u6b21\u6211\u4eec\u5c06\u4ecb\u7ecd\u4e00\u4e0b\u5728\u6a31\u4e91\u4e0a\u4f7f\u7528Terraform\u8fdb\u884c\u914d\u7f6e\u7684\u6b65\u9aa4\uff0c\u5c3d\u7ba1\u6709\u70b9\u665a\u3002<\/p>\n<h2>\u5b89\u88c5Terraform<\/h2>\n<p>\u9996\u5148\uff0c\u8ba9\u6211\u4eec\u5b89\u88c5Terraform\u3002\u8fd9\u6b21\u6211\u4eec\u5c06\u4f7f\u7528CentOS7\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code>$ cat \/etc\/*-release\r\nCentOS Linux release 7.6.1810 (Core)\r\nNAME=\"CentOS Linux\"\r\nVERSION=\"7 (Core)\"\r\nID=\"centos\"\r\nID_LIKE=\"rhel fedora\"\r\nVERSION_ID=\"7\"\r\nPRETTY_NAME=\"CentOS Linux 7 (Core)\"\r\nANSI_COLOR=\"0;31\"\r\nCPE_NAME=\"cpe:\/o:centos:centos:7\"\r\nHOME_URL=\"https:\/\/www.centos.org\/\"\r\nBUG_REPORT_URL=\"https:\/\/bugs.centos.org\/\"\r\n\r\nCENTOS_MANTISBT_PROJECT=\"CentOS-7\"\r\nCENTOS_MANTISBT_PROJECT_VERSION=\"7\"\r\nREDHAT_SUPPORT_PRODUCT=\"centos\"\r\nREDHAT_SUPPORT_PRODUCT_VERSION=\"7\"\r\n\r\nCentOS Linux release 7.6.1810 (Core)\r\nCentOS Linux release 7.6.1810 (Core)\r\n<\/code><\/pre>\n<h3>\u4e0b\u8f7d\/\u89e3\u538bTerraform\u4e8c\u8fdb\u5236\u6587\u4ef6\u3002<\/h3>\n<p>\u5728\u4e3b\u76ee\u5f55\u4e0b\u521b\u5efa\u6587\u4ef6\u5939\uff0c\u5e76\u5728\u8be5\u6587\u4ef6\u5939\u4e0b\u89e3\u538b\u4e8c\u8fdb\u5236\u6587\u4ef6\u3002<br \/>\n\u901a\u8fc7\u590d\u5236\u7c98\u8d34\u516c\u5f0f\u7f51\u7ad9\u7684\u94fe\u63a5\u83b7\u53d6\u4e8c\u8fdb\u5236\u6587\u4ef6\u3002\u7531\u4e8e\u672c\u6b21\u662fCentOS7\uff0c\u56e0\u6b64\u4e0b\u8f7dLinux 64\u4f4d\u7248\u672c\u3002<\/p>\n<p>\u4e0b\u8f7dTerraform &#8211; \u7531HashiCorp\u5f00\u53d1\u7684Terraform<\/p>\n<pre class=\"post-pre\"><code>$ mkdir ~\/terraform\r\n$ cd ~\/terraform\r\n$ wget https:\/\/releases.hashicorp.com\/terraform\/0.11.11\/terraform_0.11.11_linux_amd64.zip\r\n$ ls\r\nterraform_0.11.11_linux_amd64.zip\r\n$ unzip terraform_0.11.11_linux_amd64.zip\r\nArchive:  terraform_0.11.11_linux_amd64.zip\r\n  inflating: terraform\r\n$ ls\r\nterraform  terraform_0.11.11_linux_amd64.zip\r\n<\/code><\/pre>\n<p>\u7ed9\u5df2\u7ecf\u89e3\u538b\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u6dfb\u52a0\u8def\u5f84\u3002<\/p>\n<pre class=\"post-pre\"><code>$ export PATH=$PATH:~\/terraform\/\r\n<\/code><\/pre>\n<p>\u786e\u8ba4\u80fd\u591f\u6267\u884c\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform\r\nUsage: terraform [-version] [-help] &lt;command&gt; [args]\r\n\r\nThe available commands for execution are listed below.\r\nThe most common, useful commands are shown first, followed by\r\nless common or more advanced commands. If you're just getting\r\nstarted with Terraform, stick with the common commands. For the\r\nother commands, please read the help and docs before usage.\r\n\r\nCommon commands:\r\n    apply              Builds or changes infrastructure\r\n    console            Interactive console for Terraform interpolations\r\n    destroy            Destroy Terraform-managed infrastructure\r\n    env                Workspace management\r\n    fmt                Rewrites config files to canonical format\r\n    get                Download and install modules for the configuration\r\n    graph              Create a visual graph of Terraform resources\r\n    import             Import existing infrastructure into Terraform\r\n    init               Initialize a Terraform working directory\r\n    output             Read an output from a state file\r\n    plan               Generate and show an execution plan\r\n    providers          Prints a tree of the providers used in the configuration\r\n    push               Upload this Terraform module to Atlas to run\r\n    refresh            Update local state file against real resources\r\n    show               Inspect Terraform state or plan\r\n    taint              Manually mark a resource for recreation\r\n    untaint            Manually unmark a resource as tainted\r\n    validate           Validates the Terraform files\r\n    version            Prints the Terraform version\r\n    workspace          Workspace management\r\n\r\nAll other commands:\r\n    debug              Debug output management (experimental)\r\n    force-unlock       Manually unlock the terraform state\r\n    state              Advanced state management\r\n<\/code><\/pre>\n<p>\u5982\u679c\u80fd\u63d0\u4f9b\u4e0a\u8ff0\u7684\u5e2e\u52a9\uff0c\u90a3\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<h2>\u5199\u6784\u5efa\u6587\u4ef6<\/h2>\n<p>\u521d\u3081\u306b\u3001\u4e0b\u8a18\u306e\u8a18\u4e8b\u3092\u53c2\u8003\u306b\u3057\u3066\u3001\u9069\u5f53\u306a\u914d\u7f6e\u30d5\u30a1\u30a4\u30eb\u3092\u4f5c\u6210\u3057\u3066\u307f\u307e\u3057\u305f\u3002<\/p>\n<p>\u300aTerraform \u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9\u5f00\u53d1\u6307\u5357\uff08\u7b2c\u4e09\u90e8\u5206\uff09\u301c\u5728\u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9\u4e0a\u6784\u5efa\u57fa\u7840\u8bbe\u65bd\u301c | \u3055\u304f\u3089\u306e\u30ca\u30ec\u30c3\u30b8\u300b<\/p>\n<p>\u53e6\u5916\uff0c\u7531\u4e8e\u4e0a\u8ff0\u7684\u6587\u7ae0\u8fd8\u6ca1\u6709\u5b58\u6863ID\uff0c\u4f1a\u88ab\u6307\u8d23\uff0c\u6240\u4ee5\u6211\u53c2\u8003\u4e86\u4ee5\u4e0b\u5185\u5bb9\u5e76\u8fdb\u884c\u4e86\u90e8\u5206\u4fee\u6539\u3002<\/p>\n<p>\u30c7\u30a3\u30b9\u30af &#8211; \u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9\u306b\u5bfe\u3059\u308bTerraform<\/p>\n<pre class=\"post-pre\"><code>$ mkdir ~\/terraform\/create-server\/\r\n$ cd ~\/terraform\/create-server\/\r\n$ vim create-server.tf\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code><span class=\"k\">resource<\/span> <span class=\"s2\">\"sakuracloud_disk\"<\/span> <span class=\"s2\">\"disk01\"<\/span><span class=\"p\">{<\/span>\r\n  <span class=\"nx\">name<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"disk1\"<\/span>\r\n  <span class=\"nx\">source_archive_id<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"<\/span><span class=\"k\">${data<\/span><span class=\"p\">.<\/span><span class=\"nx\">sakuracloud_archive<\/span><span class=\"p\">.<\/span><span class=\"nx\">centos<\/span><span class=\"p\">.<\/span><span class=\"nx\">id<\/span><span class=\"k\">}<\/span><span class=\"s2\">\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">data<\/span> <span class=\"nx\">sakuracloud_archive<\/span> <span class=\"s2\">\"centos\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">os_type<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"centos\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"k\">resource<\/span> <span class=\"s2\">\"sakuracloud_server\"<\/span> <span class=\"s2\">\"server01\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">name<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"server01\"<\/span>\r\n  <span class=\"nx\">disks<\/span> <span class=\"p\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">\"<\/span><span class=\"k\">${<\/span><span class=\"nx\">sakuracloud_disk<\/span><span class=\"p\">.<\/span><span class=\"nx\">disk01<\/span><span class=\"p\">.<\/span><span class=\"nx\">id<\/span><span class=\"k\">}<\/span><span class=\"s2\">\"<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"nx\">tags<\/span> <span class=\"p\">=<\/span> <span class=\"p\">[<\/span><span class=\"s2\">\"@virtio-net-pci\"<\/span><span class=\"p\">]<\/span>\r\n  <span class=\"nx\">password<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"password\"<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h2>\u51c6\u5907API\u5bc6\u94a5<\/h2>\n<p>\u8bf7\u6839\u636e\u6b64\u53c2\u8003\u8bbe\u7f6eAPI\u5bc6\u94a5\u3002<\/p>\n<p>\u4e2d\u56fd\u7248\uff1a<\/p>\n<p>\u5b89\u88c5\u6307\u5357 &#8211; Terraform for \u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9 | \u83b7\u53d6\u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9 API \u5bc6\u94a5<\/p>\n<pre class=\"post-pre\"><code>$ export SAKURACLOUD_ACCESS_TOKEN=hogehoge\r\n$ export SAKURACLOUD_ACCESS_TOKEN_SECRET=fugafuga\r\n$ export SAKURACLOUD_ZONE=tk1a\r\n<\/code><\/pre>\n<h2>\u5b89\u88c5\u63d2\u4ef6<\/h2>\n<p>\u6211\u4eec\u5c06\u5b89\u88c5\u5916\u90e8\u63d0\u4f9b\u5546\u3002\u901a\u8fc7\u8fd9\u4e2a\u5916\u90e8\u63d0\u4f9b\u5546\uff0c\u4f3c\u4e4e\u53ef\u4ee5\u4f7f\u7528\u9664\u4e86\u5b98\u65b9\u63d0\u4f9b\u7684\u4e91\u670d\u52a1\u4e4b\u5916\u7684\u5176\u4ed6\u670d\u52a1\u3002<\/p>\n<p>\u6211\u4eec\u5c06\u4ece\u4ee5\u4e0b\u4f4d\u7f6e\u4e0b\u8f7d\u63d0\u4f9b\u7a0b\u5e8f\u7684\u4e8c\u8fdb\u5236\u6587\u4ef6\u3002\u8fd9\u6b21\u6211\u4eec\u5c06\u4f7f\u7528\u6700\u8fd1\u53d1\u5e03\u7684v2.0.0-alpha\u7248\u672c\uff0c\u8be5\u7248\u672c\u4ec5\u652f\u6301Enhanced Load Balancer\u3002<\/p>\n<p>\u5728\u4e3b\u76ee\u5f55\u4e0b\u521b\u5efa\u4e00\u4e2a\u4e13\u7528\u76ee\u5f55\uff0c\u5e76\u89e3\u538b\u7f29\u4e8c\u8fdb\u5236\u6587\u4ef6\u3002<\/p>\n<pre class=\"post-pre\"><code>$ mkdir -p ~\/.terraform.d\/plugins\/\r\n$ cd ~\/.terraform.d\/plugins\/\r\n$ wget https:\/\/github.com\/sacloud\/terraform-provider-sakuracloud\/releases\/download\/v2.0.0-alpha.3\/terraform-provider-sakuracloud_2.0.0_linux-amd64.zip\r\n$ ls\r\nterraform-provider-sakuracloud_2.0.0_linux-amd64.zip\r\n$ unzip terraform-provider-sakuracloud_2.0.0_linux-amd64.zip\r\nArchive:  terraform-provider-sakuracloud_2.0.0_linux-amd64.zip\r\n  inflating: terraform-provider-sakuracloud_v2.0.0_x5\r\n$ ls\r\nterraform-provider-sakuracloud_2.0.0_linux-amd64.zip  terraform-provider-sakuracloud_v2.0.0_x5\r\n<\/code><\/pre>\n<p>\u5728\u5b89\u88c5\u5c55\u5f00\u7684\u63d2\u4ef6\u4e4b\u524d\uff0c\u8bf7\u5728\u5b58\u653e.tf\u6587\u4ef6\u7684\u76ee\u5f55\u4e2d\u6267\u884cterraform init\u547d\u4ee4\u6765\u8fdb\u884c\u5b89\u88c5\u3002<\/p>\n<pre class=\"post-pre\"><code>$ cd ~\/terraform\/create-server\/\r\n$ terraform init\r\n\r\nInitializing provider plugins...\r\n\r\nThe following providers do not have any version constraints in configuration,\r\nso the latest version was installed.\r\n\r\nTo prevent automatic upgrades to new major versions that may contain breaking\r\nchanges, it is recommended to add version = \"...\" constraints to the\r\ncorresponding provider blocks in configuration, with the constraint strings\r\nsuggested below.\r\n\r\n* provider.sakuracloud: version = \"~&gt; 2.0\"\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<p>\u5982\u679c\u6309\u7167\u4e0a\u8ff0\u7684\u65b9\u5f0f\u51fa\u73b0\uff0c\u90a3\u5c31\u8bf4\u660e\u5b89\u88c5\u5b8c\u6210\u4e86\u3002<\/p>\n<h2>\u6211\u5c1d\u8bd5\u53bb\u6267\u884c<\/h2>\n<p>\u73b0\u5728\uff0c\u8ba9\u6211\u4eec\u7acb\u5373\u6267\u884c\u5427\u3002<br \/>\n\u9996\u5148\uff0c\u4f7f\u7528&#8221;plan&#8221;\u547d\u4ee4\u6765\u786e\u8ba4\u5185\u5bb9\u3002<\/p>\n<pre class=\"post-pre\"><code>$ terraform plan\r\nRefreshing Terraform state in-memory prior to plan...\r\nThe refreshed state will be used to calculate this plan, but will not be\r\npersisted to local or remote state storage.\r\n\r\ndata.sakuracloud_archive.centos: Refreshing state...\r\n\r\n------------------------------------------------------------------------\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  + sakuracloud_disk.disk01\r\n      id:                               &lt;computed&gt;\r\n      connector:                        \"virtio\"\r\n      graceful_shutdown_timeout:        \"60\"\r\n      name:                             \"disk1\"\r\n      plan:                             \"ssd\"\r\n      server_id:                        &lt;computed&gt;\r\n      size:                             \"20\"\r\n      source_archive_id:                \"113100368797\"\r\n      tags.#:                           &lt;computed&gt;\r\n      zone:                             &lt;computed&gt;\r\n\r\n  + sakuracloud_server.server01\r\n      id:                               &lt;computed&gt;\r\n      additional_display_ipaddresses.#: &lt;computed&gt;\r\n      cdrom_id:                         &lt;computed&gt;\r\n      core:                             \"1\"\r\n      disks.#:                          &lt;computed&gt;\r\n      display_ipaddress:                &lt;computed&gt;\r\n      dns_servers.#:                    &lt;computed&gt;\r\n      gateway:                          &lt;computed&gt;\r\n      graceful_shutdown_timeout:        \"60\"\r\n      interface_driver:                 \"virtio\"\r\n      ipaddress:                        &lt;computed&gt;\r\n      macaddresses.#:                   &lt;computed&gt;\r\n      memory:                           \"1\"\r\n      name:                             \"server01\"\r\n      nic:                              \"shared\"\r\n      nw_address:                       &lt;computed&gt;\r\n      nw_mask_len:                      &lt;computed&gt;\r\n      packet_filter_ids.#:              &lt;computed&gt;\r\n      password:                         &lt;sensitive&gt;\r\n      private_host_name:                &lt;computed&gt;\r\n      tags.#:                           \"1\"\r\n      tags.0:                           \"@virtio-net-pci\"\r\n      zone:                             &lt;computed&gt;\r\n\r\n\r\nPlan: 2 to add, 0 to change, 0 to destroy.\r\n\r\n------------------------------------------------------------------------\r\n\r\nNote: You didn't specify an \"-out\" parameter to save this plan, so Terraform\r\ncan't guarantee that exactly these actions will be performed if\r\n\"terraform apply\" is subsequently run.\r\n<\/code><\/pre>\n<p>\u6211\u4f1a\u5c1d\u8bd5\u7533\u8bf7<\/p>\n<pre class=\"post-pre\"><code>$ terraform apply\r\ndata.sakuracloud_archive.centos: Refreshing state...\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  + sakuracloud_disk.disk01\r\n      id:                               &lt;computed&gt;\r\n      connector:                        \"virtio\"\r\n      graceful_shutdown_timeout:        \"60\"\r\n      name:                             \"disk1\"\r\n      plan:                             \"ssd\"\r\n      server_id:                        &lt;computed&gt;\r\n      size:                             \"20\"\r\n      source_archive_id:                \"113100368797\"\r\n      tags.#:                           &lt;computed&gt;\r\n      zone:                             &lt;computed&gt;\r\n\r\n  + sakuracloud_server.server01\r\n      id:                               &lt;computed&gt;\r\n      additional_display_ipaddresses.#: &lt;computed&gt;\r\n      cdrom_id:                         &lt;computed&gt;\r\n      core:                             \"1\"\r\n      disks.#:                          &lt;computed&gt;\r\n      display_ipaddress:                &lt;computed&gt;\r\n      dns_servers.#:                    &lt;computed&gt;\r\n      gateway:                          &lt;computed&gt;\r\n      graceful_shutdown_timeout:        \"60\"\r\n      interface_driver:                 \"virtio\"\r\n      ipaddress:                        &lt;computed&gt;\r\n      macaddresses.#:                   &lt;computed&gt;\r\n      memory:                           \"1\"\r\n      name:                             \"server01\"\r\n      nic:                              \"shared\"\r\n      nw_address:                       &lt;computed&gt;\r\n      nw_mask_len:                      &lt;computed&gt;\r\n      packet_filter_ids.#:              &lt;computed&gt;\r\n      password:                         &lt;sensitive&gt;\r\n      private_host_name:                &lt;computed&gt;\r\n      tags.#:                           \"1\"\r\n      tags.0:                           \"@virtio-net-pci\"\r\n      zone:                             &lt;computed&gt;\r\n\r\n\r\nPlan: 2 to add, 0 to change, 0 to destroy.\r\n\r\nDo you want to perform these actions?\r\n  Terraform will perform the actions described above.\r\n  Only 'yes' will be accepted to approve.\r\n\r\n  Enter a value: yes # \u2190 \u5b9f\u884c\u3057\u3066\u3082\u826f\u3044\u304b\u805e\u304b\u308c\u308b\u306e\u3067yes\u3068\u30bf\u30a4\u30d7\r\n\r\n  sakuracloud_disk.disk01: Creating...\r\n  connector:                 \"\" =&gt; \"virtio\"\r\n  graceful_shutdown_timeout: \"\" =&gt; \"60\"\r\n  name:                      \"\" =&gt; \"disk1\"\r\n  plan:                      \"\" =&gt; \"ssd\"\r\n  server_id:                 \"\" =&gt; \"&lt;computed&gt;\"\r\n  size:                      \"\" =&gt; \"20\"\r\n  source_archive_id:         \"\" =&gt; \"113100368797\"\r\n  tags.#:                    \"\" =&gt; \"&lt;computed&gt;\"\r\n  zone:                      \"\" =&gt; \"&lt;computed&gt;\"\r\nsakuracloud_disk.disk01: Still creating... (10s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (20s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (30s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (40s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (50s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (1m0s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (1m10s elapsed)\r\nsakuracloud_disk.disk01: Still creating... (1m20s elapsed)\r\nsakuracloud_disk.disk01: Creation complete after 1m28s (ID: 113100456223)\r\nsakuracloud_server.server01: Creating...\r\n  additional_display_ipaddresses.#: \"\" =&gt; \"&lt;computed&gt;\"\r\n  cdrom_id:                         \"\" =&gt; \"&lt;computed&gt;\"\r\n  core:                             \"\" =&gt; \"1\"\r\n  disks.#:                          \"\" =&gt; \"1\"\r\n  disks.0:                          \"\" =&gt; \"113100456223\"\r\n  display_ipaddress:                \"\" =&gt; \"&lt;computed&gt;\"\r\n  dns_servers.#:                    \"\" =&gt; \"&lt;computed&gt;\"\r\n  gateway:                          \"\" =&gt; \"&lt;computed&gt;\"\r\n  graceful_shutdown_timeout:        \"\" =&gt; \"60\"\r\n  interface_driver:                 \"\" =&gt; \"virtio\"\r\n  ipaddress:                        \"\" =&gt; \"&lt;computed&gt;\"\r\n  macaddresses.#:                   \"\" =&gt; \"&lt;computed&gt;\"\r\n  memory:                           \"\" =&gt; \"1\"\r\n  name:                             \"\" =&gt; \"server01\"\r\n  nic:                              \"\" =&gt; \"shared\"\r\n  nw_address:                       \"\" =&gt; \"&lt;computed&gt;\"\r\n  nw_mask_len:                      \"\" =&gt; \"&lt;computed&gt;\"\r\n  packet_filter_ids.#:              \"\" =&gt; \"&lt;computed&gt;\"\r\n  password:                         \"&lt;sensitive&gt;\" =&gt; \"&lt;sensitive&gt;\"\r\n  private_host_name:                \"\" =&gt; \"&lt;computed&gt;\"\r\n  tags.#:                           \"\" =&gt; \"1\"\r\n  tags.0:                           \"\" =&gt; \"@virtio-net-pci\"\r\n  zone:                             \"\" =&gt; \"&lt;computed&gt;\"\r\nsakuracloud_server.server01: Still creating... (10s elapsed)\r\nsakuracloud_server.server01: Still creating... (20s elapsed)\r\nsakuracloud_server.server01: Still creating... (30s elapsed)\r\nsakuracloud_server.server01: Still creating... (40s elapsed)\r\nsakuracloud_server.server01: Still creating... (50s elapsed)\r\nsakuracloud_server.server01: Still creating... (1m0s elapsed)\r\nsakuracloud_server.server01: Creation complete after 1m4s (ID: 113100456235)\r\n\r\nApply complete! Resources: 2 added, 0 changed, 0 destroyed.\r\n<\/code><\/pre>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d86f3913a08637a6be84f\/44-1.png\" alt=\"image.png\" \/><\/div>\n<h2>\u7ed3\u675f<\/h2>\n<p>\u5982\u679c\u89c9\u5f97\u8fd9\u4e2a\u7ed3\u6784\u5f88\u9ebb\u70e6\u7684\u8bdd\uff0c\u610f\u5916\u5730\u5e76\u6ca1\u6709\u4ec0\u4e48\u5927\u4e0d\u4e86\u7684\u3002<br \/>\n\u4f7f\u7528\u8fd9\u4e2a\u65b9\u6cd5\u53ef\u4ee5\u8f7b\u677e\u5730\u5efa\u7acb\u5927\u91cf\u7684\u670d\u52a1\u5668\uff01<\/p>\n<h2>\u94fe\u63a5<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Terraform by HashiCorp<\/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\">Terraform for \u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9<\/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\">sacloud\/terraform-provider-sakuracloud: Terraform for \u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9 | GitHub.com<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Terraform for \u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9 \u30b9\u30bf\u30fc\u30c8\u30ac\u30a4\u30c9 \uff08\u7b2c\u4e09\u56de\uff09\u301c\u3055\u304f\u3089\u306e\u30af\u30e9\u30a6\u30c9\u4e0a\u306b\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u301c | \u3055\u304f\u3089\u306e\u30ca\u30ec\u30c3\u30b8<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>2020\/04\/30\u6dfb\u52a0 \u8bf7\u6ce8\u610f\uff0cv2\u7248\u672c\u4e8e2020\u5e741\u670831\u65e5\u4f5c\u4e3a\u6b63\u5f0f\u7248\u53d1\u5e03\u3002\u672c\u6587\u6863\u7684\u5185\u5bb9\u662f\u57fa\u4e8ev1\u7248\u672c\u7684\uff0c [&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-48677","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>\u7528Terraform\u73a9\u8f6cSakura Cloud - 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\/\u7528terraform\u73a9\u8f6csakura-cloud\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u7528Terraform\u73a9\u8f6cSakura Cloud\" \/>\n<meta property=\"og:description\" content=\"2020\/04\/30\u6dfb\u52a0 \u8bf7\u6ce8\u610f\uff0cv2\u7248\u672c\u4e8e2020\u5e741\u670831\u65e5\u4f5c\u4e3a\u6b63\u5f0f\u7248\u53d1\u5e03\u3002\u672c\u6587\u6863\u7684\u5185\u5bb9\u662f\u57fa\u4e8ev1\u7248\u672c\u7684\uff0c [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u7528terraform\u73a9\u8f6csakura-cloud\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-28T12:59:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T03:50:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d86f3913a08637a6be84f\/6-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=\"7 \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\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/\",\"name\":\"\u7528Terraform\u73a9\u8f6cSakura Cloud - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-06-28T12:59:42+00:00\",\"dateModified\":\"2024-05-04T03:50:34+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u7528Terraform\u73a9\u8f6cSakura Cloud\"}]},{\"@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\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u7528Terraform\u73a9\u8f6cSakura Cloud - 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\/\u7528terraform\u73a9\u8f6csakura-cloud\/","og_locale":"zh_CN","og_type":"article","og_title":"\u7528Terraform\u73a9\u8f6cSakura Cloud","og_description":"2020\/04\/30\u6dfb\u52a0 \u8bf7\u6ce8\u610f\uff0cv2\u7248\u672c\u4e8e2020\u5e741\u670831\u65e5\u4f5c\u4e3a\u6b63\u5f0f\u7248\u53d1\u5e03\u3002\u672c\u6587\u6863\u7684\u5185\u5bb9\u662f\u57fa\u4e8ev1\u7248\u672c\u7684\uff0c [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u7528terraform\u73a9\u8f6csakura-cloud\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-06-28T12:59:42+00:00","article_modified_time":"2024-05-04T03:50:34+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d86f3913a08637a6be84f\/6-0.png"}],"author":"\u6e05, \u5b87","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u6e05, \u5b87","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"7 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/","name":"\u7528Terraform\u73a9\u8f6cSakura Cloud - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-06-28T12:59:42+00:00","dateModified":"2024-05-04T03:50:34+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/1a6ecd3d914d22a5ac32791ffc1fbd8e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u7528Terraform\u73a9\u8f6cSakura Cloud"}]},{"@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\/%e7%94%a8terraform%e7%8e%a9%e8%bd%acsakura-cloud\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48677","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=48677"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48677\/revisions"}],"predecessor-version":[{"id":98150,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48677\/revisions\/98150"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=48677"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=48677"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=48677"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}