継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

AWS と Terraform の実践力を磨ける「Pragmatic Terraform on AWS」

タダです。

以前、サンプル版で読んだ「Pragmatic Terraform on AWS」の製品版を読了しました.読了後の感想を今回まとめます.なお、本書の概要や章立ては下記の記事に書いているので気になる方は覗いてみてください.

sadayoshi-tada.hatenablog.com

本書で構成できる AWS 環境

本書は 以下の Docker コンテナの Web サービス環境を構成しながら AWS と Terraform の実装方法を学べます.

f:id:sadayoshi_tada:20190505194201p:plain

また、登場するサービスを列挙すると以下の通りで、構成図からもわかるように AWS のマネージドサービスが幅広く利用されています.

  • VPC,Subnet,RouteTable,Security Groups,NATGateway
  • ALB
  • ACM
  • ECS(Fargate),ECS Scheduled Tasks
  • RDS(MySQL),ElastiCache(Redis)
  • S3
  • Route53
  • IAM,KMS
  • CodePipeline,CodeBuild,CodeDeply
  • SSM Parameter Store,Session Manager
  • Kinesis Firehose
  • CloudWatch Logs

読了後の所感

製品版を読んでみての所感をまとめます.

  • 本書の特徴が、AWS,Terrform のパラメーターを詳細に把握できていなくても読み易く、140ページほどを僕は3時間ほどで読めました.僕は Terraform を少し触ったことがある程度だったので、丁寧な解説のおかげで手を動かしつつスルスル読めました.

    • 5章から16章でAWS のサービスの設定パラメーターを解説後、Terraform での定義方法を細かく解説してくれているため、AWS サービスの理解と、サンプルコードをもとに Terraform での実装を実戦形式で学べます.
  • Terraform の設計、運用管理の情報が17章からまとまっていて、普段 CloudFormation を使っているため Terraform での設計思想や実例を知れて勉強になりました.

    • モジュールの構造化,Terraform のベストプラクティス,Terraform Module Repository への登録が解説されています.
    • 特にモジュールの構造化で大規模サービスになった際のコードの分割の考え方,チーム開発でのtfstateファイルの管理等実戦で生かせる情報が揃っています.
  • Terraform は国内事例も多く便利なため今すぐ導入したくなるかと思いますが、導入することが目的にならないよう本書のコードの設計・管理の章を踏まえて検討するのにも役立つと感じました.

関連資料

  • 手持ちの環境の Terraform のバージョンがv0.11でしたが、次期バージョンのv0.12も入れて試してみたいと思います.著者の@tmknom さんがv0.12での対応も解説してくださっており、本当に丁寧な対応に感謝感謝です.

nekopunch.hatenablog.com

まとめ

Pragmatic Terraform on AWS」読了後の所感をまとめました.2019年5月時点でAWS と Terraform の組合せを学ぶなら本書が最適です.今後v0.12も出てきますので本書を足掛かりに CloudFormation だけでなく Terraform も使えるよう力をつけていければと思います.