Help us understand the problem. What is going on with this article?

実践Terraformを写経してみたらよかったって話

実践Terraform AWSにおけるシステム設計とベストプラクティスのコードを写経してみたらよかったので感想をば。

実践Terraformを読んだ動機

本書は、Terraformを使ってAWS上にシステムを構築するノウハウを、200以上のサンプルコードとともに紹介する、Terraform初級者から中級者向け解説書です。

引用元:実践Terraform AWSにおけるシステム設計とベストプラクティス, https://nextpublishing.jp/book/10983.html, (検索年月日:2020年1月20日)

この本は上記紹介文にあるようにAWSとTerraformについて学べる本です。
AWSは自社で利用されているので理解を深めたかったというのと、Terraformは前から興味があったのでやってみました。

以下のものを構築するので、個人でサービスを作るときにTerraformでコード化しておけば、さっとインフラを作れそうだというのもやる動機となりました。

  • MultiAZ環境
  • LoadBalancer
  • アプリやバッチをコンテナで実行できるECS
  • RDSやインメモリデータストア
  • GitHubと連携しているCI/CD環境

感想

自分はTerraformもAWSもちょっと触ったことがある程度の経験しかありませんでした。

  • Terraform:Get Startedをちょっとやった。
  • AWS:業務で使っているけど、構築はインフラチームの人がやってもらっているのもあってしっかり理解しているかは怪しい。

という感じです。まあほとんど初心者ですね。

写経してみた結果とても学べることが多い良書でした。

  • TerraformもAWSも丁寧に説明があり、ひとつひとつの章、節は短くまとめてくれている。
  • 説明に対して細かくサンプルコードがあり、どれもちゃんと実行できる。
  • 説明を読んではコードを書いて実行できるため、読んだ内容理解できているか細かい頻度で確認しながら進められる。
  • AWSを使ったwebサービスの基本的なアーキテクチャを設計から学べられる。

という点がよかったです。

わがままをいうと

良い本だったとはっきり言えるのですが、わがままを言うと以下の点が改善されたらさらによいなと思いました。

  1. サンプルコードでリソース名やデータ名など名前をつけるところがほぼexampleとなっているため、コードのどことどこが一致していなければいけないのかということは、本の文章を注意深く読まないとすぐにわからなかった。

  2. よく作られそうなアーキテクチャで環境構築をできるようになっているのはとてもよい。LoadBalancerを立てて、ECSでコンテナを実行して、RDSやインメモリデータストアをたてる。ただ、LoadBalancerでリクエストを受けて、アプリが実行されてRDSを更新とかそういう連動するところまでは実施しない。実施されていたらより実用的だなと思いました。(GitHubと連携したCI・CD環境も構築するけど、実行するところの詳細までは書いていなかった。)

読んでどうなった?

TerraformについてはAWSプロバイダーで書かれたコードならある程度読めるようにはなったかなと。あとはひたすら書いていけば身につきそうです。
ただ、わがまま2の点で書いたとおり写経してできたコードは欲しかったインフラを構築できるではありませんでした。しかし、そういうものを作ろうとしたらあとどうすればよいのか?とイメージはできるぐらいになりました。

AWSについてはVPCやEC2、Route53、S3、ELB、ECSなど各サービスの理解は深まったと思います。たとえばVPCであれば、サブネットやインターネットゲートウェイなど、どういう構成要素があって、どう関連しているかわかったかなと。
ただ、改めてAWSコンソールでVPCを作ると戸惑うところはあるので、AWSコンソールで作るのは別で練習したほうがよいなと思いました。

TerraformもAWSもある程度知識を得られて、あとは手を動かしていけば使いこなせるようになれそうでした。一冊で2つの技術についてこの段階までいけるのはとても価値ある本でした。

これからどんどんどちらも使っていこうと思います!!

著者の野村 友規さん @tmknom に感謝!!

2020/01/25:追記
学びになったことはこちらに、ハマったことはこちらに書いてみました。
こちらも読んでいただいて参考になれば幸いです。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした