【发布时间】:2020-07-04 16:24:34
【问题描述】:
我是 AWS CDK 的新手。
我使用 aws cdk (Typescript) 创建了 aws 代码管道,它创建了整个管道并将我的应用程序部署到 Elastic beanstalk 但问题是它没有为其分配任何 VPC 或安全组,因此默认情况下我的应用程序是公开的.
我希望我的应用程序只能通过我的公司网络使用我们的 aws 帐户中已经可用的 VPC(比如 VPC 的名称是“InternalPrivateVPC”)不公开访问。
所以我试图找到一种方法,使用 aws cdk 代码将已经可用的 VPC 和 SG 分配给我的应用程序,但找不到任何与 Elastic beanstalk 类相关的属性或类,这将允许我将 VPC 和 SG 分配给应用程序在代码中。
const appName = "SampleDotNetMVCWebApp";
const app = new elasticbeanstalk.CfnApplication(this, "EBApplication", {
applicationName: appName
});
const elbEnv = new elasticbeanstalk.CfnEnvironment(this, "Environment", {
environmentName: "SampleMVCEBEnvironment",
applicationName: appName,
solutionStackName: "64bit Windows Server 2012 R2 v2.5.0 running IIS 8.5"
});
这是整个代码库 - https://github.com/dhirajkhodade/CDKDotNetWebAppEbPipeline 和 这是创建 Elastic beanstalk 应用程序和环境的特定文件 - https://github.com/dhirajkhodade/CDKDotNetWebAppEbPipeline/blob/master/lib/cdk_dot_net_web_app_eb_pipeline-stack.ts
【问题讨论】:
-
我相信您在创建
CfnEnvironment时必须使用optionSettings来提供VPC 和子网ID。另请参阅 this page 以了解如何提供option_settings。 CDK 会在必要时遵循 CFN 属性。
标签: amazon-web-services amazon-ec2 amazon-elastic-beanstalk amazon-vpc aws-cdk