KMS – 云上数据加密和保护

本文讲解加密相关知识、信封加密原理、KMS密钥类型、KMS与实际服务集合使用。同时针对常见的加密需求,本文将介绍AWS Encrption SDK对文件加密场景,并给出AWSCLI、CLI命令示例、Python代码示例供参考。此外,本文还介绍了使用KMS保护Data Key并使用对称加密算法对字符串加密、非对称加密算法对字符串加密等场景,同时也给出了Python代码示例。

Continue reading “KMS – 云上数据加密和保护”

Bedrock上的Claude模型的Tool use

一、背景

1、什么是Tool use

Tool use也叫做Function calling,这是指模型识别访问意图并调用外部工具的能力。例如在一个对话查询中,希望检索互联网上当前最火热的歌曲,或者触发另一个系统的特定的API。这种能力往往和Agent以及知识库搭配使用。需要注意的是,Tool use场景中大语言模型不会直接运行API Call,而是将需要API Call的请求拼接好返回给调用大语言模型的代码。API call的执行过程是完全由程序调用来负责执行的。因此当代码执行API Call获得返回结果之后,还需要将返回结果再次输入到大语言模型中,并且包含上次的聊天记录一起返回。这时即可获得预期的插叙结果。

本文以一个数学计算为例,输入一个计算要求,识别是Tool场景,程序完成Tool use获取结果,再将结果代回到大模型对话,完成整个流程。

Continue reading “Bedrock上的Claude模型的Tool use”

使用 AWS 托管的 Managed Directory 作为目录服务开通 Workspaces 云桌面

在4-5年前就编写过Workspaces服务开通并且是使用AD Connector与企业现有Active Directory对接的文章。由于界面升级变化,操作体验上和过去的博客文章有所差别了。所以这里新写一篇如何使用 AWS 托管的 Managed Directory 作为目录服务开通 Workspaces 云桌面的文章供参考。

一、背景

Amazon Workspaces是托管的云上桌面服务,专有的Workspaces客户端支持Windows、Mac、Linux和网页等多种形态的设备登录到云桌面,通过PCoverIP或者专有的WSP协议提供流畅的画面显示能力。

Workspaces的每个云桌面都是微软域环境,用户管理、Profile漫游等策略下发都通过域控制器进行,因此所有桌面都是域成员。Workspaces服务支持用户自建域也就是自己的Domain Controller,可通过名为AD Connector的服务进行连接;Workspaces也支持使用AWS云上托管的Managed Directory服务,可无需搭建域控制器,实现几乎开箱即用的体验。

Continue reading “使用 AWS 托管的 Managed Directory 作为目录服务开通 Workspaces 云桌面”

使用SAML协议、以Amazon IAM Identity Center为SSO平台、配置单点登录AWS控制台

一、背景

1、什么是SAML

SAML是用于单点登录认证的通用协议,以XML格式为基础进行配置交换。负责用户认证的系统可被称为SSO平台,可以是基于Active Directory Federation Service构建,也可以是用户自行开发的统一认证平台。应用系统指的是与SSO平台对接的业务软件,例如OA、ERP、代码管理系统等软件。当使用SSO方式登录时候,应用系统本身不需要额外管理用户分组、密码、校验等,也就避免了在多个应用软件之间同步用户清单、同步用户密码的麻烦。

使用SSO是安全领域的最佳实践之一。

Continue reading “使用SAML协议、以Amazon IAM Identity Center为SSO平台、配置单点登录AWS控制台”

通过AWSCLI修改安全规则组允许EC2公网登陆

一、背景

在AWS安全最佳实践中,为EC2分配公有IP地址并开放安全规则住允许从互联网上任意地址(也就是来源为0.0.0.0/0)访问操作系统的SSH/RDP是非常不安全的,有非常大的安全隐患。以近期的SSH漏洞

 https://explore.alas.aws.amazon.com/CVE-2024-6387.html 

为例,这样开放端口可能导致几分钟内系统被侵入。为了规避这个安全风险,一般采用如下方式:

Continue reading “通过AWSCLI修改安全规则组允许EC2公网登陆”

通过分析Bedrock日志来获取不同应用各自调用成本

在Athena查询语句SQL中,更新了Claude 3 Sonnect 3.5的价格(基于美西)。

本文已更新使用Athena Partition Projection功能,无须再手工管理数据分区。

一、背景

1、挑战

Amazon Bedrock提供多了多种基础模型的Model as a Service的调用能力,用户通过API调用Bedrock并指定要交互的模型,如Claude3的不同版本,即可获得模型返回结果。当属于多个团队、多个Workload的不同应用程序,分别调用Bedrock API时候,在AWS的账单中将仅包含从API传入的Token和生成的Token总数,但是没有提供按用户分账的功能。由此,需要一种方式能够帮助用户区分多个应用系统各自调用API的成本。

Continue reading “通过分析Bedrock日志来获取不同应用各自调用成本”

Bedrock & Claude 汇总

Claude模型申请、Bedrock开始使用

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

Prompt调优

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

Tool use(Function call)

Bedrock上的Claude的Tool use

OpenAI接口兼容的迁移方式 – Bedrock Access Gateway

借助Bedrock Access Gateway实现OpenAI代码兼容的Claude 3模型调用

OCR

使用Claude 3进行OCR文字识别将影印件PDF并转换为Markdown文本格式

知识库

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

【10分钟开箱即用】视频演示

计费

通过Bedrock日志拆分多个应用和用户的账单

使用Claude 3进行OCR文字识别将影印件PDF并转换为Markdown文本格式

一、背景

RAG+LLM Chatbot解决方案是AWS中国团队开发的大语言模型的RAG对话机器人,它是一个基于Serverless无服务器技术构建、使用LangChain框架的解决方案,用于快速搭建一套可用于生产环境的知识问答机器人。RAG+LLM Chatbot 支持向量模型 & 大语言模型的灵活配置插拔,设计上采用无服务器方式,无需EC2,前后端分离,可集成到即时通信工具(如飞书)。

在这套解决方案中,包含了一个摄取PDF进行OCR文字识别的工具,其代码可从Github上这里获取。本文介绍使用这个代码调用Claude3模型实现OCR识别。

Continue reading “使用Claude 3进行OCR文字识别将影印件PDF并转换为Markdown文本格式”

使用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 中文版(下篇)”