部署你的第一个边缘函数 Lambda@Edge并查看运行日志

更新于2024年1月,创建的函数可使用Nodejs 16/18运行

一、背景

AWS的CDN服务CloudFront在Edge端(边缘侧)具有一定的算力,可运行简单程序满足应用交互需要,这些场景包括:

  • 身份验证
  • 无须连接源站(ALB/EC2/S3)的情况下进行业务逻辑运算给源站卸载(Offload)压力
  • 按访问者的环境(如浏览器)、或访问设备等信息定制输出结果
  • 为静态源站(S3)增加处理能力
  • 防爬虫等应用层防护(可与ALB/WAF搭配防护)

实现这些场景,可通过Edge的边缘侧算力实现。具体实现又有两个产品:Lambda@Edge和CloudFront Function。

Continue reading “部署你的第一个边缘函数 Lambda@Edge并查看运行日志”

Amazon Linux 2023 快速部署 CloudWatch Agent 监控内存和文件系统使用率脚本

一、配置本机使用的IAM Role

创建一个IAM Role,绑定2个IAM Policy,分别选中AWS managed Policy即系统内置的AmazonSSMManagedInstanceCore用于Session Manager,然后选择CloudWatch上传日志的Policy叫做CloudWatchAgentAdminPolicy

将这个IAM Role绑定到EC2上。绑定后需要一段时间才可以生效。如果不想等待这段时间,可以重启EC2则立刻生效。如果您不掌握如何创建EC2使用的IAM Role,当前EC2也没有使用IAM Role,那么请参考本篇创建IAM Role并绑定到EC2。

Continue reading “Amazon Linux 2023 快速部署 CloudWatch Agent 监控内存和文件系统使用率脚本”

在EC2 Debian操作系统上安装Agent并使用EC2 Connect功能

注:截止2023年7月,EC2 Instance Connect功能只在海外区域可用,Session Manager在海外区和中国区都可用。

一、背景

Debian是常用主流Linux系统之一,Ubuntu就是源自Debian体系发展出来的。Debian在云端使用频度不如CentOS/Ubuntu广泛。在AWS云上提供的EC2 AMI中,可在创建EC2向导界面直接选择Debian 11。

不过,这个Debian 11的AMI镜像虽然是AWS官方维护的,但是其自身没有集成System Manager Agent,也没有集成EC2 Instance Connect插件。因此,在EC2控制台上,点击Connect按钮,无论选择EC2 Instance Connect还是选择Session Manager,都会提示无法连接,如下截图。

Continue reading “在EC2 Debian操作系统上安装Agent并使用EC2 Connect功能”

使用Athena分析在S3上的WAF Log

一、背景

在使用WAF保护业务系统的过程中,经常需要查询历史日志,分析特定防护对象的防护效果,查看拦截的请求,或查看访问特定URL的防护效果。这时候就需要用到WAF日志功能。

AWS WAF支持将日志输出到CloudWatch Log Groups,Kinesis,以及S3。将日志输出到CloudWatch Log Groups使用方便,但是存储成本高;将日志输出到Kinesis后可连接多种投递方式,灵活且延迟低,但技术架构稍微复杂。将WAF日志存储到S3数据湖,可实现最低低成本储存日志,通过Athena可快速方便查询。

Continue reading “使用Athena分析在S3上的WAF Log”