我是AWS CDK的新手。
我已经使用aws cdk(Typescript)创建了aws代码管道,它创建了整个管道并将我的应用程序部署到Elastic beanstalk,但是问题是它没有为其分配任何VPC或安全组,因此默认情况下将我的应用程序公开。
我希望我的应用程序只能使用aws帐户中已经可用的VPC(例如VPC的名称为“ InternalPrivateVPC”)通过我的公司网络进行访问,而不公开。
因此,我试图找到一种方法,使用aws cdk代码将已经可用的VPC和SG分配给我的应用程序,但是找不到与Elastic beantalk类相关的任何属性或类,这将允许我将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
我相信您在创建optionSettings
时将必须使用CfnEnvironment
提供VPC和子网ID。关于如何提供CfnEnvironment
,也请参考this page。 CDK会在必要时根据CFN属性进行延迟。
您将需要option_settings
类似的事情会起作用:
ec2vpc
general option setting