運用

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

    お気軽にSlackで死活監視してみる

    はじめにくどうですお気軽にSlackで死活監視。疎通確認が行え…

  2. Azure

    AKS ( Kubernetes ) のPod からログをFilebeat を使って収集してelas…

    はじめにくどうです。先日、fluentd によるKuber…

  3. AlibabaCloud

    Virtual KubeletでAlibaba Cloud ECIを操作する。

    はじめにAlibaba Cloud ECI をMS謹製のVirtu…

  4. Azure

    リソースのLockは大事です。ポータルからも設定できます。

    はじめにくどうです。以前、リソースのロックの話を書きました…

  5. Azure

    Runbook ギャラリーの Start Azure V2 VMs / Stop Azure V2 …

    メモ:Start Azure V2 VMs / Stop Azure …

  6. Kubernetes

    kubernetesに展開するfluentd-daemonset-elasticsearchのcon…

    はじめにAKSなどkubernetesで、fluentdを利用して…

  1. Azure

    Cognitive ServicesでVideo APIを使ってみる。APIひと…
  2. Azure

    Azure(職場または学校のアカウント)でauthyを利用したMFA(多要素認証…
  3. GCP

    GoogleのTitan Security KeyでGCPにログインしてみた。
  4. Azure

    Microsoft Azure でDockerはじめちゃいますか?
  5. 未分類

    CD、FDがないノートパソコンにCentOS5を入れる方法
PAGE TOP