Amazon web services 如何在aws lambda前面设置内部自定义域?

Amazon web services 如何在aws lambda前面设置内部自定义域?,amazon-web-services,aws-lambda,amazon-vpc,Amazon Web Services,Aws Lambda,Amazon Vpc,我有一个情况,我需要我的lambda在AWS上运行自定义内部域?我真的不知道从哪里开始。我有一个虚拟私有云(VPC)设置,我的lambda在里面运行,我在Route53中也有内部URL设置,但我不知道如何将两者粘合在一起。当有人调用此内部URL时,我想调用lambda。关于我应该做什么的任何建议 为了创建内部API,您可以在aws API网关中部署该API。您还需要显式地将endpointType设置为private 步骤: 部署api(作为专用) 默认情况下,所有api网关api都是公共的。您

我有一个情况,我需要我的lambda在AWS上运行自定义内部域?我真的不知道从哪里开始。我有一个虚拟私有云(VPC)设置,我的lambda在里面运行,我在Route53中也有内部URL设置,但我不知道如何将两者粘合在一起。当有人调用此内部URL时,我想调用lambda。关于我应该做什么的任何建议

为了创建内部API,您可以在aws API网关中部署该API。您还需要显式地将endpointType设置为private

步骤:

部署api(作为专用) 默认情况下,所有api网关api都是公共的。您应该通过将
endpointType
属性设置为
private
将api显式部署为private。 您还需要为API创建资源策略,以创建专用API

为API网关创建专用VPC端点 您需要创建专用VPC端点,因为您只能通过专用VPC端点访问专用API

请记住:如果执行此步骤,则所有其他公共API只能通过其自定义域访问

将VPC端点连接到您的私有API 您需要将vpc端点连接到api

访问私有api 您只能通过专用vpc端点通过专用api进行访问

curl https://vpce-07f635e4b63555555-abcwdo3f.execute-api.ap-southeast-2.vpce.amazonaws.com/development/hello -H 'x-apigw-api-id: abcdefg2k8'

#VPC Endpoint DNS URL: https://vpce-07f635e4b63555555-abcwdo3f.execute-api.ap-southeast-2.vpce.amazonaws.com
#API Stage: /development
#Endpoint path: /hello 
# Your rest api Identifier: abcdefg2k8
参考:

专用vpc端点的自定义dns名称
您可以通过创建别名记录,从
Route53
创建自定义域名,指向
专用vpc端点
url。
参考:

您可以将API网关配置为lambda函数的触发器。通常,您会使用CloudFront并通过API网关将lambda函数作为API提供服务。看看这是否有帮助:抱歉,我不得不写一个lot。记住:如果你做了这一步,你的所有其他公共API只能通过它们的自定义域访问?您是指与此域相关的所有API还是在此帐户上生成的所有lambda让我们假设您的AWS帐户中几乎没有公共API。现在您正在引入一个私有API。从现在起,只有当公共API具有自定义域(如APIs.mydomain.com/orders)时,您才能访问它们。您不能再使用Amazon创建的DNS来接受公共API了。希望很清楚,明白了。谢谢你的澄清。顺便说一下,除了在AWS生成的API上创建自定义API之外,我还设置了所有内容。我已经有了在服务器之间内部使用的私有URL。我所缺少的是如何使我的自定义内部URL解析为亚马逊生成的URL。这正是我所寻找的吗?实际上,使用vpc端点DNS值并在路由53中创建别名以将流量路由到vpc端点是有意义的。在API公开之前,我使用cloudfront id作为API,并在Route 53中创建一个别名来将流量路由到它,我想这是私有的,现在我可以使用VPC端点来代替。谢谢,希望如此