Terraformで機能ごとにディレクトリを分割してstatefileを管理している想定。今回は新規で元のセキュリティグループを参照する場合は以下の流れになる。
- 参照したい元ディレクトリに
outputs.tf
を作成
1 2 3 |
output "sg_lb" { value = aws_security_group.hoge_lb.id } |
- 参照元でterraform applyを実行し、outputさせる
- 新ディレクトリで参照するbackend.tfに参照したいtfstateを指定する
1 2 3 4 5 6 7 8 9 |
data "terraform_remote_state" "hoge" { backend = "s3" config = { bucket = "hoge" workspace_key_prefix = "hoge" key = "hoge.tfstate" region = "ap-northeast-1" } } |
- 新ディレクトリに参照元のoutputをdataで紐付ける
1 2 3 4 5 |
resource "aws_lb" "hoge" { ~省略~ security_groups = [ data.terraform_remote_state.hoge.outputs.sg_lb ] |
- 新ディレクトリでterraform applyできればOK
Was this helpful?
0 / 1
1989年生まれのFindy/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWSでのインフラ構築、Docker開発環境の提供、IaC、新技術の検証、リファクタリング、セキュリティ強化、分析基盤の運用などを担当している。個人事業主では数社サーバー保守とベンチャー企業のSREインフラコンサルティングやMENTA/TechBullで未経験者にインフラのコーチング/コミュニティマネージャーとして立ち上げと運営をしている。また、過去「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。