Rails
AWS
Terraform

terraformでrailsが動くAWSの環境を作る

ほとんど自分用のメモですが、ローカルだけに保存しておくのも微妙なので、Qiitaにあげておきます。

とあるサービスをリリースした際に使用したTerraformを軽く書き直して、githubにあげました

https://github.com/okbm/terraform-rails

ec2 + rds + https + route53で動くごく普通の構成です。

rubyのインストールはやってますが、railsのインストールは別途必要です。


対応できていないところ


  • 最新のTerraformのバージョンではない


    • 0.11.08で動かしている(現時点での最新は0.11.11)



  • stg対応


    • stgが環境的に存在していない。

    • 0.11.10でworkspaceができたのでそれでやったほうがいいと思います。



  • tfstateをs3で管理するところ


ハマったところ


  • ec2立ち上がった後にRubyのインストール等したいので、remote-execで実行しようとしたけど、インスタンスが起動するまでIPアドレス等がわからないので結局動かない



    • null_resource をつかってec2のwebが立ち上がった後に起動にした



  • 設定を書いて、apply してを繰り返しているとめんどくさくなったので、 dtan4/terraforming: Export existing AWS resources to Terraform style (tf, tfstate)を使って、コンソールで入れたやつを抜いたりした

  • フォルダ構成が未だによくわからない


    • 1ファイル1設定にしてる構成とか見かけたけど、やりすぎな気がするのでまぁ自分がわかりやすいのでいいやと思ってフィーリングでフォルダ掘った