dehio3’s diary

仕事、生活、趣味のメモ

terraform

GitHub Actions で terraform plan/apply をCI/CDしてみた

はじめに 前提条件 作業手順 workflowの作成(plan) Secretsを登録 アクションを実行(plan) workflowの作成(apply) アクションを実行(apply) まとめ はじめに 11/13 の GitHub Univers にて GitHub Actions が一般公開されました! github.blog Terraformで構…

terraformingの代わりになるかも知れないのでterraformerを早速試した

はじめに インストール 構成情報の取得 事前設定 importを試す 全リソースをimportする terraformingの課題解決できる? はじめに クラスメソッドさんが以下の記事を書いていた dev.classmethod.jp AWS環境管理の為に、同じようなterraformingというツール使…

terraformコマンドのコンテナイメージにtfnotifyを追加した

はじめに imageの取得 コンテナ作成&起動 tfnotifyのインストール circleciのconfig.yml (追記)terraformのバージョン次第で、goのバージョンが違うので注意 hashicorp/terraform:0.10.8 hashicorp/terraform:0.11.11 はじめに CIツールでterraformを実行す…

terraformでELBを作ろうとすると「Error creating network Load Balancer: AccessDenied」が出力される

事象 原因 対応 事象 一度もELBを作成したことないAWSアカウントで、terraformでELBを作成しようとすると以下のエラーが発生 Error: Error applying plan: 2 error(s) occurred: * aws_lb.ldap: 1 error(s) occurred: * aws_lb.ldap: Error creating network…

terraformでuser_dataに差分が出てもEC2を再作成させない方法

はじめに 対応 参考 はじめに EC2をterraformで作成するときに、user_dataにてsshの認証方法をldapに変更してる ldapサーバのURL変更など、user_dataで実行しているシェルに変更が入るとEC2が再作成されてしまうので対処したい 対応 aws_instanceにて以下を…

terraformでインラインポリシーとAWS管理ポリシーを適用したIAMロールを作成する

内容 iam.tf 内容 terraformでインラインポリシーとAWS管理ポリシーを適用したIAMロールを作成する場合のtfファイルの記述方法 例としてredashのathena接続用のIAMロールを記載 iam.tf インラインポリシーはaws_iam_role_policyでアタッチ AWS管理ポリシーは…

terraformでIAMインスタンスプロファイルのリソース変更したらOS上で権限情報がうまく反映されない??

環境 事象 原因 対応 環境 AWS環境は全てterraformで構築 docker-composeでloggingにawslogsを使用 CloudWatchへのアクセスはインスタンに設定するIAMロールで許可 事象 terraformでaws_iam_instance_profileのリソース名とnameを変更(権限の内容は何も変更…

lego(Let’s Encryptクライアント)利用時に、他のAWSアカウントのRoute53を自動更新させるためのIAMロールの作成方法

はじめに 前提条件 terraform アカウントAで作成するIAMロール aws_iam_role aws_iam_policy_document aws_iam_role_policy アカウントBで作成するIAMロール aws_iam_role aws_iam_policy_document aws_iam_role_policy 動作確認 参考 追記 はじめに AWS環境…

terraform実行したら「Error: Apply cancelled.」が出力されapplyが失敗した

事象 原因 対応 事象 terraformのバージョンを0.10.8から最新の0.11.11に変更したところ以下のエラーが出力 Do you want to perform these actions? Terraform will perform the actions described above. Only 'yes' will be accepted to approve. Enter a …

terraformでDBサブネットグループを作ろうとすると「Error creating DB Subnet Group: InvalidParameterValue: Missing necessary credentials. 」が出力される

事象 原因 対応 事象 新規のAWSアカウントとで、初めてDBサブネットグループをterraform経由で作成しようとしたところ以下のエラーが発生 * aws_db_subnet_group.db_subnet_group: 1 error(s) occurred: * aws_db_subnet_group.db_subnet_group: Error creat…

CircleCIからterraformを実行する時の事前チェックで「terraform plan」と「tflint」を実行する方法

はじめに 対応 最後に はじめに CircleCIにてAWS環境を構築しているのですが、事前のチェックでtflintも実行させたいと思い対応しました。 tflint知らない方はこちらを参照ください。 sil.hatenablog.com 対応 CIrcleCIのconfig.ymlのplanを実行してたjobに…