CloudFront/CDN服务相关汇总

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

Level 100

如何从CloudFront上获取客户端真实IP地址

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

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

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

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

Level 200

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

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

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

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官方使用指南的使用指南”

Bedrock及最接近GPT的大语言模型Claude开箱 (下篇) —— Prompt Engineering 调优技巧

本文介绍了Prompt Engineering调优的最佳实践,以及几个简单场景样例代码。之前关于如何配置Bedrock和Claude模型的,请参考本文上篇:

Continue reading “Bedrock及最接近GPT的大语言模型Claude开箱 (下篇) —— Prompt Engineering 调优技巧”

Bedrock及最接近GPT的大语言模型Claude开箱 (上篇)

本文介绍了Amazon Bedrock服务的初始化,如何开始使用Claude模型,并讲解了Prompt Engineer调优的最佳实践,以及几个简单场景样例代码。本文分成上下两篇:

Continue reading “Bedrock及最接近GPT的大语言模型Claude开箱 (上篇)”

使用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成本”

测试EKS服务上Pod使用VPC CNI对网络吞吐性能的影响

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

一、背景

在EC2的网络优化机型上,例如c6in.8xlarge(32vCPU/64GB),其网络带宽达到50Gbps。在没有容器环境下,使用iperf2测试,其带宽可以49.7Gbps的吞吐,相当于标称值的99.4%,考虑统计差异,这个速度可认为几乎没有损耗。测试过程和方法参考这篇博客。

那么当场景来到EKS上,Pod的所有流量都是通过Node节点上的VPC CNI进行转发,此时压力测试的其中一端是非容器化的EC2,另一端是Pod容器,会发生什么情况?

Continue reading “测试EKS服务上Pod使用VPC CNI对网络吞吐性能的影响”