ElasticBeanstalk : 구성 파일에서 인스턴스 유형 및 보안 그룹 설정


10

.ebextensions/*.config애플리케이션 번들 루트의 파일을 통해 인스턴스 유형 및 보안 그룹을 정의하는 데 문제가 있습니다.

간단히, 다음과 같은 두 개의 구성 파일이 있습니다.

.ebextensions/01-options.config:

option_settings:
  [...]
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: CONFIG_FILE_ONE
    value: '01-options.config'
  [...]

그리고 .ebextensions/02-app-test-env.config:

option_settings:
  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: NODE_ENV
    value: 'Test'

  - namespace: 'aws:elasticbeanstalk:application:environment'
    option_name: CONFIG_FILE_TWO
    value: '02-app-test-env'

  - namespace: aws:autoscaling:launchconfiguration
    option_name: InstanceType
    value: t2.micro

  - namespace: aws:autoscaling:launchconfiguration
    option_name: SecurityGroups
    value: sg-ys75dfs2

이제 환경 변수가 설정 중이므로 구성 파일을 모두 읽는다는 것을 알고 있지만 보안 그룹과 인스턴스 유형이 설정되지 않습니다. 환경을 다시 빌드해도 인스턴스는 여전히 t1.micro기본 보안 그룹과 같이 생성됩니다 -내 설정 적용되지 않습니다.

내가 여기서 무엇을 놓치고 있습니까? .config파일을 사용하여 인스턴스 유형을 어떻게 정의 할 수 있습니까?


앱이 실행 된 후 로그를 확인 했습니까? 아마도 당신의 선택 중 하나에 대해 불평했을까요? 이것을 읽은 후 다음 문장으로 인해 해당 테이블에 나열된 네임 스페이스 만 지원된다는 인상을 받았습니다 [...] The following table displays the namespaces that are supported for each container type. [...]. 그러나 그것이 사실이라면 이상한 것 같습니다.
Bazze

답변:


11

launchconfiguration 네임 스페이스에 대해 해당 구성 파일에있는 것을 사용할 수 있어야하지만 작동중인 첫 번째 2에서와 같이 네임 스페이스와 값 주위에 작은 따옴표가 필요합니다.

- namespace: 'aws:autoscaling:launchconfiguration'
  option_name: InstanceType
  value: 't2.micro'

- namespace: 'aws:autoscaling:launchconfiguration'
  option_name: SecurityGroups
  value: 'sg-ys75dfs2'

또한 eb cli 3.x를 사용하는 경우 eb 로그에 오류가 있는지 확인하십시오. 희망이 도움이됩니다.


나는 이것을 원래의 버전과 따옴표가있는 버전으로 시도했다. 나도 일하지 않았다. MinSize 및 MaxSize와 같은 내 .config의 다른 설정이 작동합니다. 대신 eb create -i 't2.medium'을 사용해야합니까?!
Charles

@Charles, 예, 더 이상 InstanceType이 작동하지 않습니다. 앞에서 언급했듯이 다른 인스턴스 관련 옵션이 작동하기 때문에 문제가 무엇인지 확실하지 않습니다.
Tyler

확인 감사합니다. AWS 포럼에 질문을 게시하면 ... 답변을 찾으면 다시보고합니다.
Charles


1
그래서 문제가 여기에 있다고 생각합니다. 특정 항목이 API 수준으로 설정되어 있고 환경을 만든 후에 업데이트해야합니다. If you use the Elastic Beanstalk console or EB CLI to create environments, and you want to set these options using configuration files or saved configurations, you can remove the options settings with the AWS CLI or EB CLI after the environment is created.( docs.aws.amazon.com/elasticbeanstalk/latest/dg/… )
Tyler

2

코멘트에서 언급 한 바와 같이 그들은 또한 환경 수준, (그리고에 대한 설정에 설정되어있는 경우, 설정 파일의 설정은 무시됩니다 InstanceType되어 자동으로 생성 환경 수준).

구성 파일에 설정을 유지하려면 환경에서 해당 설정을 제거해야 InstanceType합니다. 다음 명령 을 사용하여 이를 수행 할 수 있습니다 .

aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType

환경 수준 설정을 변경하는 다른 방법 은 AWS 문서 를 참조하십시오 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.