Terraform核心概念
configuration language
commands
providers 目标网络及登陆方式(i.e. aws)
state 服务于TFE的数据库
backends 远程存储state的存储桶
provisioners 初始配置者 (i.e. 文件上传, 预装软件)
resource
datasource
Infra as Code
https://aws.amazon.com/cn/blogs/china/aws-china-region-guide-series-terraform1/
main.tf
整合user_data,module,resource 和 output
variable.tf
定义变量, 单一指派
variable.tfvar
定义变量集, 统一指派, 和variable.tf 联合使用
include.tf
定义provider,并指定要在此配置中部署的云。此外,还会读取您的凭据、项目名称和所选区域
aws_variables.tf
声明用于对部署进行参数化和自定义的变量(例如 gcp_region 和 gcp_instance_type)。
aws_compute.tf
定义部署中使用的计算资源(例如 google_compute_instance)
vm_userdata.sh
指定在启动虚拟机实例时要运行的脚本。自动设置 iperf3 测试工具和某些封装容器脚本。稍后利用provisioner模块上传
aws_networking.tf
定义网络资源,包括 google_compute_network、google_compute_subnetwork、google_compute_address、google_compute_vpn_gateway 和 google_compute_vpn_tunnel。
aws_security.tf
定义可允许 GCP 或 AWS 环境中的测试流量的资源,包括 google_compute_firewall 规则和 aws_security_group 资源。
aws_outputs.tf
定义在部署完成时要输出的变量(例如,已部署的虚拟机实例的 external_ip 和 internal_ip)
使用xxx.id
i.e. : aws_vpc.sec_vpc.id
terraform.tfstate
[输出]。指定 Terraform 在云中进行检查之后用于存储客户端资源状态的文件。如需了解详情,请参阅使用 Terraform 管理 GCP 项目。
run_graph.sh
Shell 脚本,用于从 Terraform 生成显示资源依赖项的 PNG 文件。您可以在 images/gcpawsvpn_plan_graph.png 中查看此脚本的输出。