当前位置:主页 > 查看内容

使用Terraform玩转SLS日志审计自动化部署

发布时间:2021-07-23 00:00| 位朋友查看

简介:背景1.?什么是Terraform Terraform是一种开源工具 用于安全高效地预览 配置和管理云基础架构和资源。Terraform的命令行接口 CLI 提供一种简单机制 用于将配置文件部署到阿里云或其他任意支持的云上 并对其进行版本控制。 ? 阿里云作为国内第一家与?Terraform……
背景1.?什么是Terraform

Terraform是一种开源工具 用于安全高效地预览 配置和管理云基础架构和资源。Terraform的命令行接口 CLI 提供一种简单机制 用于将配置文件部署到阿里云或其他任意支持的云上 并对其进行版本控制。

?

阿里云作为国内第一家与?Terraform?集成的云厂商 terraform-provider-alicloud目前已经提供了超过?163?个?Resource?和?113?个?Data?Source 覆盖计算 存储 网络 负载均衡 CDN 容器服务 中间件 访问控制 数据库等超过35款产品 已经满足了大量大客户的自动化上云需求。

2.?Terraform的优势将基础结构部署到多个云

Terraform适用于多云方案 将类似的基础结构部署到阿里云、其他云提供商或者本地数据中心。开发人员能够使用相同的工具和相似的配置文件同时管理不同云提供商的资源。

?

自动化管理基础结构

Terraform能够创建配置文件的模板 以可重复、可预测的方式定义、预配和配置ECS资源 减少因人为因素导致的部署和管理错误。能够多次部署同一模板 创建相同的开发、测试和生产环境。

?

基础架构即代码 Infrastructure?as?Code

可以用代码来管理维护资源。允许保存基础设施状态 从而使您能够跟踪对系统 基础设施即代码 中不同组件所做的更改 并与其他人共享这些配置?。

?

降低开发成本

您通过按需创建开发和部署环境来降低成本。并且 您可以在系统更改之前进行评估。


安装和配置Terraform在cloudshell中使用Terraform
在本地安装和配置Terraform


使用Terraform配置日志审计操作步骤一、配置身份信息以及日志审计服务的中心化区域

在环境变量中配置用户身份信息以及日志审计服务的中心Project所在区域

export ALICLOUD_ACCESS_KEY LTAIUrZCw3******** 
export ALICLOUD_SECRET_KEY zfwwWAMWIAiooj14GQ2************* 
export ALICLOUD_REGION cn-huhehaote 

?

二、操作RAM授权

使用Terraform调用RAM接口完成RAM授权 接口详情请参见alicloud_ram_policy。在调用RAM接口时 需配置审计相关权限 策略内容、角色名称等 详情请参见手动授权日志采集与同步


三、配置日志采集创建一个terraform工作目录 文件夹 并在该目录下创建一个名为terraform.tf的文件 文件内容为
resource alicloud_log_audit example {
 display_name tf-audit-test 
 aliuid 12345678 
}

上述文件内容中 example 以及 tf-audit-test 用户可自定义 aliuid填写用户自己的阿里云主账号ID。


在上一步创建的工作目录下执行terraform?init来初始化terraform工作目录

1.png

执行完毕后 提示“Terraform?has?been?successfully?initialized!”代表初始化成功


编辑terraform.tf文件 填写日志审计服务的相关参数 以此配置日志采集。配置样例如下
resource alicloud_log_audit example {
 display_name tf-audit-test 
 aliuid 12345678 
 variable_map {
 actiontrail_enabled true ,
 actiontrail_ttl 180 
}

上述配置表示开启操作审计 Actiontrail 日志的采集 存储时长 ttl 为180天。

?

用户还可以配置多账号采集 其配置样例如下

resource alicloud_log_audit example {
 display_name tf-audit-test 
 aliuid 12345678 
 variable_map {
 actiontrail_enabled true ,
 actiontrail_ttl 180 
 multi_account [ 123456789123 , 12345678912300123 ]
}

其中multi_account的值是要采集的多账号的阿里云主账号ID列表。

terraform中日志审计采集配置的完整参数列表参考 Terraform-Aliyun?Log?Audit


执行terraform?apply 使terraform.tf中的采集配置生效

2.png

输入yes确认应用配置 如果提示Apply?complete则表示采集配置应用成功 日志审计服务会按照配置进行日志采集和存储。

3.png

四、其他常用操作导入已有审计配置

terraform命令 terraform?import?alicloud_log_audit.example?tf-audit-test

其中example和tf-audit-test用户可自定义修改

4.png

执行完毕后 查看terraform工作目录下terraform.tfstate文件内容 即是导入的配置。

注意

如果想要将terraform?import导入的配置迁移到terraform.tf配置文件中 需要手动拷贝过去 并对格式作适当调整 满足配置文件的格式要求。
如果当前terraform工作目录已经执行过terrraform?apply或者terraform?import 此时执行terraform?import会失败 需要将当前目录下的terraform.tfstate文件删除后再重新导入。


查看当前审计配置

terraform命令 terraform?show

5.png


查看当前terraform工作目录下的terraform.tf配置文件与已生效(apply)的配置的差异 资源预览

terraform命令 terraform?plan

6.png


本文转自网络,原文链接:https://developer.aliyun.com/article/785651
本站部分内容转载于网络,版权归原作者所有,转载之目的在于传播更多优秀技术内容,如有侵权请联系QQ/微信:153890879删除,谢谢!

推荐图文

  • 周排行
  • 月排行
  • 总排行

随机推荐