根据文档,要使用s3而不是本地terraform.tfstate文件来存储状态,应按以下方式或多或少地配置后端:
terraform {
backend "s3" {
bucket = "my-bucket-name"
key = "my-key-name"
region = "my-region"
}
}
Run Code Online (Sandbox Code Playgroud)
我曾是
terraform.tfstate)文件provided.tf文件中添加了以上代码段terraform init...到目前为止,一切都很好...
但是随后出现了这个令人困惑的部分terraform_remote_state...
我为什么需要这个?
现在我的状态不是已经远程保存(在上述s3存储桶中)了吗?
Bra*_*ler 13
terraform_remote_state不是用于存储状态,如果有输出,则可以在另一个地形计划中进行检索。它是一个数据源。例如,如果您以一种状态输出弹性IP地址:
resource "aws_eip" "default" {
vpc = true
}
output "eip_id" {
value = "${aws_eip.default.id}"
}
Run Code Online (Sandbox Code Playgroud)
然后想在另一种状态下检索它:
data "terraform_remote_state" "remote" {
backend = "s3"
config {
bucket = "my-bucket-name"
key = "my-key-name"
region = "my-region"
}
}
resource "aws_instance" "foo" {
...
}
resource "aws_eip_association" "eip_assoc" {
instance_id = "${aws_instance.foo.id}"
allocation_id = "${data.terraform_remote_state.remote.eip_id}"
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2988 次 |
| 最近记录: |