Pragmatic Terraform on AWSでお勉強〜其の一


技術書展6で頒布されたPragmatic Terraform on AWSの電子版を購入しましたので、手を動かながらのレビューです。
本当は紙で欲しかったのですが開場1時間程度で完売だったとのことですので電子版です。
紙だけの販売だったらTerraformの理解がまた遅れてました。。著者様に心から感謝いたします。

https://nekopunch.hatenablog.com/entry/2019/02/18/225657
https://booth.pm/ja/items/1318735

第1章〜3章、入門編

余計なことが書かれていないので素直に写経。わかんないとこはググりながら進めます。
クレデンシャル?って一瞬なりましたがIAMのアレ(語彙)か、と解決までの時間が短かったのはちょっと嬉しかった。
確かこの辺りは下記記事を参考に設定した気がします、IAMの理解も深まるしセキュアになるしで一読を推奨。

いきなりハマる

が、やはりそう上手くはいかないw
結論はプライベートAWS環境のリソース整理したときにデフォルトのVPCも削除してしまったから、なのですが結構悩みました。

$terraform apply

aws_instance.example: Creating...

Error: Error launching source instance: VPCIdNotSpecified: No default VPC for this user
    status code: 400, request id:

デフォのVPCを作成して再実行し、無事解決!
Dockerの時もそうだったのですが手動でポチポチやってたレガシー勢が進化した感じはとても嬉しいですね。

ちなみに著者様の記事でハマりどころポイントを解説していたのですが、terraform initでもエラーがでらず。
かつ、AWSプロバイダのバージョンは1.6ではなく2.11なのですが動きました。
というか手動でmkdirしてバイナリファイル置いてもinitしたら2.11になるのですが、
この辺りの切り替え手段とか、そもそもAWSプロバイダがなんなのかわからんw!

読み進めて理解が深まったらいいなあ〜。