Можно ли как-то назначить Security Group и VP C для моего веб-приложения, размещенного в Elasti c Beanstalk, с использованием AWS кода CDK - PullRequest
1 голос
/ 24 марта 2020

Я новичок в AWS CDK.

Я создал aws конвейер кода, используя aws cdk (Typescript), и он создает весь конвейер и развертывает мое приложение на Elasti c beanstalk, но проблема в том, что он не назначает ему VP C или группу безопасности и, следовательно, делает мое приложение общедоступным c по умолчанию.

Я хочу, чтобы мое приложение было доступно только через сеть моей компании с использованием VP C, который уже доступен в нашей aws учетной записи (скажем, имя VP C - "InternalPrivateVP C"), не публично.

Поэтому я пытаюсь найти способ назначить уже имеющиеся VP C и SG для моего приложения, использующего код aws cdk, но не смог найти ни одного свойства или класса, связанного с классом beanstalk Elasti c, который позволил бы мне назначить VP C и 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, а вот файл * speci c, который создает приложение и среду Elasti c beanstalk - https://github.com/dhirajkhodade/CDKDotNetWebAppEbPipeline/blob/master/lib/cdk_dot_net_web_app_eb_pipeline-stack.ts

1 Ответ

0 голосов
/ 24 марта 2020

Полагаю, вам придется использовать optionSettings для предоставления идентификаторов VP C и Su bnet при создании 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'
    },
  ]
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...