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

简介: Terraform是一种开源工具,用于安全高效地预览,配置和管理云基础架构和资源。阿里云的terraform-provider-alicloud目前已经提供了超过 163 个 Resource 和 113 个 Data Source,覆盖计算,存储,网络,负载均衡,CDN,容器服务,中间件,访问控制,数据库等超过35款产品。本文主要介绍如何使用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

  1. 在cloudshell中使用Terraform
  2. 在本地安装和配置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接口时,需配置审计相关权限(策略内容、角色名称等),详情请参见手动授权日志采集与同步


三、配置日志采集

  1. 创建一个terraform工作目录(文件夹),并在该目录下创建一个名为terraform.tf的文件,文件内容为
resource "alicloud_log_audit" "example" {
  display_name = "tf-audit-test"
  aliuid       = "12345678"
}

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


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

1.png

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


  1. 编辑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


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

2.png

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

3.png

四、其他常用操作

  1. 导入已有审计配置

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

其中exampletf-audit-test用户可自定义修改

4.png

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

注意:

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


  1. 查看当前审计配置

terraform命令:terraform show

5.png


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

terraform命令:terraform plan

6.png

相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
目录
相关文章
|
3月前
|
运维 监控 安全
EventLog Analyzer:高效的Web服务器日志监控与审计解决方案
ManageEngine EventLog Analyzer是一款企业级Web服务器日志监控与审计工具,支持Apache、IIS、Nginx等主流服务器,实现日志集中管理、实时威胁检测、合规报表生成及可视化分析,助力企业应对安全攻击与合规挑战,提升运维效率。
246 0
|
11月前
|
弹性计算 安全 API
长桥科技:通过Terraform自动化为客户提供安全、高效的产品服务体验
长桥科技通过采用Terraform加速业务上线,实现云资源的高效管理。作为一家金融科技公司,长桥为证券、资管等机构提供数字化解决方案。其SRE团队利用Terraform构建CICD流程,自动化配置云资源及应用配置,简化了基础设施管理,提升了开发效率。通过模块化和自动化部署,新租户的配置从一天缩短至20分钟,显著减少了人力成本和操作复杂度。此外,长桥还遵循编程规范,确保代码的可测试性和复用性,进一步优化了云上基础设施的构建与管理。
|
7月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
836 54
|
11月前
|
存储 监控 安全
日志审计是什么?为什么企业需要日志审计?
日志审计是对信息系统中产生的日志进行收集、分析和存储的过程,记录系统活动如用户登录、操作行为等。企业通过日志审计可满足合规要求(如金融、医疗行业的法规),及时发现安全威胁(如异常登录、数据泄露),并为事故调查提供依据。工具如EventLog Analyzer能帮助企业生成合规报表,确保符合PCI DSS、HIPAA等标准,并支持实时监控与存档分析,保障网络安全与数据隐私。
812 2
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
376 9
|
9月前
|
数据采集 运维 监控
数据采集监控与告警:错误重试、日志分析与自动化运维
本文探讨了数据采集技术从“简单采集”到自动化运维的演进。传统方式因反爬策略和网络波动常导致数据丢失,而引入错误重试、日志分析与自动化告警机制可显著提升系统稳定性与时效性。正方强调健全监控体系的重要性,反方则担忧复杂化带来的成本与安全风险。未来,结合AI与大数据技术,数据采集将向智能化、全自动方向发展,实现动态调整与智能识别反爬策略,降低人工干预需求。附带的Python示例展示了如何通过代理IP、重试策略及日志记录实现高效的数据采集程序。
451 7
数据采集监控与告警:错误重试、日志分析与自动化运维
|
10月前
|
存储 SQL 关系型数据库
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log、原理、写入过程;binlog与redolog区别、update语句的执行流程、两阶段提交、主从复制、三种日志的使用场景;查询日志、慢查询日志、错误日志等其他几类日志
838 35
MySQL日志详解——日志分类、二进制日志bin log、回滚日志undo log、重做日志redo log
|
10月前
|
存储 缓存 关系型数据库
图解MySQL【日志】——Redo Log
Redo Log(重做日志)是数据库中用于记录数据页修改的物理日志,确保事务的持久性和一致性。其主要作用包括崩溃恢复、提高性能和保证事务一致性。Redo Log 通过先写日志的方式,在内存中缓存修改操作,并在适当时候刷入磁盘,减少随机写入带来的性能损耗。WAL(Write-Ahead Logging)技术的核心思想是先将修改操作记录到日志文件中,再择机写入磁盘,从而实现高效且安全的数据持久化。Redo Log 的持久化过程涉及 Redo Log Buffer 和不同刷盘时机的控制参数(如 `innodb_flush_log_at_trx_commit`),以平衡性能与数据安全性。
492 5
图解MySQL【日志】——Redo Log
|
9月前
|
监控 Java 应用服务中间件
Tomcat log日志解析
理解和解析Tomcat日志文件对于诊断和解决Web应用中的问题至关重要。通过分析 `catalina.out`、`localhost.log`、`localhost_access_log.*.txt`、`manager.log`和 `host-manager.log`等日志文件,可以快速定位和解决问题,确保Tomcat服务器的稳定运行。掌握这些日志解析技巧,可以显著提高运维和开发效率。
974 13

相关产品

  • 日志服务
  • 推荐镜像

    更多