去年、年末付近に書いた記事の中でterraformを使ってみたいと書いたのがやっと実現出来た。
とりあえず、今回使ったterraformの設定ファイルはこちら。初めて試してみたのでまずい所とかがあるかもしれない。
main.tf
大部分をクラスメソッドさんの記事を参考にさせてもらった。
AWSでTerraformに入門 | Developers.IO
これを機にちゃんとterraform使って環境構築もコードに落としていこうと思う。
VPCやらInternetGatewayやら手動で設定しなくて良くなったのは非常に良い。新たなサービスを作る時に毎回の作業だったのでこれだけでも簡略化されるのは非常にありがたい。早速次のプロジェクトから使っていこう。tfstateファイルのバックアップ先としてs3を選べるのも面白い。
homebrewでインストールされるterraformが0.6系でimportコマンドとかがなかったので本家から0.8.7を落としてインストールすることにした。
既にDigital Oceanでこのブログを公開していたのでRoute53周りはimportコマンドを使って既存の物を取り込んだ。
マップのアクセス方法が変わってたり多少書き換える箇所があったけどほぼ問題なく動作した。
一つハマったのは aws_instance
の associate_public_ip_address
に false
を指定してもなぜかtfstate内でtrueになっていて再度applyを行った際にインスタンスが再作成されてしまうこと。 associate_public_ip_address
の行ごと削除したら解消した。ただ、解消したと言ってもfalseになったわけじゃなくtfstateもmain.tfもtrueの状態になってるというだけ。
さて、次は何を試そう。とりあえず、「ゼロから作るDeep Learning」を読み終えないと。