terraform

CircleCIのyamlのメモと、TerraformをCircleCIでapplyするメモ

目的 GitHubにpushしたソースをCircleCIを用い、Terraformをapplyしたい Terraformをapplyする際にはユーザの確認を行いたい 参考 まさにこのページがそれでした(公式のサンプル) learn.hashicorp.com 準備 特定のGitHubリポジトリを作る CircleCIに作成し…

terraformで特定のmoduleだけapplyする方法メモ

結論 $ terraform apply -target=module.s3 module追加しているときにはモジュールのインストールしないといけない(エラーメッセージでる) $ terraform init おまけ : S3の静的ホスティングのterraform main.tf module "s3" { source = "./modules/s3" app…

AWS documentDBにLambdaから書き込むメモ(terraform)

目的 documentDBにLambdaから書き込みたい 構成はterraformにて行う LambdaのVPC接続について VPC接続 LambdaはVPC接続して動かすという方法がある模様 LambdaがVPC(自分で作ったVPC)にアクセスして動作するイメージ 利点 VPC内のエンドポイント等にLamda…

terraformでfileを相対パス記載する

terraform version 0.12以上 記載方法 fileを相対パスで指定したい moduleのcertディレクトリにあるファイルを指定したい /path/to/module/cert/sample.pemを指定する resource "aws_iot_certificate" "cert" { csr = file("${path.module}/cert/sample.pem"…

terraformにて、module間で値(variable,outputs)を渡す

0.12のフォーマット 値の受け渡し terraformにて、variableを使って変数を表現するが、 moduleをまたいでの受け渡しをどうするか フォルダ構成の例 ├── main.tf ├── modules │ ├── ec2 │ │ ├── ec2.tf │ │ └── variables.tf │ └── network │ ├── network.tf …

Terraformで、.envのように変数を注入する

terraformにて、任意の変数を外部から注入する terraform.tfvarsという仕組みを使う assume_role = "arn:aws:iam::012345678901:role/AssumeRoleForTerraform" pub_key_value = "ssh key value" といったように、任意の値を書いておく そして、実行時にこの…

IAMのAssumeRoleについて

AssumeRole 権限を移譲するための仕組みのようです。 参考 christina04.hatenablog.com qiita.com 概要 今回は、アカウントAのAWSリソースを、アカウントBが使うというケースをAssumeRoleでやります 例として、以下のアカウントIDだとします。 - アカウントA…