*全体の流れ
- HashiCorp株式会社についてのご紹介
- Terraformの活用事例(大枠×2)
- Terraformの活用事例(LT×3)
- 懇親会
*Terraformの活用事例(GMOメディアさん)
パブリッククラウド100台程度の環境でTerraformを使っており、サービスごとにgit管理してそのディレクトリ配下は基本的なフォルダ構成にしているそうです。(productionなど)また、チーム開発に便利な Terraform Enterprise を使ってコードレビューしているそうです。
<Terraform Enterpriseとは>
企業向けに作られた、ITインフラをコードで構成可能にするSaaSのツールのことです。GitHubのように画面で変更履歴の確認やCIでのチェックをすることができます。<特徴>
- VCSと連携できる(GitHubやBitbucketなど)
- tfstateファイルを共有管理できる
- 保存先を定義することができる(S3とか使うと面倒なようです)
- 個人アカウントを作る必要があり、権限を付けられる(read/write/admin)
- チームをworkspaceに紐付けられる
- applyが被らない
- 履歴が追いやすく、誰が修正したかがわかる
- 差分ないとマージされない
- Terraform Registry タグによるバージョニングが使える
- チェックする条件となるポリシーの設定もできる
- 環境変数の設定もできる
<Terraformを使って良かったこと>
- コードレビュー文化が取り入れられた
- インフラエンジニア以外によるインフラ構築が可能になった
- インフラ環境の複製などスピードアップが実現(依頼されたら数時間で可能)
<Terraformでハマったこと>
- 大量のリソースを管理すると遅い
- バージョンアップに追いつくのが大変
*Terraform Enterpriseの紹介(HashiCorpさん)
実際に画面を使ってデモをしながら使い方の説明をしてくださりました。私は使ったことがなかったのですが、とてもわかりやすかったので理解が深まりました。
*Terraform と Azureの活用事例(日本マイクロソフトさん)
Azureとの組み合わせについて詳しく説明してくださりましたが、私はAWSとGCPしか使ったことがなかったので、理解が追いつきませんでしたが、Azureでも活用できるTerraformの便利さを実感しました。*YAMLでかくTerraform(伊藤忠さん)
TerraformはHCLで書くのが一般的なようですが、YAMLで書く方法を教えてくださりました。AncibleのGolang版みたいなHenchmanというオートメーションツールがあり、これはYAMLで書くことができるようです。
また、ServerspecのGolang版みたいなGossというサーバ自動テストツールがあり、これもYAMLでテストを書くことができるようです。
私としては、どうしてもYAMLで書きたいという強い気持ちはなかったのですが、JSONやHCLと比較すると簡潔になるので良いかもしれないと思いました。
*InSpecを使ったTerraformのテスト(楽天さん)
Terraformのバージョンあがったときは注意が必要なので、テストが重要になってきますが、InSpecを使ってTerraformをテストしているようです。InSpecとはChef社が開発しているOSSのインフラテストツールで、inspecコマンドでテストを実行させることができるそうです。
*参加してみた感想
私はまだあまりインフラに詳しくないので、説明のなかでわからないことが多々ありましたが、世間のインフラ事情を知ることができ、非常に勉強になりました。Terraformは個人的に試した程度で、会社でうまく活用できないかと考えていたのですが、規模の大きい会社向けという印象を受けました。もし使う場合は、バージョンアップの対応が大変そうなので注意が必要そうです。また、Terraform Enterpriseは知らなかったのですが、チーム開発をする場合は非常に便利そうでした。
懇親会には参加していないですが、またの機会に参加してみたいと思います。
開催してくださった皆さま、登壇して説明してくださった皆さま、ありがとうございました。
Sign up here with your email
ConversionConversion EmoticonEmoticon