この記事は ジーズアカデミー Advent Calendar 2019 の17日目の記事です。
本日は自分がterraformを習得してきた過程を振り返りながら、こうやったら効率的に習得できると思うことを書いて行きたいと思います!
普段は業務でバックエンドとインフラを担当しており、AWSで構築したインフラをterraformで運用しています。
なので、本記事もクラウドはAWSを使うことを前提としています。
本記事の対象者
本記事は下記の方を対象としています。
- これからAWSなどのクラウドを触ってみようと思っている方
- AWS上でインフラは立てられるけどterraformでのコード化に興味がある方
- devopsに興味のある方
目指すレベル
- terraformでAWS上のインフラをコード化することができる
- terraformのコードを共通化しつつ、production, stagingなど別々の環境を別々の設定で作成できる
- 基礎的なインフラ構成やECSを用いたコンテナオーケストレーションまで独力で実装できる
学習の流れ
自分が考えるterraformの効率的な習得方法は下記です。
- AWSのコンソールで一度インフラを構築してみる
- コンソールで構築したインフラをterraformでコード化する
いきなりterraformから入らないことが重要です。
理由はterraformの実装にはAWSの知識が必要だからです。
AWSのコンソールで設定している各項目とterraformの記載項目が頭の中でマッピングできればterraformの実装は全然難しくないです。
なので、まずはAWSのコンソールで設定しなければならいことを理解することが習得の近道です。
ネットワークや仮想サーバー、DBを立てる時にどんなことを設定しないといけないのかということを理解し、それをterraformでどう記載するのかを理解することが習得の近道だと思います。
学習教材
では、AWSとterraformを始めるにあたって自分が役に立ったと思う書籍を紹介します。
AWSの学習
AWSの入門としておすすめなのがこちら。
読み進めながらインフラを構築できることと、図解が多くてとても読みやすいです。
ルーティングやセキュリティグループの設定などネットワークに関わる部分の説明もわかりやすいのでAWSをこれから始めたい方にはおすすめです。
-
AWS公式ドキュメント
AWSの公式ドキュメントもかなり活用しました。
一番詳しい&信頼できる情報源なので、不明点があればまずはこちらを見てみると良いと思います。 -
AWSエキスパートに直接聞く
あと、自分がよくやっていたのがAWSのエキスパートに直接質問しにいくことです。
目黒にあるAWS LoftはAWSアカウントを持っていれば誰でも入館でき、AWSのエキスパートに無料で質問できます。
参考書にのっていないことなどは一人で悩んでも解決に時間がかかるので、さくっと専門家に聞いた方が効率的に問題解決できます。
terraformの学習
terraformの入門におすすめなのがこちらの1冊です。
この1冊でterraformの環境構築から、コードを共通化しつつstaging, production環境で設定値を変えることや、各種コマンド、ECSでのコンテナオーケストレーションまで説明されています。
これ1冊やっておけば、terraformの基礎は習得できると思います。
terraformの公式ドキュメントは実装例がのっており、非常にわかりやすいです。(英語なのが少しハードルありますが。。)
不明点があったらこちらで調べながら実装するのが良いと思います。
まとめ
自分がこの記事で言いたかったのはいきなりterraformから入らずにAWSの理解から始めるとterraformの習得もスムーズだよ!ということです。
自分がインフラを始める前はインフラってすごく難しそうだなという印象があったのですが、やってみたら意外とやれたので興味のある方は是非トライしてみてください〜。