

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 最佳实践
<a name="best-practices"></a>

使用 Terraform 自动执行 DevOps 任务时，请遵循以下准则。 AWS

该做什么：
+ `terraform_data`用于自定义脚本和供应器。
+ 使用触发器来控制资源的重新创建。
+ 为复杂的设置任务实现`local-exec`置备程序。
+ `depends_on`用于显式依赖关系管理。
+ 存储等性运算的状态。
+ 在脚本中实现正确的错误处理。
+ 为了安全起见，对输入进行验证和消毒。
+ 用于故障排除的日志输出。
+ 使用连接块进行远程执行。
+ 使用实现功能时`terraform_data`，请将其视为临时解决方案。定期检查提供商是否为该功能添加了原生支持。当提供商为您的`terraform_data`实现引入原生功能时，请切换到提供商的官方解决方案。

不该做什么：
+ 不要过度使用`terraform_data`作为主要资源管理工具。
+ 避免将敏感信息直接存储在脚本中。
+ 不要忽视置备程序中的错误处理。
+ 避免使用复杂、长时间运行的脚本。不要创建具有多重职责和工作流程过于复杂的空资源。
+ 不要创建不必要的依赖关系。遵循状态管理原则，在代码中仅添加必要的触发器和`depends_on`条件。
+ 不要`terraform_data`用于核心基础架构管理。不要用自定义资源取代标准资源管理。
+ 不要对凭据或敏感数据进行硬编码。
+ 不要忽视安全最佳实践。
+ 不要跳过输入验证。