Classi開発者ブログ

教育プラットフォーム「Classi」を開発・運営するClassi株式会社の開発者ブログです。

「Terraform活用大全 - IaCの今。」に登壇してきました

こんにちは、 Classi でソフトウェアエンジニアやってます koki です。
Findy さま主催の「Terraform活用大全 - IaCの今。 Lunch LT」に「Terraform に test コマンドがやってきた」というタイトルで登壇してきました。

イベントのアーカイブ動画は Findy にログインするとイベントページから閲覧できます。

登壇のきっかけ

SNS 経由で Findy さまからお声がけいただきました。 よく Zenn で Terraform に関する記事を書いていたのを見ていただけたようです。
ちょうど最近リリースされたTerraform の test コマンドをキャッチアップしたいと思っていたところだったので、自分の学びのためにも登壇を快諾しました。
これが俗に言う登壇駆動学習ですね。

発表内容

Terraform v1.6 で新しく追加された test コマンドについてご紹介しました。

このアップデートによって、例えば以下のように Terraform のテストを書くことができるようになりました。

# example.tftest.hcl

run "example_test" {
  # `command = apply` にすると実際にリソースを作成して検証することができる
  command = plan
  assert {
    # リソースの attribute をテストする
    # この例の場合は S3 バケット名をテストしている
    condition     = aws_s3_bucket.main.bucket == "example-bucket"
    error_message = "失敗したときのエラーメッセージ"
  }
}

基本的なテストの書き方と実行方法以外にも、次のような機能を簡単にご紹介しました。 詳しくはスライドや参考資料*1をご参照ください。

  • テストファイル用のディレクトリを使う
  • テスト内で変数を設定する
  • Custom Conditions と組み合わせて使う
  • その他できること ( 一部 )
    • プロバイダの設定を上書きする
    • output の値を検証する
    • Data Source を読み込む
    • モジュールを読み込む

また、他の方々の発表もどれも大変参考になる内容でしたので、こちらもぜひご覧ください。

感想

社外のイベントに登壇するのは初めてだったので緊張しましたが、とても楽しかったです。 色々な企業様の事例を聞くことができて大変勉強になりましたし、僕自身も Terraform の新機能にキャッチアップするいい機会になりました。
たとえ個人でも技術記事を書いているとこういう機会をいただけることがあるんだなぁと思いました。 Terraform に関する内容に限らず、今後も継続的に発信していきたいです。

© 2020 Classi Corp.