使用 Terraform 将 EC2 实例作为 Web 服务器启动
实验步骤
前提条件
安装 Terraform: 地址
下载仓库代码模版
本实验代码位于
task_ec2
文件夹中。变量文件
variables.tf
在上面的代码中,您将声明,
aws_access_key
,aws_secret_key
和区域变量
。
terraform.tfvars
在上面的代码中,您将定义变量的值。
main.tf
在上面的代码中,您将执行以下任务:
定义 Amazon Linux 2 AMI。
提到使用哪个 SSH 密钥对(已存在于您的 AWS EC2 控制台中)。安全组 ID 是使用将在创建过程中设置的变量自动获取的。
添加了用户数据来安装
Apache
服务器。为 EC2 实例提供了标签。
outputs.tf
,将输出EC2 实例的公有 IP
使用 Terraform 部署
确保您这些文件在同一位置。
通过运行以下命令初始化 Terraform:
terraform init
注意:
terraform init
将检查所有插件依赖项并下载它们。查看生成计划,请运行以下命令:
terraform plan
创建在
main.tf
配置文件中声明的所有资源 ,请运行以下命令:
terraform apply
您将能够看到将要创建的资源,通过输入
yes
批准所有资源的创建。
terraform apply
命令最多可能需要 2 分钟才能创建资源。
检查 AWS 控制台中的资源
确保您位于美国东部(弗吉尼亚北部)us-east-1 区域。
通过单击 AWS 控制台顶部导航到 EC2。
导航到左侧面板上“网络与安全”下的安全组。
您将能够看到安全组名称为
Terraform_Sg
的安全组。
导航到左侧面板上“实例”下的“实例”。
您可以看到创建的实例。您可以检查我们在
terraform
文件中应用的配置,例如密钥对、安全组、实例类型等。
检查 HTML 页面
在
terraform
文件中,我们使用用户数据创建了一个 Apache 服务器并发布了一个 HTML 页面。在浏览器中打开一个新选项卡,然后粘贴所创建的 EC2 实例的公有 IP。
在用户数据中创建的 HTML 内容将显示在页面中。
现在,我们可以说 EC2 实例已安装
Apache
服务器,并且 HTML 内容已正确发布。我们还可以确认安全组允许 HTTP 传入请求。