- 以美东 1(弗吉尼亚北部)为例,如果部署 Lambda Connector 和 Athena 查询,将根据查询 SQL 的次数和消耗的计算资源收费,本次教程预计不会超过 1USD,此费用不包括开启的两个 RDS Mysql 数据库测试实例的费用,不包括初始化数据库时安装 Mysql 命令的 EC2 实例费用,请在教程结束后删除 Lambda Connector,关闭测试的 RDS Mysql 实例,关闭 EC2 实例。
- Lambda 有免费套餐配额
本次实验使用 Athena 查询两个不同的 RDS Mysql 数据库实例,实现跨数据库 join 查询。实验开始之前,请先准备前提条件:
创建两个 RDS Mysql 数据库实例
:database1 和 database2;
启动一台 EC2 t3.micro,
安装 Mysql 客户端
,下载
example world database
并修改 sql,连接 RDS 数据库,通过 source /home/ec2-user/world-db/world.sql 初始化三个数据库:database1 实例初始化两个数据库 test1,test2,database2 实例初始化数据库 test3;
创建 Lambda 函数:
SecretNamePrefix:用于在 Secrets Manager Key 保存 RDS Mysql 连接的用户名密码,本次实验将用户名密码放在 ConnectionString 中,所以可以随意自定义 Key
SpillBucket:当 Lambda 查询数据溢出时保存到 S3,指定一个已有的 S3 Bucket
DefaultConnectionString:数据库连接串,固定的格式:mysql://jdbc:mysql://<host>:3306/?user=<user>&password=<pwd>。注意这个 Default 连接串并不是给 database1 和 database2 连接使用,我们需要在后续步骤中 Lambda 环境变量中额外配置。
LambdaFunctionName:自定义
SecurityGroupIds 和 SubnetIds:请选择 RDS Mysql 的安全组和子网 id,Lambda 将使用和 Mysql 相同的 VPC 网络环境。
AWS 对 Internet Explorer 的支持将于 07/31/2022 结束。受支持的浏览器包括 Chrome、Firefox、Edge 和 Safari。
了解详情 »