出力を入力へ

プログラミングに関する自分が考えた事を中心にまとめます

terraform

terraformでAWS IAM ロールにポリシーを付与するためにmanaged_role_arnsを利用する

terraformでAWS でIAMロールを構築するとき、ロールとポリシーの設定方法として複数の手段がある。 aws_iam_roleのmanaged_policy_arns属性を利用する aws_iam_roleのinline_policy属性を利用する aws_iam_role_policy_attachment を利用する aws_iam_role_p…

go-tfeで単体テスト

go-tfe概要 go-tfeはTerraform Cloud (およびTerraform Enterprise)のためのGo SDK。 go-tfeを利用することで、Terraform Cloudの各種APIを利用したツールを実装することができる。 github.com go-tfeのテスト go-tfeを利用したツールを実装するときに単体テ…

lambda関数のコンテナイメージサポートをterraformで構築する

AWS Lambda関数をコンテナイメージでデプロイする環境をterraformで構築したい。 特にterraformでは対象のコンテナイメージを管理から外したい場合における 初期構築方法について検証する。 検証コードはこちら。 github.com lambda関数によるイメージ指定 L…

Terraform Cloudでリソースインポート時の変数参照

TerraformのバックエンドにTerraform Cloudを利用しているときに リソースインポートでエラーが発生して困っていた。 これについて調べていたら、リソースインポート時の変数参照についていろいろわかったのでそのまとめ。 Terraform 0.15.5で検証。 発生し…

TerraformでAWS ELBリスナーに登録されているターゲットグループを再生成する

やっとのことALBロードバランサをTerraform管理しようとしたら 設定変更や再生成まわりで時間を取られたのでそのまとめ。 ターゲットグループの設定変更の問題 AWSロードバランサにおけるターゲットグループがリスナーとしてロードバランサに登録されている…

Terraform Cloudをterraformで管理する

Terraform CloudにおけるWorkspaceの管理 Terraform Cloudはtfstateの管理だけでなくterraformの実行を管理してくれる. このため,自前でTerraformのCI環境を構築する必要なしに簡単にTerraformを導入できる. 一方で,tfstateの分割単位であるworkspaceが…

TerraformでAWS管理ポリシー/カスタム管理ポリシー混合のロールを作成する

なんで悩んでいたのかわからない. ロールにアタッチするポリシーのうち, AWS管理ポリシーをアタッチする場合は data.aws_iam_policy で対象のarnを指定する, カスタム管理ポシリーをアタッチする場合は resource.aws_iam_policyでポシリーを作成してarnを…

Terraform backendsのパラメータ化にPartial Configurationを利用する

Terraform Backends 対象インフラの状態を管理するtfstateファイルをチーム共有・管理するためにbackendを利用する. www.terraform.io 例えば,AWS S3をバックエンドに利用する例は以下の通り. これによりS3でtfstateファイルを管理できる. terraform { b…