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 / 0
1989年生まれのSENSYN ROBOTICS/SRE。ホスティングから大規模なアドテクなどのインフラエンジニアとして携わる。現在はサービスの信頼性向上、DevOps、可用性、レイテンシ、パフォーマンス、モニタリング、オブザーバビリティ、緊急対応、AWS/Azureでのインフラ構築、Docker開発環境の提供、Kubernetes保守、インフラコード化、新技術の検証、リファクタリング、セキュリティ強化、エンジニア採用広報などを担当している。個人開発では「夫婦、パートナー向け家事管理サービス/famii」をCakePHPで開発中。副業では数社サーバー保守とベンチャー企業のインフラコンサルティングやMENTAで未経験者にインフラのコーチング/コミュニティの運用を実施している。また、「脆弱性スキャナVuls」のOSS活動もしており、自称エバンジェリスト/技術広報/テクニカルサポート/コントリビュータでもある。