運用

Terraform Cloud でState ファイル (tfstate)を管理する。

はじめに

Terraform Cloud が登場しました。
https://app.terraform.io/signup
何をするのかというとStateファイル(tfstate)を管理するものです。
個人や小規模チームで利用する場合は無料みたいです。
GitHubのTerraform Stateファイル版のようなものです。

利用までの過程をStep by Stepで見ていきたいと思います。

サインアップ

最初にサインアップは必要です。

ユーザー名、Email、パスワードを入力しアカウント作成します。
作成後は登録したEmail宛てに確認メールが送信されるので確認します。

アカウント作成後ログインします。
https://app.terraform.io
次にOrganaizationを作成します。

名前は既に利用されている場合は作成できないので注意が必要です。
Emailのアドレスを入力します。

以上でアカウントの準備は完了です。

Terraform Cloud と連携

以下はAWSにt2.microでubuntu18.04を立ち上げるサンプルコードです。

main.tf
メインになるtfファイル

terraform.tfvars
アクセスキーとシークレットキー

remote-state.tf
作成したOrganaizationとWorkspacesを指定します。
Workspacesはない場合、新規作成されます。
WorkspacesはGitHubでいうレポジトリのようなものです。

.terraformrc
接続するためのtokenを指定します。
https://www.terraform.io/docs/commands/cli-config.html
ホームディレクトリにファイルを配置

上記のTokenはメニューからWorkspacesに移動し、右上からUser Settingsを開きます。

メニューからTokensを開き、説明分を入力、作成します。

作成されてTokenを上記のファイル内で指定います。

以上で連携の準備は完了です。

次にinit(初期化)します。
注意:すでにローカルにStateファイルがある場合は0バイトになり中身が空っぽになります。

init後にWorkspacesに指定したexampleが作成されます。

次にapplyします。

applyが完了すると通常、フォルダ内に作成されるstateファイルがTerraform Cloud上にアップロードされます。

以上で動作の確認が行えました。

差分を確認

Terraform Cloud はGitHubに似たものなんで差分も表示してくれます。
試しにインスタンスサイズをt2.microからt2.smallに変更してみます。

main.tf

applyします。

apply後にTerraform Cloudのコンソールから確認します。

差分を表示してくれます。

ちなみに

ちなみにApply最中はロックされます。

まとめ

Terraform CloudというStateをクラウド上に保存できるようになりました。これで、個人やチームでのTerraformの運用が楽になると思います。
また、GitHubライクな部分も導入しやすい感じがします。

関連記事

  1. AWS

    CloudMonixをちょっとだけ試してみた。

    はじめにくどうです管理運用面倒ですね・・・そこで、楽に…

  2. Azure

    トレンドマイクロさんでLTしてきた。

    はじめにくどうです。9/11にトレンドマイクロさんで、LTしてきま…

  3. Windows

    WindowsでPowershellだけでSyslogを受信してみる。

    はじめに検証とかするときSyslog受信するのに使うので。fl…

  4. Azure

    Azure Functions を起動した(だけ)。だけど、これは面白そうだ。

    はじめにくどうです。Azure Functions が出ま…

  5. AWS

    mackerelを使ってみたんだけど簡単だった。

    mackerelなるサービスがリリースされたので試してみました。クラ…

  6. Azure

    他社さんの、社内勉強会に行ってきた。

    はじめにくどうです。9/8にNTTPCコミュニケーションズさんの…

  1. Azure

    LinuxConにスタッフしてきました。Azure IoTも体験してきたよ!
  2. Azure

    Azure Storage にTime Machine でバックアップをする方法…
  3. AWS

    Storage Gateway を Windows Server バックアップの…
  4. Azure

    Azure Database for MySQL PreviewのServer …
  5. Azure

    Azureで旧インスタンスサイズを利用したい場合
PAGE TOP