我是AWS CDK的新手。
我已经使用aws cdk(Typescript)创建了aws代码管道,它创建了整个管道并将我的应用程序部署到Elastic beanstalk,但是问题是它没有为其分配任何VPC或安全组,因此默认情况下将我的应用程序公开。
我希望我的应用程序只能使用aws帐户(例如,VPC的名称为“ InternalPrivateVPC”)中可用的VPC通过公司网络通过我的公司网络进行访问,而不是公开。
因此,我试图找到一种使用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
在创建时必须使用VPC和子网ID CfnEnvironment
。另请参阅此页面以了解如何option_settings
提供。CDK会在必要时遵从CFN属性。
您将需要ec2vpc
常规选项设置
这样的事情会起作用:
const elbEnv = new elasticbeanstalk.CfnEnvironment(this, "Environment", {
environmentName: "SampleMVCEBEnvironment",
applicationName: appName,
solutionStackName: "64bit Windows Server 2012 R2 v2.5.0 running IIS 8.5",
optionSettings: [
{
namespace: 'aws:ec2:vpc',
optionName: 'VPCId',
value: 'vpc-1234c'
},
{
namespace: 'aws:ec2:vpc',
optionName: 'Subnets',
value: 'subnet-1f234567'
},
{
namespace: 'aws:autoscaling:launchconfiguration',
optionName: 'SecurityGroups',
value: 'sg-7f12e34gd'
},
]
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句