🐕

Terraform Cloudを開始してみる

2020/09/23に公開

Terraform Cloudを開始してみる

お試しでZennに記事を書いて見るので、新しく始める系でスタートしてみます。

さてTerraform Cloudをご存知でしょうか?
Terraform Cloudが何かというと、Terraformに特化したCircleCIやGitHub ActionsのようなTerraformツールです。
また、Stateファイルの扱いですが、TerraformをAWSで利用していたらS3をBackendにしたりとか、そもそもローカルで実行してgit管理とかもあるかもしれませんが、
このTerraform Cloud上で実行すればStateファイル合わせて管理してくれます。

その為、Terraform Cloud上で実行すればStateファイルのための環境を特別準備するなどは無いので管理はGit(GitHub、Bitbucket対応)とここだけで完結するのでシンプルかもしれません(適当)。

他にもメリット・デメリットなどはあるのでそれは別途記載できればなと思います。

ひとまず開始方法を書いていきます。

Terraform Cloudのアカウント作成

冒頭でもありましたが、Terraform Cloudからアカウントを作成していきます。

Create Account

クリック後のページに情報を入力してアカウントを作成します。

Enter information

クリック後メール認証してねと来るので、入力したメールを確認してください。

Confirm Email Address

作成したアカウントの初期化

メールを確認すると認証用URLがすると完了した画面がでてきますがとりあえずスキップします。

※ 他の流れ見たければ末尾のおまけを見てください。

Skip

スキップの確認がでるのでクリックします。

Confirm

Organizationを作る画面になります。

Organizationの作成

新規作成だと結果ここにくるみたい?たぶん?ちがったらごめんなさい。

とりあえずの組織名を決めます。
基本的にどのアカウントも組織に属す必要がありそうで、というか組織にTerraformのWorkspaceが紐付くので、アカウント作成後は組織を作る必要があります。

※ WorkspaceっていうとTerraform Workspaceを思い出しそうですが、その使い方もできるんですが、ディレクトリ分けでTerraformを実行している場合にそのディレクトリ毎もWorkspaceとして定義できます。何言ってるかわかんねぇと思うが、次くらいの記事でそのあたりも説明できればと思います。

Create Organization

組織つくると、Workspaceの作成が求められるんですが今回はここは無視します。

ちなみに組織は左上から選択可能です。

一旦これでTerraform Cloudを始めるに必要なアカウント設定は終わりです。

組織にGitHubを紐付ける

次に、Terraformを実行するにもコードをTerraformに渡してやらないといけないので、今回はGitHubと連携させます。

まず組織の設定を開きます。

Setting

設定を開くと色々ありますが、今回の記事では VSC Providers を利用します。

Setting Menu

VCS Providerの設定

Settings のメニューから VCS Providers を選択し、VCSプロバイダーを追加します。

VCSプロバイダーが色々ありますが、今回はGitHubなのでGitHubを選択します。

私のGithubアカウントはEnterpriseではないので下側の Custom の方を選びます。

Githubを選ぶと、GithubのApplication設定のリンクと、リンクの先で入力すべき情報が出てきます。

まずは register a new OAuth Application. をクリックしてGitHubのページを開きます。

ひらいたら、上のTerraform Cloudのページに表示されている情報を入力します。

入力情報が正しければ接続後にアプリケーションのページが開くので、Client IDClient Secretの2つの情報を持ってTerraform Cloudのページに戻ります。

先程のTerraform Cloudのページに戻り、ページを下に行くとGitHubの認証情報を取得する項目がでるので、上記で作成した情報を入力します。

入力すると、GitHubとの連携許可が出るので許可します。

以上で、Terraform CloudとGitHubとの連携になります。

VCS Provider追加でいつかやる

GitHubの連携後SSH鍵が登録できるようですが、一度も使ったことがないのでスキップします。
説明を読むとサブモジュールとして読み込んでいるものが、SSH経由でしかアクセスできない場合その鍵を指定できるとのことです。

今回連携した部分だけだと、単純にコードは取ってこれるが、サブモジュールとして呼び出す場合、同じ認証情報は使い回すことができないようなので別途SSH鍵を設定して読み込めるようにするとかかな?と思います。

実験してわかったら又記事にしてみたいと思います。

最後に

以上でTerraform Cloudを開始するためのアカウント作成方法を記載してみました。

今回記事のために触っていて、以前作ったときとページの遷移の仕方やメニューが変わっていたので、この記事もどれだけ鮮度が持つかわかりませんが、Terraform
Cloudを開始していこうとしてる方のちょっとした助けにでもなれば幸いです。

最後まで見ていただきあり難うございました。

次回は実際にTerraform CloudにWorkspaceを作ってい後と思います。

おまけ

メール認証後のフローをまとめてみた

見づらいけど結局一緒なのであまり気にしなくて良いってのが結論…

※ もしかすると、どこかの選択肢で最終的な画面のフラグが経ってしまって戻っても変化がない状態になった説はあるので、違ったら教えて下さい…

Top

  • I'M NEW TO TERRAFORM
    YES/NO

    • I'M NEW TO TERRAFORM -> YES
      YES->YES/NO

      • I'M NEW TO TERRAFORM -> YES -> YES
        • 最終的な画面になる
      • I'M NEW TO TERRAFORM -> YES -> NO
        • 最終的な画面になる
    • I'M NEW TO TERRAFORM -> NO
      NO->YES/NO

      • I'M NEW TO TERRAFORM -> YES -> YES
        • 最終的な画面になる
      • I'M NEW TO TERRAFORM -> YES -> NO
        • 最終的な画面になる
  • I'VE USED TERRAFORM BEFORE -> Start With a fresh Terraform Config

    • 最終的な画面になる
  • I'VE USED TERRAFORM BEFORE -> Migrate an existing Terraform State

    • 最終的な画面になる
  • 最終的な画面
    Last

    • Create an Organizationをクリックする
      Create an Organization
      • 戻る

Discussion