【发布时间】:2020-10-27 22:57:52
【问题描述】:
这两个类都用于创建 VPC。当然,cfn 表示云的形成,但是“CDK 合成器”命令也会将 aws_ec2.Vpc() 转换为云形成模板,对吧?那么具体有什么区别呢?有人可以帮我吗?
【问题讨论】:
标签: amazon-web-services aws-cdk
这两个类都用于创建 VPC。当然,cfn 表示云的形成,但是“CDK 合成器”命令也会将 aws_ec2.Vpc() 转换为云形成模板,对吧?那么具体有什么区别呢?有人可以帮我吗?
【问题讨论】:
标签: amazon-web-services aws-cdk
CDK 中有不同级别的构造:
低级构造,称为 CFN 资源(或 L1,“级别 1”的缩写)或 Cfn 资源。这些构造直接代表 AWS CloudFormation 中可用的所有资源。 CFN 资源由 AWS CloudFormation 资源规范定期生成。它们被命名为 CfnXyz,其中 Xyz 是资源的名称。例如,CfnBucket 代表 AWS::S3::Bucket AWS CloudFormation 资源。使用 Cfn 资源时,必须显式配置所有资源属性,这需要全面了解底层 AWS CloudFormation 资源模型的详细信息。
下一级构造 L2 也代表 AWS 资源,但具有更高级别、基于意图的 API。它们提供了类似的功能,但提供了您自己使用 CFN 资源构造编写的默认值、样板和粘合逻辑。 AWS 构造提供了方便的默认值,并减少了了解有关它们的 AWS 资源的所有详细信息的需要表示,同时提供方便的方法,使使用资源更简单。例如,s3.Bucket 类表示具有附加属性和方法的 Amazon S3 存储桶,例如 bucket.addLifeCycleRule(),它将生命周期规则添加到存储桶。
最后,AWS 构造库包括更高级别的构造,称为模式。这些构造旨在帮助您完成 AWS 中的常见任务,这些任务通常涉及多种资源。例如,aws-ecs-patterns.ApplicationLoadBalancedFargateService 构造表示一种架构,其中包括使用应用程序负载的 AWS Fargate 容器集群平衡器 (ALB)。 aws-apigateway.LambdaRestApi 构造表示由 AWS Lambda 函数支持的 Amazon API Gateway API。
【讨论】: