标签: aws-cdk

使用 aws-cdk 进行本地开发

是否可以使用 aws-cdk 部署到 localstack?想过从无服务器切换到 cdk,但除了 aws SAM 之外找不到任何其他本地测试选项。

aws-cdk

12
推荐指数
1
解决办法
2708
查看次数

AWS CDK - 如何调试挂起的部署?

有时,当我运行时cdk deploy,它会创建一个 ECS 服务,然后挂起,因为我的配置做了“某些”错误 -

55/57 Currently in progress: MyServiceFA17513E
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以深入了解问题所在?似乎需要很长时间才能超时(小时+?)

amazon-web-services aws-cloudformation aws-cdk

12
推荐指数
1
解决办法
9014
查看次数

如何强制删除启用版本控制的非空 S3 存储桶?

我的CDK文件中有以下代码块:

\n
const artifactBucket = new s3.Bucket(this, "MyBucket", {\n  bucketName: "cdk-cws-pipeline-artifacts",\n  removalPolicy: cdk.RemovalPolicy.DESTROY,\n  versioned: true, // a bucket used as a source in CodePipeline must be versioned\n});\n\n// code omitted for brevity\n\nconst pipeline = new codepipeline.Pipeline(this, "Pipeline", {\n  artifactBucket: artifactBucket,\n  // code omitted for brevity\n});\n
Run Code Online (Sandbox Code Playgroud)\n

一切都工作正常,直到我尝试删除堆栈。我收到这个错误:

\n
Are you sure you want to delete: cdk-staging-CwsPipeline (y/n)? y\ncdk-staging-CwsPipeline: destroying...\n6:11:42 PM | DELETE_FAILED        | AWS::S3::Bucket             | MyBucketF68F3FF0\nThe bucket you tried to delete is not empty. You must delete all versions …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services aws-cdk

12
推荐指数
3
解决办法
2万
查看次数

当 CDK 定义时,是否可以在本地运行 AWS Step Functions?

AWS Step Functions 可以使用Step Functions Local Docker在本地 Docker 环境中运行。但是,需要使用基于 JSON 的Amazon States Language定义步骤函数。如果您的 AWS 基础设施(Step Functions 加 lambda)是使用 AWS CDK/CloudFormation 定义的,那么这根本不方便。

\n

有没有办法从 CDK 或 CloudFormation 输出创建状态机的 Amazon States Language 定义,以便可以在本地运行步骤函数?

\n

目前,我的开发周期需要 30 分钟才能在 AWS 中构建/部署/运行基于 Lambda 的步骤函数,以便对其进行测试,并且肯定有比这更好/更快的测试方法。

\n

amazon-web-services aws-cloudformation aws-step-functions aws-cdk

12
推荐指数
1
解决办法
4574
查看次数

使用 CDK Deploy 时如何更改 StackName

我有一个非常简单的 cdk 项目:

import * as cdk from '@aws-cdk/core';
import { TestStack } from '../lib/test-stack';

const app = new cdk.App();
new TestStack(app, 'TestStack');
Run Code Online (Sandbox Code Playgroud)

我可以使用 cdk deploy 轻松部署堆栈,并且堆栈的名称在 AWS 上为“TestStack”。到目前为止,一切都很好。但是我想控制cloudformation中堆栈的名称。有什么方法可以 fdo cdk 部署并更改 AWS 中堆栈的默认名称吗?

像 cdk deploy --stack-name SomeName 这样的东西?((堆栈名称是一个组成的命令))

我想知道这一点,因为我希望能够构建一个部署系统,该系统可以从单个 cdk 项目构建多个堆栈。根据输入参数,每个堆栈都会略有不同。就像是

cdk deploy --stackName Stack1 --parameters parameters1
cdk deploy --stackName Stack2 --parameters parameters2
cdk deploy --stackName Stack3 --parameters parameters3
Run Code Online (Sandbox Code Playgroud)

我最终将在 AWS 中同时拥有 Stack1、Stack2 和 Stack3。

amazon-web-services aws-cloudformation aws-cdk

12
推荐指数
2
解决办法
8521
查看次数

亚马逊cdk和boto3区别

我是 AWS 的 python 新手。我最初接触到了boto3,后来有人推荐了cdk。aws cdk 和 boto3 之间有什么区别?

python amazon-web-services boto3 aws-cdk

12
推荐指数
1
解决办法
7651
查看次数

AWS CDK 中 app.synth() 的用途是什么?

app.synth()AWS CDK 应用程序中该行的用途是什么?例如,可以在第 29 行看到: https: //github.com/aws-samples/aws-cdk-examples/blob/master/typescript/ecs/fargate-application-load-balanced-service/index.ts

我查看了 CDK 文档,但找不到该函数的实际用途。据我了解,该应用程序是在cdk deploy或上自动合成的cdk synth。我还采用了上面链接的存储库中显示的示例,注释掉该app.synth()行,部署它,它似乎按预期工作。因此我想知道当谈到 app.synth() 的目的时我是否遗漏了一些东西

javascript amazon-web-services aws-cloudformation typescript aws-cdk

12
推荐指数
2
解决办法
7088
查看次数

在 CDK 中配置 lambda 并发

我正在尝试通过 CDK 提供 lambda 并发性。我有几个 CfnFunctions,我需要配置它们。

只能在别名上进行配置。因此,当我将 autoPublishAlias 添加到 CfnFunction 时,APIG 触发器不起作用。

如何通过 CDK 实现(配置)供应?

谢谢,维诺德。

amazon-web-services aws-lambda serverless aws-cdk

11
推荐指数
2
解决办法
1万
查看次数

如何在 AWS CDK 中使用 CfnParameter 而无需在运行时填写值

我一直在尝试使用 AWS CDK 以编程方式构建 CloudFormation 堆栈模板,但在使用CfnParameters 参数化模板时遇到问题。

当我在 json/yaml 中手动编写模板时,我ParameterGroups使用嵌套Parameters列表进行声明,并定义各个参数,包括类型、描述、AllowedPattern 等。然后在资源的定义中,我可以通过Ref值引用这些参数,例如

"CidrBlock": {
  "Ref": "MyVpcCidr"
}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何通过 CDK 使用此功能、定义参数并稍后在模板中引用它?

我尝试使用以下方法software.amazon.awscdk.core.CfnParameter,但收到错误

final CfnParameter myVpcCidrParameter =
    CfnParameter.Builder.create(this, "MyVpcCidr")
        .type("String")
        .description("The CIDR block for the VPC")
        .build();

final Vpc vpc =
    Vpc.Builder.create(this, "vpc")
        .cidr(myVpcCidrParameter.getValueAsString()) // <-- error on this line
        .enableDnsSupport(true)
        .enableDnsHostnames(true)
        .build();
...
Run Code Online (Sandbox Code Playgroud)

错误指出

JsiiException:“cidr”属性必须是具体的 CIDR 字符串,已获得令牌

这似乎很合理,因为myVpcCidrParameter.getValueAsString()返回"${Token[TOKEN.10]}".

但是,我没有看到任何其他方法CfnParameterVpc.Builder允许我使用参数引用来指定属性值作为对我的参数的引用。

使用 CDK 构建包含参数和使用这些参数定义的资源的模板的正确方法是什么?

parameters aws-cloudformation aws-cdk

11
推荐指数
1
解决办法
3952
查看次数

CloudWatch 日志组在 cdk destroy 时未删除

我有这个 CDK 代码:

const logGroup = new LogGroup(this, 'MyAppLogGroup', {
  logGroupName: 'myapp',
  retention: RetentionDays.ONE_DAY
});
Run Code Online (Sandbox Code Playgroud)

当我运行 时cdk deploy,会在 CloudWatch 中创建日志组,但当我运行 时cdk destroy,它不会被删除。有什么方法可以启用此功能吗?

amazon-cloudwatch amazon-cloudwatchlogs aws-cdk

11
推荐指数
2
解决办法
6021
查看次数