问题标签 [aws-cdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3887 浏览

mongodb - 使用 CDK 在 Fargate 上运行两个容器

我想使用 Fargate 运行两个容器 - 一个用于主项目的后端,另一个用于数据库 (MongoDB)。GitHub 存储库中包含的基本示例展示了如何使用 CDK 在 Fargate 上运行单个容器,但是我仍然有 2 个问题:

  1. 该示例未显示如何运行两个容器。
  2. 我想扩展数据库容器,但让它们共享数据存储(以便数据存储在一个中心位置并在不同容器之间保持同步)。

我已经想出了如何(某种程度上)解决第一个问题,类似于如何ecs.LoadBalancedFargateService实施,但是第二个问题仍然存在。

作为参考,这是我到目前为止所拥有的stack.ts(其余的是cdk init app --language typescript为您生成的基本样板):

提前致谢。

0 投票
1 回答
2058 浏览

aws-cdk - 如何使用 AWS CDK FindInMap 设置数字类型的属性?

我正在构建一个 CloudFormation 模板,其属性应根据阶段(例如,beta、prod)设置为不同的值。该属性的类型是数字。但是,Fn.FindInMap 返回字符串标记。那么如何使用 FindInMap 来设置这种数字类型的属性呢?

这适用于 AWS CDK Java 语言 API。

这是映射的代码部分:

这是试图通过阶段参数从映射中获取值并分配给需要数字类型的属性(minCapacity 和 maxCapacity)的代码部分。

预期的 CloudFormation 模板是:

但是,会抛出以下异常,因为 minCapacity 或 maxCapacity 是令牌字符串:Exception in thread "main" java.lang.NumberFormatException: For input string: "${Token[TOKEN.14]}"

0 投票
2 回答
2978 浏览

amazon-web-services - 如何在代码中将 nginx 部署到 AWS Fargate?

假设我有一个 docker-compose 文件,如下所示:

我希望能够将它理想地部署到 AWS Fargate(尽管我很沮丧,以至于我会采用 ECS 或其他任何可行的方法)——现在我不关心卷、扩展或其他任何可能具有复杂性的东西,我只是在最低限度之后,所以我可以开始了解发生了什么。唯一需要注意的是它需要在代码中 - 我可以从 CI 服务器启动的自动化部署。

CloudFormation 是正确的工具吗?我似乎只能找到一千行 yaml 或更多行的示例,它们都不起作用,而且无法调试。

0 投票
1 回答
2411 浏览

aws-cdk - AWSCognitoIdentityProvider;状态码:400;错误代码:InvalidParameterException:Cognito Invalid AttributeDataType

我喜欢通过基于 Java 的 AWS-CDK 版本 0.24.1 创建一个认知用户池。在cdk deploy我收到错误 InvalidParameterException 期间。

服务: AWSCognitoIdentityProvider;
状态码: 400;
错误代码: InvalidParameterException: Cognito Invalid AttributeDataType input,考虑使用提供的 AttributeDataType 枚举

也许简单的字符串列表.withAutoVerifiedAttributes(Arrays.asList("email"))或者 .withSchema(Arrays.asList("email"))是错误的。但不幸的是,只有方法签名中声明的对象列表,没有具体的 typ: public CfnUserPoolProps.Builder withAutoVerifiedAttributes(@Nullable List value)

是否有一个示例片段可以使用基于 Java 的 aws-cdk 创建类似的用户池。

0 投票
5 回答
10694 浏览

aws-cdk - 如何将标签添加到 AWS-CDK 构造

如何将标签添加到 AWS-CDK 特定构造,甚至更好地为堆栈中创建的所有资源添加一个标签定义?

0 投票
2 回答
4465 浏览

aws-serverless - 如何使用 AWS-CDK(java 或 typescript)创建 Aurora Serverless 数据库集群,另外连接 lambda 以查询一些数据?

我正在寻找一个示例来创建一个使用新 AWS-CDK(基于 Java 或 typescript)创建的 Aurora Serverless 数据库集群。此外,该示例应使用与数据库集群的连接创建一个 lambda 函数并查询一些数据。

0 投票
2 回答
1383 浏览

c# - 如何在 AWS CDK PolicyStatement AddAction 方法中嵌套 KeyValue 对?

我目前正在尝试使用带有 .NET 应用程序的 AWS CDK 复制另一个开发人员的 powershell 脚本功能。他正在使用 VaporShell 生成 CloudFormation 模板 (YAML)。我将 CloudFormation 模板放在下面(我为这篇文章设置了许多通用名称)。我放了一个箭头,指向让我头疼的键值对。

我已经能够使用 C# 应用程序和 AWS CDK 生成另一个 CloudFormation 模板。除了生成我上面强调的键值对之外,它几乎可以完美地工作。我尝试过使用数组、生成新的策略语句对象并在 .NET 中使用键/值对对象。我将在下面列出这三种尝试中的每一种的示例以及相应的输出。有谁知道以上面显示的相同方式生成键/值对的方法?当然是在 C# 中使用 CDK。

尝试 1:使用字符串数组。

C# 代码(如下):

CloudFormation 模板的生成键/值对部分(下):

尝试 2:使用新的策略声明对象。

C# 代码(如下):

CloudFormation 模板的生成键/值对部分(下):

尝试 3:使用来自 .NETnew 策略语句对象的键/值对象。

C# 代码(如下):

这种方法会引发错误。我怀疑它与 JSII 运行时编译/解释我在 C# 应用程序中使用的键/值对对象有关。

命令行的整个输出(如下):

0 投票
1 回答
1408 浏览

aws-cdk - 使用 AWS-CDK 的 Elastic Beanstalk 比资源级别更高

我有一个使用 CloudFormation json 配置部署的 Elastic Beanstalk 应用程序。我正在研究 Cloud Development Kit atm 并尝试从 CDK 应用程序复制我现在拥有的 CloudFormation 配置。但是根据在更高级别的 CDK 中创建 Elastic Beanstalk 应用程序,我找不到任何信息。如果我做对了,目标是编写更少的配置代码并仍然执行相同的 cloudformation。

我开始尝试使用弹性 beanstalk 包中的 CfnApplication ,但根据我的阅读,使用任何 Cfn* 东西意味着我再次处于低级端,创建配置的工作量相同。但我无法为 ElasticBeanstalk 找到更高级别的内容:/

因此,问题是:它甚至还没有实现,还是我没有找到我要搜索的东西?

问候,卢克

0 投票
1 回答
996 浏览

aws-cdk - 创建 ecs.LoadBalancedFargateService 时如何指定子网

我正在尝试在现有 VPC 上创建 Fargate ECS 服务,但运行后出现以下错误cdk deploy

CREATE_FAILED | AWS::ElasticLoadBalancingV2::LoadBalancer | exms-service/LB (exmsserviceLB259DA1C7) At least two subnets in two different Availability Zones must be specified (Service: AmazonElasticLoadBalancingV2; Status Code: 400; Error Code: ValidationError;

vpc导入正确,根据cloudformation日志创建ecs集群成功。创建负载均衡器时发生故障

我希望负载均衡器使用 VPC 定义中指定的子网,但这似乎没有发生。我是否需要在 LoadBalancedFargateService 定义的某处定义要使用的子网?

0 投票
1 回答
458 浏览

aws-cdk - AWS CDK 中是否可以将 CodeBuild 项目与 VPC、子网和安全组相关联?

我编写了一个 CDK 脚本(打字稿)来创建一个 AWS CodeBuild 项目。但是,构建需要访问 Internet,因此需要设置明确的 VPC、安全组和子网。我看不出有办法做到这一点。我注意到我可以在使用 aws cli 创建后将 VPC、子网和安全组与 CodeBuild 项目相关联,但这并不理想。有没有人找到直接在 CDK 中执行此操作的方法?使用 CDK 版本 0.26.0