Не удалось запустить среду после входа - PullRequest
0 голосов
/ 20 ноября 2018

Настройка
Serverless.com Framework

Цель
Создание лотка AWS Elastic Beanstalk без сервера

Код
serverless.yml

service: aws-beanstalk-sls
description: Test stack deployment ?

provider:
  name: aws
  stage: running
  region: eu-central-1
  profile: beanstalk-test-deployment

resources:
  Resources:
    sampleApplication:
      Type: AWS::ElasticBeanstalk::Application
      Properties:
        Description: AWS Elastic Beanstalk Sample Application

    sampleApplicationVersion:
      Type: AWS::ElasticBeanstalk::ApplicationVersion
      Properties:
        ApplicationName:
          Ref: sampleApplication
        Description: AWS ElasticBeanstalk Sample Application Version
        SourceBundle:
          S3Bucket: elasticbeanstalk-samples-eu-central-1
          S3Key: nodejs-sample.zip

    sampleConfigurationTemplate:
      Type: AWS::ElasticBeanstalk::ConfigurationTemplate
      Properties:
        SolutionStackName: 64bit Amazon Linux 2018.03 v4.7.0 running Node.js
        Description: AWS ElasticBeanstalk Sample Configuration Template
        ApplicationName:
          Ref: sampleApplication
        OptionSettings:
        - Namespace: aws:autoscaling:asg
          OptionName: MinSize
          Value: '2'
        - Namespace: aws:autoscaling:asg
          OptionName: MaxSize
          Value: '6'
        - Namespace: aws:elasticbeanstalk:environment
          OptionName: EnvironmentType
          Value: LoadBalanced

    sampleEnvironment:
      Type: AWS::ElasticBeanstalk::Environment
      Properties:
        ApplicationName:
          Ref: sampleApplication
        Description: AWS ElasticBeanstalk Sample Environment
        TemplateName:
          Ref: sampleConfigurationTemplate
        VersionLabel:
          Ref: sampleApplicationVersion

Ошибка
Произошла ошибка: sampleEnvironment - Не удалось запустить среду при входе в завершенное состояние.

Примечание
Профиль beanstalk-test-deploy уже имеет роли IAM:

  • AWSElasticBeanstalkFullAccess
  • AdministratorAccess

1 Ответ

0 голосов
/ 07 марта 2019

Вам необходимо создать aws -asticbeanstalk-ec2-роль AWS :: IAM :: InstanceProfile и предоставить его в OptionSettings образцаКонфигурации:

- Namespace: aws:autoscaling:launchconfiguration
  OptionName: IamInstanceProfile
  Value: aws-elasticbeanstalk-ec2-role

Роль может использовать этиАргументы управляемой политики:

- arn:aws:iam::aws:policy/AWSElasticBeanstalkWebTier
- arn:aws:iam::aws:policy/AWSElasticBeanstalkWorkerTier
- arn:aws:iam::aws:policy/AWSElasticBeanstalkMulticontainerDocker

Если добавление этой роли не помогает, ошибка также может указывать на сбой .ebextensions .Однажды я получил эту ошибку, вызвав несуществующее KeyName в расширении.

...