我想将我的 Amazon DynamoDB Accelerator(DAX)集群与我的 AWS Lambda 函数一起使用。该如何操作?
解决方法
创建 DAX 集群后,记下使用 DAX 集群启动的 VPC ID、子网和安全组。请保留此信息以供参考。然后,按照以下步骤在 DAX 集群中使用您的 Lambda 函数。
创建可访问您的 DAX 集群的 VPC 的 Lambda 函数
1. 打开 Lambda 控制台。然后,打开 Functions(函数)页面。
2. 选择创建函数,然后输入函数名称。
3. 在 Basic information(基本信息)下选择 Runtime(运行时)和 Architecture(架构)。
4. 展开高级设置。然后,选中启用 VPC 左侧的复选框。
5. 在 VPC 下拉列表中,选择前面提到的 VPC。这是启动您的 DAX 集群的 VPC。
6. 在子网下拉列表中,选择前面提到的子网。选择所有适用项。
7. 在安全组下拉列表中,选择前面提到的 VPC 安全组。控制台显示该安全组的入站和出站规则。
重要:要使 Lambda 函数与 DAX 集群连接,安全组的入站规则必须将 TCP 显示为协议。此外,8111 或 9111 必须出现在端口下。8111 用于未加密群集,9111 用于加密集群。
8. 选择创建函数。
配置现有 Lambda 函数以访问您的 DAX 集群的 VPC
1. 打开 Lambda 控制台。然后,打开 Functions(函数)页面。
2. 选择要用于 DAX 集群的函数。
3. 从功能区中选择配置,然后选择 VPC。选择 Edit (编辑)。
4. 按照上一节中的步骤 4 到 6,创建一个可以访问 DAX 集群 VPC 的 Lambda 函数。
5. 选择 Save(保存)。
测试从您的 Lambda 函数到 DAX 集群的连接
重要提示:您必须首先准备一个部署包,因为默认情况下,amazondax 在 Lambda 中不可用。请参阅 Amazon DynamoDB Accelerator(DAX)中的所有版本,以安装 amazon-dax-client。
安装 amazon-dax-client 后,按照使用.zip 文件存档部署 Python Lambda 函数中的步骤创建部署包。使用以下 Python 代码创建软件包:
import amazondax
import boto3
def lambda_handler(event, context):
daxclient = amazondax.AmazonDaxClient(endpoint_url='<endpoint-from-your-cluster>')
print("Connected!!")
在部署包中,将 endpoint_url 更改为在 DAX 集群中找到的 endpoint_url。为此,请执行以下操作:
1. 打开 DynamoDB 控制台。
2. 在导航窗格中的 DAX 下,选择集群。
3. 选择之前创建的 DAX 集群,然后选择概述。
4. 在常规信息下,找到集群端点。 复制列出的 URL。
5. 将 Python 代码中的 替换为您复制的 URL。
6. 将部署包上传为 .zip 文件或通过 S3 URL 上传。然后,选择 Test(测试)。
7. 如果您的连接配置成功,则执行结果将显示 “已连接!!”
相关信息
配置 VPC 访问权限(控制台)
从 Lambda 中使用 DynamoDB Accelerator (DAX) 提升性能并降低成本
使用 DynamoDB Accelerator (DAX) 客户端进行开发