创建应用程序输出及验证

如前所述,output variable使我们的基础设施信息可在命令行上获得,并可向其他Terraform配置公开信息

在我们的用例中,我们希望公开负载均衡器和CloudFront分发的URL,以便我们可以测试我们的应用程序是否已成功部署。

创建输出

  • alb_endpoint_uri - 应用程序负载均衡器统一资源标识符
  • alb_endpoint_url - 应用程序负载均衡器统一资源定位符
  • cloudfront_endpoint_url - CloudFront统一资源标识符

terraform文件夹中打开outputs.tf, 添加以下内容并保存文件

output "alb_endpoint_uri" {
  value = aws_lb.mission_app.dns_name
}

output "alb_endpoint_url" {
  value = "https://${aws_lb.mission_app.dns_name}"
}

output "cloudfront_endpoint_url" {
  value = "https://${aws_cloudfront_distribution.mission_app.domain_name}"
}

outputs.tf文件夹中,我们正在创建三个输出变量来导出应用程序负载均衡器URI、应用程序负载均衡器URL和CloudFront端点URL。

运行命令terraform apply来应用部署

现在我们已经创建了Terraform输出变量

验证部署

假设前一步骤中的所有内容都已成功部署,我们现在应该在终端窗口中看到一些输出,类似于下面显示的内容。

复制 cloudfront_endpoint_url 输出中的值,并在当前浏览器的新标签页中输入:

验证应用程序网页: image-20250102221153058

安全concern

敏感值可能存储在状态文件中。例如,某些资源如 random_password 或 tls_private_key 可能包含敏感值。尽管控制台输出将显示占位符字符(*),但它在状态文件中是明文。

image-20250102221323389

建议的迁移方式是在部署后使用外部内容来存储它,例如aws s3.

销毁应用

运行命令terraform destroy来销毁部署