terraform

Rubyやgit-gsubを使って正規表現で複数行を置換する

150個を超える *.tf をまとめて編集する方法を調べたので、備忘録としてまとめておく。 経緯 Terraformのコードを複数ファイルにすべきか、それとも1つのファイルにすべきか難しいな。hclをパースして、hclを書くプログラムを書いた方が良いのかなぁ...— 神…

Railsの DATABASE_URL で指定できるパスワードの文字種

Railsアプリケーションを動かすAWSリソースをTerraformで作る場合、random_password を使ってDBパスワードを生成します。 しかし、 DBパスワードに一部の記号が含まれていると環境変数 DATABASE_URL で渡す際に URI::InvalidURIError が発生してしまうため、…

ECSを運用で使っていて難しいと思った点

ECSを触っていて今まで難しいと思ったことを雑にまとめておく。 ECSを仕事で運用するときに必要な知識が多すぎる。こんなの社内に1人AWSマスターいないと無理だ...— 神速 (@sinsoku_listy) 2021年8月10日 タスクロールとタスク実行ロールの違い ECSを長く触…

Herokuでカスタムドメイン(ルートドメイン)を使うためにCloudFrontを設定する

Route53で取得したカスタムドメインをHerokuで使うためにCloudFrontの設定をしたのでブログに書いておく。 コード例は foo.herokuapp.com で動くアプリケーションを foo-example.com でアクセスできるようにする設定です。 AWS側の設定 CloudFrontで使うacm…

AWSのmfaが必要なコマンドを簡単に実行する

先日、Terraformで AssumeRole + MFA を簡単にする方法を書きました。 sinsoku.hatenablog.com ブログを書いたあとにもっと汎用的にできる案を思いついたので、更に改良した。 以下のスクリプトを ~/bin/mfa のようにパスが通った場所に置いてください。 #!/…

TerraformでAssumeRole + MFAを簡単に実行する

追記: 以下の記事の方法を使った方が楽かも。 sinsoku.hatenablog.com Terraformを普通に使うとAssumeRole + MFAが面倒なので、ラッパースクリプトを書いた。 これを ~/bin/mfa_terraform とかに置けば良い。 #!/bin/bash set -e # It generates json referr…