Terraformでさくらのクラウドを操作するためのプラグイン
- Dockerをインストールしておく
- さくらのクラウドAPIキーを取得しておく
Dockerがない場合はInstallation / インストールを参考に TerraformとTerraform for さくらのクラウドを手元のマシンにインストールしてからご利用ください。
さくらのクラウドAPIキーの取得方法はこちらを参照してください。
#################################################
# Terraform定義ファイル作成
#################################################
$ mkdir ~/work; cd ~/work
$ ssh-keygen -C "" -P "" -f id_rsa # サーバーへのSSH用キーペア生成
$ tee sakura.tf <<-'EOF'
resource "sakuracloud_ssh_key" "key"{
name = "sshkey"
public_key = "${file("id_rsa.pub")}"
}
data sakuracloud_archive "centos" {
filter = {
name = "Tags"
values = ["current-stable", "arch-64bit", "distro-centos"]
}
}
resource "sakuracloud_disk" "disk01"{
name = "disk01"
source_archive_id = "${data.sakuracloud_archive.centos.id}"
ssh_key_ids = ["${sakuracloud_ssh_key.key.id}"]
disable_pw_auth = true
zone = "is1b"
}
resource "sakuracloud_server" "server01" {
name = "server01"
disks = ["${sakuracloud_disk.disk01.id}"]
tags = ["@virtio-net-pci"]
zone = "is1b"
}
EOF
#################################################
# Terraformでインフラ作成
#################################################
$ docker run -it --rm \
-e SAKURACLOUD_ACCESS_TOKEN=[さくらのクラウド APIトークン] \
-e SAKURACLOUD_ACCESS_TOKEN_SECRET=[さくらのクラウド APIシークレット] \
-v $PWD:/work \
sacloud/terraform apply
リリースページから最新のバイナリを取得し、 Terraformバイナリと同じディレクトリに展開してください。
詳細はInstallation / インストールを参照してください。
Terraform定義ファイル(tfファイル)を作成してご利用ください。
設定ファイルの記載方法はリファレンスを参照ください。
さくらのクラウドの以下のリソースをサポートしています。
Terraform本体でのプロバイダ配置に合わせ、builtin
ディレクトリ配下にソースを配置しています。
builtin/
├── bins
│ └── provider-sakuracloud # Terraformプラグインエントリーポイント(mainパッケージ)
└── providers
└── sakuracloud # さくらのクラウド用プロバイダ/リソースなどソース一式
make build
make build-x
make docker-build
make test
make testacc
# 一覧表示
govendor list
# vendor配下のライブラリを一括更新
govendor fetch +v
# vendor配下のライブラリをGOPATH上から更新
govendor update +v
This project is published under Apache 2.0 License.
- Kazumichi Yamamoto (@yamamoto-febc)