はじめに
本記事ではTerraformと最悪な出会いを果たした私が「もしかするとなんとなく読めるかもしれない」となるまでの軌跡を振り返ります。
なお、本記事に技術的要素はなく、Terraformの名を借りたポエムという位置付けで捉えていただくとよさそうです。
それでは出会いから振り返っていきましょう。
Terraformと私
出会い
数年前に面接で面接官に触ってみるといいよと言われたのが始まりです。
この時の私は見よう見まねでなんとか手動でAWSのVPC/EC2/RDSあたりを立ち上げられるかな?というレベルで、IaCについてはよくわかっていませんでした。
とはいえその会社に入社が決まったこともあり、「ちゃんと触っていかなきゃ」と意気込みます。
ハンズオン形式の記事を読みながらなんとかapplyしてみるものの、「ところで今何をやってたんだっけ?」状態で…
これによって私の中でTerraformは「なんだかよくわからないけど面倒なやつ」という位置付けに昇格してしまいました…南無…
再会
ちょっと前に、研修という名目でアプリケーションのインフラ環境を構築する機会があり、ここでTerraformと久しぶりの再会を果たします。
もちろんめちゃくちゃ抵抗がありました、最悪な出会いを果たしていますからね…
しかし、ここまでにネットワークの知識やAWSの知識を幾らか身につけており、かつ社内に潤沢な知識を持った方もいていつでも聞くことができたり、見本とする環境もあったりで、以前ほどの抵抗はないかも…?と思えてきます。
進める中でもさまざまな便利さを感じていきます。
例えば、手動でやっているとどこに何を立ち上げたかわからなくなってきますし、ひとつひとつパラメータをどう設定したか、いちいち管理していられませんが、Terraformではソースコード上でこれらを管理することができます。
ちょっと変更したいという時にも、わざわざAWSのマネジメントコンソールからリソースを探して変更して…というような作業をする必要もありません。
いくつかの環境をまとめて消したり立ち上げたりがコマンド一つでできるのも感動的でした。
そして環境ができた頃にはこう思うのです、次に環境を作る際もTerraformを使いたい…と。
反省
久しぶりの再会が素敵なものになってよかったですね。
でもなぜ最悪な出会いとなってしまったのでしょうか?
以下のような反省点が挙げられます。
- そもそもTerraformの前に足りてない知識が色々あった
- どんな構成を作りたくて、それには何が必要なのか、そしてなぜIaCが便利なのかを理解せず触っていた
書くまでもない当たり前のことのような気がしてきましたが、少なくとも私は出会いの時点でこれらを認識できていなかったのです。
Terraformに触れてみたいあなたへ
触れてみることは素晴らしいと思います、世の中に教材は溢れかえっていますし、好奇心がきっと一番の原動力だと思います。
ですが、理解を深めることが目的なのであれば、まずはネットワークの知識を身につけたり、作りたい環境をそもそも手動で作れる状態を目指す方が良いと思います、少なくとも自分はそうでした。
とはいえ、あえて最悪な出会いを果たしたことでより再会が感動的になったというのも事実です、時に遠回りをすることも悪くないのかもしれません。
終わりに
今回、Terraformと私の軌跡と呼ぶには浅すぎる軌跡を辿ってみましたが、これらの気づきはTerraformに限らず全ての学習において言えることなのではないかと思います。
それはすなわち自分の現在地を知ること、何がわかっていて何がわかっていないのか、そしてなぜ学ぶのか、これらを把握することが大事で、これにより学習がより有意義なものになるのではないでしょうか。