- Terraformを仕事で使う機会をもらったので、事前学習
- とりあえず、Terraformを動かしてみることを優先した
- そのため、実際に作ったリソースはシンプル(S3バケット1つ)
- 使っていく際に起こりそうなユースケースを考えて確認してみた
- 実施したことを確認したこと単位で記事にmemoしたので、まとめ
実施したこと
※それぞれのリンクで実施したことの詳細を記載しています
- Terraformのインストール
- 開発環境にterraformをinstallするところからスタート
- install方法を確認した
- 【Terraform】S3のdeploy
- まず、terraformを使ってリソースを作成する流れを確認した
- シンプルなS3バケット1つ作成
- 【Terraform】既存S3の取り込み
- Terraformから作成するのではなく、今あるリソースをTerraform化する方法を確認
- 【Terraform】TF管理下S3の再取り込み
- Terraform化して管理しているリソースを手動で変更した場合、変更をTerraformに反映させる方法を確認した
- 取り込みの時とほとんど同じ流れ
- 【Terraform】importブロックを試してみた
- Terraformに取り込む作業が不便に感じた
- 根幹の部分を手作業で実施する必要があった
- 調べたら、不便に感じた部分を自動的に実施する機能が実験的にリリースされていることが分かったので、試してみた
memo
- 開発の流れはTerraform先行の方がスムーズに感じる
- リソースを手作業で作成した後に取り込むのは大変
- Terraform化することが前提なら、tfファイルを先に作成して、それをデプロイして開発を進める方がスムーズ
- 例えば試作段階からの開発でも、試作完了した段階でTerraformができている状態になるので、ステージの移行も楽になる
- 変数化やモジュール化はあらかじめしておくよう、気をつけたい
- 今回は使いそうなケースをシンプルな構成で実施した
- 変数化やモジュール化など、実践で使用する上で必要なところを今後意識して使ってみたい
- チームのプロジェクトで使用する上ではTerraform Cloudが非常に有効だと感じた
- gitとの連携やtfstateファイルの管理など、チームでの管理上コンフリクトが起こりやすいポイントが多々ある
- Terraform Cloudを使用すると、それらのポイントが解消できそう
- Terraform Cloudでの開発の流れも確認しておきたい
コメント