Skip to content

aleck31/aws-resource-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

AWS Resource Tracker

一个用于监控和跟踪AWS资源创建和删除操作的解决方案,包含Web界面用于查看历史记录。

功能特点

  • 自动捕获AWS资源的创建和删除事件
  • 将事件数据存储在DynamoDB中以便长期查询
  • 提供简单的Web界面用于查看和筛选资源事件
  • 支持按资源ID、资源类型和事件类型进行筛选

文件说明

  • resource-tracker-template.yaml: 资源跟踪后端CloudFormation模板
  • resource-tracker-web-ui.yaml: Web界面CloudFormation模板

架构

该解决方案由两个主要部分组成:

  1. 资源跟踪后端

    • CloudTrail捕获API调用
    • EventBridge规则筛选资源创建/删除事件
    • Lambda函数处理事件并存储到DynamoDB
  2. Web界面

    • S3托管的静态网站
    • API Gateway提供REST API
    • Lambda函数查询DynamoDB数据

部署指南

前提条件

  • AWS账户
  • AWS CLI已配置
  • 启用了CloudTrail

部署步骤

  1. 部署资源跟踪后端
aws cloudformation deploy \
  --template-file resource-tracker-template.yaml \
  --stack-name resource-tracker \
  --capabilities CAPABILITY_IAM
  1. 部署Web界面
# 获取DynamoDB表名
TABLE_NAME=$(aws cloudformation describe-stacks --stack-name resource-tracker --query "Stacks[0].Outputs[?OutputKey=='DynamoDBTableName'].OutputValue" --output text)

# 部署Web界面
aws cloudformation deploy \
  --template-file resource-tracker-web-ui.yaml \
  --stack-name resource-tracker-web-ui \
  --capabilities CAPABILITY_IAM \
  --parameter-overrides DynamoDBTableName=$TABLE_NAME
  1. 获取Web界面URL
aws cloudformation describe-stacks \
  --stack-name resource-tracker-web-ui \
  --query "Stacks[0].Outputs[?OutputKey=='WebsiteURL'].OutputValue" \
  --output text

使用指南

  1. 访问Web界面URL
  2. 使用筛选器查找特定资源事件:
    • 按资源ID搜索特定资源
    • 按资源类型筛选(EC2、RDS、S3等)
    • 按事件类型筛选(创建、删除、修改)

自定义和扩展

添加更多资源类型

编辑Lambda函数中的determine_resource_typeextract_resource_id函数,添加更多资源类型的处理逻辑。

增强Web界面

可以通过修改S3存储桶中的HTML/CSS/JavaScript文件来增强Web界面功能。

安全注意事项

此示例没有实现身份验证。在生产环境中,建议:

  • 添加Amazon Cognito用户池进行身份验证
  • 实施更严格的IAM权限
  • 考虑加密敏感数据
  • 限制API访问

清理资源

删除CloudFormation堆栈以清理所有资源:

aws cloudformation delete-stack --stack-name resource-tracker-web-ui
aws cloudformation delete-stack --stack-name resource-tracker

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors