从本文档起,作者计划在AWS上做一系列DevOps/IaC相关实验,本文是第三篇,使用Terraform创建Web应用基础架构。
本次实验架构图
本次实验架构图如下:
Terraform代码
本次代码可以从下载
代码结构如下:
文档如下:
$ ll
total 52
-rw-r--r-- 1 ec2-user ec2-user 3201 Mar 6 03:22 appserver.tf
-rw-r--r-- 1 ec2-user ec2-user 1761 Feb 16 04:57 appserver_var.tf
-rw-r--r-- 1 ec2-user ec2-user 2402 Mar 6 03:28 elb.tf
-rw-r--r-- 1 ec2-user ec2-user 870 Feb 16 08:15 elb_var.tf
-rw-r--r-- 1 ec2-user ec2-user 2282 Mar 6 03:25 jumpserver.tf
-rw-r--r-- 1 ec2-user ec2-user 1772 Feb 16 03:43 jumpserver_var.tf
-rw-rw-r-- 1 ec2-user ec2-user 339 Mar 6 02:30 main.tf
-rw-rw-r-- 1 ec2-user ec2-user 1779 Feb 16 10:02 rds-mysql.tf
-rw-rw-r-- 1 ec2-user ec2-user 522 Feb 16 05:19 rds-mysql_var.tf
-rw-r--r-- 1 ec2-user ec2-user 1140 Mar 6 03:32 variable.tfvars
-rw-r--r-- 1 ec2-user ec2-user 4796 Mar 6 02:32 vpc.tf
-rw-r--r-- 1 ec2-user ec2-user 524 Feb 13 03:29 vpc_var.tf
执行Terraform代码
输入以下代码进行初始化设置
terraform init
输入以下命令检查代码以及预计的输出是否符合预期
terraform plan --var-file=variable.tfvars
输入以下代码进行部署
terraform apply --var-file=variable.tfvars
输入yes确认部署
部署成功会看到如下界面
本例使用带有administrator的IAM role附加在EC2 profile中执行
验证部署
登陆Jumpserver
通过Jumpserver访问APP Server
访问APP-1
访问APP-2
通过APP访问RDS mysql
本实验结束,下一节会进行应用部署以及导入数据。
标签:Web,rw,--,AWS,var,基础架构,user,tf,ec2 From: https://blog.51cto.com/garycloud/6186365