【问题标题】:How to host aws cdk custom construct library as an API如何将 aws cdk 自定义构造库作为 API 托管
【发布时间】:2020-05-20 02:38:52
【问题描述】:

几天前,我向堆栈溢出社区提出了一个关于自定义构造库Question的问题

虽然我没有得到我正在寻找的确切答案。但不知何故,我设法创建了一个自定义构造库。但是现在我有另一个关于如何将 CDK 应用程序作为 API 托管的问题。

下面是自定义构造库的截图:

test_ec2 = ec2.Instance(self, "APIInstance", 
                                vpc=my_vpc,
                                machine_image=ec2.AmazonLinuxImage(
                                        generation=ec2.AmazonLinuxGeneration.AMAZON_LINUX
                                ),
                                key_name="test-cdk",
                                instance_name=inst-name
                                )

如果我想在 AWS CDK 应用程序之上托管一个 API,它将接受变量 inst-name 的字符串并创建一个 EC2 实例。我尝试将其创建为 lambda 函数,但不确定如何同时管理“节点依赖项和 python 依赖项”。

是否可以使用已经创建的 EC2 实例(附加一个具有 cloudformation 权限的 IAM 角色)并接受 HTTP 请求(但不知道如何?)这有意义吗?

提前感谢所有开发人员。

【问题讨论】:

  • 节点依赖和python依赖是什么意思?你也可以在 Lambda 中使用 python
  • 是的,我知道。但是这里要执行的脚本是 Python 脚本,但是控制台会使用一个节点来执行它。

标签: python amazon-web-services aws-lambda amazon-cloudformation aws-cdk


【解决方案1】:

有很多方法可以做到这一点。我认为最简单的方法是整合您的 cloudformation 模板并将它们提前发布到 S3,并使用 API 网关与 REST API 和 AWS 请求类型集成,从而创建 Cloudformation 堆栈。

这里有一个教程,它解释了如何使用 AWS API 集成构建一个 REST API:https://docs.aws.amazon.com/apigateway/latest/developerguide/getting-started-aws-proxy.html

这仅适用于 SNS:ListTopics 操作,但您可能需要 cloudformation:CreateStack 操作。

【讨论】:

  • 非常感谢您的回答。
猜你喜欢
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 2021-08-21
  • 1970-01-01
  • 2019-11-10
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
相关资源
最近更新 更多