

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

# 用于基础架构配置的 DPA
<a name="dpa-for-infrastructure"></a>

在 DPA 版本 1.0.0 中，提供了基础架构配置管道的 plug-and-play模板。这些模板遵循 DevOps 最佳实践，例如内置安全控制、自动部署、版本控制和对象管理。

本节介绍如何使用 DPA 为基础设施即代码 (IaC) 工具实现集中式管道模板。DPA 支持广泛使用的 IaC 工具，例如 Terraform、和。 AWS CDK CloudFormation这些模板可以很容易地与 CI/CD 服务和工具配合使用，例如 AWS CodePipeline 和 CI/CD。 GitLab 

下图显示了用于基础架构配置的 DPA 架构。您可以使用 CI/CD 管道模板通过 Terraform、、和来配置基础架构。 CodePipeline AWS CDK



![\[用于基础设施配置的 DPA 架构。\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/devops-pipeline-accelerator/images/DPA-building-blocks-iac.png)


下图显示了基于 Terraform 的应用程序的参考管道，该管道消耗 Terraform 入口点。在部署后阶段结束时，代码进入发布管道，用于部署到暂存和生产环境。



![\[基于 Terraform 的应用程序的参考管道\]](http://docs.aws.amazon.com/zh_cn/prescriptive-guidance/latest/devops-pipeline-accelerator/images/DPA-reference-pipeline-terraform.png)


使用 DPA 进行基础架构配置时，请注意以下几点：
+ 存储库中发生的事件类型会影响管道的构建。例如，`pull`请求不向配置资源 AWS Cloud。但是，当`pull`请求合并到主分支时，管道会将资源提供给。 AWS Cloud
+ 在Terraform管道开始部署之前，该管道使用安全扫描工具（例如 [tfsec](https://aquasecurity.github.io/tfsec/v1.28.4/)、[Checkov](https://www.checkov.io/1.Welcome/What%20is%20Checkov.html) 和T [errasc](https://runterrascan.io/docs/) an）来应用安全控制。[对于 CloudFormation，该管道还使用 [cfn\$1nag 和 cfn-lin](https://github.com/stelligent/cfn_nag) t。](https://github.com/aws-cloudformation/cfn-lint)对于 AWS CDK，该管道还使用 [cdk-](https://github.com/cdklabs/cdk-nag) nag。
+ DPA 会创建专用 Docker 镜像并将其托管在 Amazon ECR 存储库中。这些 Docker 镜像包含工具，例如 Terraform CLI 和 Toolki AWS CLI t。 AWS CDK 无论您选择哪种 CI/CD 解决方案，管道都会在运行时使用这些工具。