さくらのクラウドをTerraformから作る
わざわざTerraform使わずにコンパネからポチポチ作れるが、Terraform使ってみたかったしテスト環境とか複数の環境用意するときに手順忘れるので使ってみた。
バージョン
CentOS7
Terraform v0.11.13
Terraform for さくらのクラウド v1.11
インストール
curl -L https://releases.hashicorp.com/terraform/0.11.13/terraform_0.11.13_linux_amd64.zip > ~/terraform/terraform.zip unzip terraform echo export PATH=$PATH:~/terraform/ ~/.bash_profile
http://releases.usacloud.jp/terraform/
さくらのクラウド for terraform をterraformのディレクトリに入れる
mkdir sakura
vi sakura
provider "sakuracloud" { token = "[ACCESS_TOKEN]" secret = "[ACCESS_TOKEN_SECRET]" }
terraform init
動く
Initializing provider plugins... The following providers do not have any version constraints in configuration, so the latest version was installed. To prevent automatic upgrades to new major versions that may contain breaking changes, it is recommended to add version = "..." constraints to the corresponding provider blocks in configuration, with the constraint strings suggested below. * provider.sakuracloud: version = "~> 1.11" Terraform has been successfully initialized! You may now begin working with Terraform. Try running "terraform plan" to see any changes that are required for your infrastructure. All Terraform commands should now work. If you ever set or change modules or backend configuration for Terraform, rerun this command to reinitialize your working directory. If you forget, other commands will detect it and remind you to do so if necessary.
qiita.com を参考に進める
環境変数に設定して使うこともできる export SAKURACLOUD_ACCESS_TOKEN= export SAKURACLOUD_ACCESS_TOKEN_SECRET= export SAKURACLOUD_ZONE=tk1v
- tk1a … 東京第1ゾーン
- is1a … 石狩第1ゾーン
- is1b … 石狩第2ゾーン
- tk1v ... サンドボックス
SAKURACLOUD_ZONEをサンドボックスにすると、料金がかからないで作ったり壊したりできる。ありがたい。
terraformの基本的なコマンド
terraform init terraform validate terraform plan terraform apply terraform destroy
- グラフ化
terraform graph > input.dot dot -Tpng <(terraform graph) -o dependency.png
参考
ドキュメントがめちゃくちゃわかりやすい sacloud.github.io
あとはここらへんのチュートリアル記事を読めば大体わかる qiita.com qiita.com knowledge.sakura.ad.jp teratail.com