aws(学习条记第三十六课) apigw-http-api-lambda-dynamodb

[复制链接]
发表于 2025-10-3 17:06:25 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
aws(学习条记第三十六课) apigw-http-api-lambda-dynamodb


      
  • 使用api gateway中使用lambda+dynamodb
学习内容:


      
  • 使用api gateway  
  • 使用lambda  
  • 使用dynamodb
<hr> 1. 团体架构

1.1 代码链接


      
  • 代码链接(apigw-http-api-lambda-dynamodb-python-cdk)  
  • aws(学习条记第十四课) 面向NoSQL DB的DynamoDB
    可以复习下从前的dynamodb的知识。
1.2 团体架构



      
  • API gateway访问lambda函数  
  • lambda通过终端节点访问dynamodb
2. 代码剖析

2.1 创建vpc

  1. # VPC
  2.         vpc = ec2.Vpc(
  3.             self,
  4.             "Ingress",
  5.             cidr="10.1.0.0/16",
  6.             subnet_configuration=[
  7.                 ec2.SubnetConfiguration(
  8.                     name="Private-Subnet", subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
  9.                     cidr_mask=24
  10.                 )
  11.             ],
  12.         )
复制代码
这里,只创建private subnet。

2.2 创建vpc的终端节点

通常,private subnet内里的lambda是没有办法访问dynamodb的,如果想访问。有两种方式:

      
  • 一种是通过给public subnet内里设定NAT gateway。  
  • 另一种通过vpc endpoint,即vpc的终端节点。终端节点必要实验面向的service,这里是dynamodb。
  1. # Create VPC endpoint
  2.         dynamo_db_endpoint = ec2.GatewayVpcEndpoint(
  3.             self,
  4.             "DynamoDBVpce",
  5.             service=ec2.GatewayVpcEndpointAwsService.DYNAMODB,
  6.             vpc=vpc,
  7.         )
复制代码

2.3 对vpc的终端节点设定policy

  1. # This allows to customize the endpoint policy
  2.         dynamo_db_endpoint.add_to_policy(
  3.             iam
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表