简介
Terraform是一种安全有效的基础架构自动化的编排工具,与AWS Cloudformation 类似,不过Tf 更加灵活,支持更为广泛。以下是terraform 的资料连接及文档中提及的配置文件:
Providers:https://www.terraform.io/docs/providers/index.html。
AWS Provider:https://www.terraform.io/docs/providers/aws/index.html
GitHub:https://github.com/bigmay/tf_aws_module2
AWS 资源创建都可以使用代码进行编写配置文件,然后执行plan 进行校验配置文件是否有误,在执行无误的情况下执行“terraform apply”进行资源创建。
Terraform 的执行操作流程
![](https://img.haomeiwen.com/i3784077/9d8dd3ac90812240.png)
创建VPC Module
Network.tf 配置
![](https://img.haomeiwen.com/i3784077/a08c18dfef4ddc60.png)
![](https://img.haomeiwen.com/i3784077/a531c9ccdb457a9e.png)
![](https://img.haomeiwen.com/i3784077/8af4f4a87cfb6d7d.png)
vars.tf 变量配置
![](https://img.haomeiwen.com/i3784077/a2ec88bc493be2b8.png)
![](https://img.haomeiwen.com/i3784077/f9b02beec11b7dab.png)
output.tf 变量配置
![](https://img.haomeiwen.com/i3784077/3a256e4da15c4144.png)
创建Security Group Module
sg.tf 配置
![](https://img.haomeiwen.com/i3784077/1c639091d536b3e1.png)
![](https://img.haomeiwen.com/i3784077/90ab2e06c88e6182.png)
![](https://img.haomeiwen.com/i3784077/e98f651fbcaaa199.png)
vars.tf 配置
![](https://img.haomeiwen.com/i3784077/d9fafc7ca37c0af9.png)
output.tf 配置
![](https://img.haomeiwen.com/i3784077/fed643aad46c935a.png)
创建EC2 Module
instances.tf 配置
![](https://img.haomeiwen.com/i3784077/0a96d98b4d8ce56f.png)
![](https://img.haomeiwen.com/i3784077/4408c66dc629f841.png)
output.tf 配置
![](https://img.haomeiwen.com/i3784077/f6db03d97d985bcd.png)
vars.tf 配置
![](https://img.haomeiwen.com/i3784077/d2ffadc52df97b4a.png)
创建Load Balance Module
alb.tf 配置
![](https://img.haomeiwen.com/i3784077/af63472e99e9dc38.png)
![](https://img.haomeiwen.com/i3784077/a31b56ba70f991b7.png)
![](https://img.haomeiwen.com/i3784077/ce988ffbebd3bfd3.png)
output.tf 配置
![](https://img.haomeiwen.com/i3784077/107b324a110889d0.png)
vars.tf 配置
![](https://img.haomeiwen.com/i3784077/822bfead96ba6b49.png)
创建RDS Module
mysql.tf 配置
![](https://img.haomeiwen.com/i3784077/912e53e59943d9e6.png)
![](https://img.haomeiwen.com/i3784077/5ddca0d79b979df8.png)
![](https://img.haomeiwen.com/i3784077/b5fafa8718ea5d3f.png)
output.tf 配置
![](https://img.haomeiwen.com/i3784077/abffc385c2b3e727.png)
vars.tf 配置
![](https://img.haomeiwen.com/i3784077/1e4230bb732b4982.png)
![](https://img.haomeiwen.com/i3784077/074476b54b7dc64b.png)
创建main 文件
main.tf 配置
![](https://img.haomeiwen.com/i3784077/4ad338eeac0252bf.png)
![](https://img.haomeiwen.com/i3784077/3d4e9177492d77df.png)
variable.tf 配置
![](https://img.haomeiwen.com/i3784077/21bbf77f1df4da42.png)
Module 引用其他参数
Module 中引用参数均为各resource 中output 的参数值。
![](https://img.haomeiwen.com/i3784077/c7efb6c81888ee67.png)
Module 引用其他参数示意图。如下,
![](https://img.haomeiwen.com/i3784077/f9fb7bd243ff9a75.png)
1.Resource 创建vpc 资源
2.Output vpc_id
3.定义 vpc_id
4.Module 调用vpc_id
网友评论