马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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
- # VPC
- vpc = ec2.Vpc(
- self,
- "Ingress",
- cidr="10.1.0.0/16",
- subnet_configuration=[
- ec2.SubnetConfiguration(
- name="Private-Subnet", subnet_type=ec2.SubnetType.PRIVATE_ISOLATED,
- cidr_mask=24
- )
- ],
- )
复制代码 这里,只创建private subnet。
2.2 创建vpc的终端节点
通常,private subnet内里的lambda是没有办法访问dynamodb的,如果想访问。有两种方式:
- 一种是通过给public subnet内里设定NAT gateway。
- 另一种通过vpc endpoint,即vpc的终端节点。终端节点必要实验面向的service,这里是dynamodb。
- # Create VPC endpoint
- dynamo_db_endpoint = ec2.GatewayVpcEndpoint(
- self,
- "DynamoDBVpce",
- service=ec2.GatewayVpcEndpointAwsService.DYNAMODB,
- vpc=vpc,
- )
复制代码
2.3 对vpc的终端节点设定policy
- # This allows to customize the endpoint policy
- dynamo_db_endpoint.add_to_policy(
- iam
复制代码 |