使用Athena分析Cloudfront Standard Log查询CNAME流量和5xx错误

更新于2024年7月,加入5xx错误排查方法。

本文的分析实现两个目的:1)确认一个发布点上绑定多个CNAME时各自的流量;2)找到CloudFront控制台的监控面板上5xx报错的原因。

一、背景

1、关于CloudFront日志种类

Cloudfront日志分成Standard Log标准日志和Realtime Log实时日志。后者时效性好,但是需要Kinesis等日志处理方案,成本更高。对于排查一般的错误,使用标准日志保存到S3上,用Athena查询分析即可。

Continue reading “使用Athena分析Cloudfront Standard Log查询CNAME流量和5xx错误”

Bedrock 知识库【十分钟开箱即用】视频演示

Bedrock知识库现已经支持Claude3的集成,在界面上选择模型时候可以选择Claude3,同时API请求上也支持Claude3。

Bedrock知识库是全托管的RAG体验,可实现内容摄取、向量生成、向量数据库创建和管理、向量查询和召回、大模型重写等一系列过程。关于Bedrock知识库服务配置,请参考这篇博客。本文仅为视频DEMO,不详细讲解配置。操作Bedrock创建知识库到可用的整个过程不超过10分钟,其中创建OpenSearch向量数据库部分需要大概五分钟,视频做了剪切加速。

如果您尚未使用过Bedrock服务,可参考如下:

  • 关于Bedrock服务和Claude大模型权限开通,请参考这篇博客。
  • 关于Prompt调优,请参考这篇博客。
Continue reading “Bedrock 知识库【十分钟开箱即用】视频演示”

EMR 101 Workshop 中文版(下篇)

因篇幅所限和单次实验时间所限,本文拆成上下两篇且只包含Spark/Hive/Presto。HBase、Iceberg、Hudi等将另外编写。

点击这里跳转到上篇:EMR 101 Workshop 中文版(上篇)

接上篇,继续使用上篇执行Spark任务的集群来完成实验。因篇幅所限和单次实验时间所限,本篇只写Spark/Hive/Presto,不包含HBase、Iceberg、Hudi等。

Continue reading “EMR 101 Workshop 中文版(下篇)”

【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力

Bedrock知识库现已经支持Claude3的集成,可在单一API请求上完成RAG召回和大模型重写。

本文介绍如何使用Bedrock知识库快速搭建托管的RAG体验,在申请模型权限后,整个实验仅需要在AWS控制台上数次点击,10分钟内即可体验完整的RAG能力。本文对应的演示视频跳转到这里观看。

Continue reading “【10分钟开箱即用】使用Amazon Bedrock知识库构建RAG检索能力”

CloudFront/CDN服务相关汇总

为方便查找,CloudFront相关常用内容汇总如下。

Level 100

从CloudFront获取客户端真实IP地址、并使用CloudFront内置的IP地址库获取访问者所在国家

将CloudFront对S3源站的访问授权从原有的OAI切换为最新的OAC

使用CloudFront发布EC2上的应用并使用Managed prefix功能限制EC2只接受CloudFront回源流量

使用WAF检查Referer Header对外部引用进行干预

看懂一份AWS CloudFront(含Origin Shield)的CDN服务账单

为CloudFront开启HTTP3/QUIC支持

Level 200

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

通过CloudFront Functions边缘函数实现访问跳转

CloudFront Extensions官方使用指南的使用指南

使用Athena分析Cloudfront Standard Log查询CNAME流量和5xx错误

Level 300

CloudFront签名上手:使用CloudFront做S3存储桶的私有内容分发

CloudFront Extensions官方使用指南的使用指南

一、背景

Amazon CloudFront Extensions是亚马逊云科技开发的基于CloudFront的扩展方案,提供监控、版本控制、一键部署的Lambda@Edge函数等功能。目前CloudFront Extensions仅支持部署到AWS全球区域,不支持中国区域。

CloudFront Extensions作为AWS中国团队自开发的解决方案,通过CloudFormation堆栈进行部署,它包含了基于图形界面的WEB UI进行交互。However,官方文档编写不足,没有AWS基础的新用户上手困难。

本文针对以上痛点编写。

Continue reading “CloudFront Extensions官方使用指南的使用指南”

Amazon Bedrock与多模态大语言模型Anthropic Claude 3 开箱(下篇) – Prompt Engineering

本文针对2024年3月发布的Claude 3模型已经做了更新。

本文介绍了Claude 3 Prompt Engineering调优的最佳实践,并提供了几个场景的样例代码。关于如何配置Bedrock和Claude模型访问权限,请参考本文上篇:

Continue reading “Amazon Bedrock与多模态大语言模型Anthropic Claude 3 开箱(下篇) – Prompt Engineering”

Amazon Bedrock上的Anthropic Claude开箱及Converse API使用

本文更新了Converse API的使用,从原来的invoke_model的API更换为Converse API。

本文介绍了Amazon Bedrock服务的初始化,如何开始使用Claude模型,并讲解了最新的Converse API的使用,实现文本生成、图像理解、文档理解、流式输出等场景。

Continue reading “Amazon Bedrock上的Anthropic Claude开箱及Converse API使用”

使用CodeWhisperer代码提示和补全提升开发效率

一、CodeWhisperer简介

Amazon CodeWhisperer是一款辅助开发的代码生成服务,可根据进行代码生成、代码补全、代码审查等。Amazon CodeWhisperer支持多种编程语言,包括Python、Java、JavaScript、TypeScript、C#、Go、Rust、PHP、Ruby、Kotlin、C、C++、Shell 脚本、SQL、Scala、JSON、YAML和HCL等。

目前,CodeWhisperer支持的IDE包括VS Code、IntelliJ IDEA、Visual Studio、PyCharm、WebStorm和Rider等。此外,CodeWhisperer还支持MacOS下的终端/Iterm2用于CLI交互。您可以使用这些IDE的插件/扩展连接到CodeWhisperer,并享受便捷的开发效率。

Continue reading “使用CodeWhisperer代码提示和补全提升开发效率”

EKS使用预加载机制加速EC2 Nodegroup上大镜像的启动速度

EKS动手实验合集请参考这里

目录

  • 一、背景
  • 二、测试环境准备
  • 三、应用Yaml是否打开缓存开关的对比
  • 四、使用EventBridge构建预加载
  • 五、验证预缓存机制生效
  • 六、参考文档

一、背景

在机器学习等场景下,需要在EKS上运行较大体积的Pod,其Image体积可能达到数个GB。此时在第一次启动Pod时候,会遇到所谓的冷启动问题,也就是EC2 Nodegroup需要从ECR容器镜像仓库去拉取较大尺寸的镜像,然后才能启动Pod。后续启动相同镜像即可利用缓存无须重复下载。此时,可以使用本文介绍的方法优化冷启动时间长。

Continue reading “EKS使用预加载机制加速EC2 Nodegroup上大镜像的启动速度”

使用Kubecost管理EKS成本

EKS动手实验合集请参考这里

一、简介

Kubecost是基于OpenCost的云原生的成本管理工具。在不使用Kubecost情况下,管理EKS的cost一般是基于预留实例的EC2 Node,并人为划分服务资源进行分割,某些情况下还需要搭配Cost and Usage Reports(CUR)详单。

使用Kubecost,可以在相对直观的看到各Deployment/Service对应的相应费用,并根据服务的运行时长显示对应成本。Kubecost免费版可通过Helm在EKS上快速部署。如果需要更多功能,还需要使用商业版的Kubecost。本文介绍如何部署免费版的Kubecost。

Continue reading “使用Kubecost管理EKS成本”