使用terraform从aws s3下载zip文件

分享于 

2分钟阅读

互联网

 


根据你的需要,可以从S3下载文件有多种方法。

  • 选项1.1.你可以使用remote-exec提供者,这个是MIME不可知的

resource"aws_instance""web" {


 ## [...]



 provisioner"remote-exec" {


 command ="curl -XGET [...]"


 }


}



  • 选项1.2.你可以使用

resource"null_resource""cluster" {


 # Changes to any instance of the cluster requires re-provisioning


 triggers = {


 cluster_instance_ids ="${join(",", aws_instance.cluster.*.id)}"


 }



 # Bootstrap script can run on any instance of the cluster


 # So we just choose the first in this case


 connection {


 host ="${element(aws_instance.cluster.*.public_ip, 0)}"


 }



 provisioner"remote-exec" {


 # Bootstrap script called with private_ip of each node in the cluster


 inline = [


"bootstrap-cluster.sh ${join("", aws_instance.cluster.*.private_ip)}",


 ]


 }


}



  • 选项2.1.你可以使用和数据资源

它可以很好地处理文本文件。


data"aws_s3_bucket_object""secret_key" {


 bucket ="awesomecorp-secret-keys"


 key ="awesomeapp-secret-key"


}



resource"aws_instance""web" {


 ## [...]


 provisioner"file" {


 content = data.aws_s3_bucket_object.secret_key.body


 destination = /tmp/file


 }


}



  • 选项2.2.还可以使用

如果从实例执行命令,或者向角色授予执行IAM角色的适当权限,即执行Terraform



文件  Using  aws  ZIP  terr  terraform  
相关文章