web-dev-qa-db-ja.com

ElasticBeanstalk:インスタンスタイプとセキュリティグループを設定ファイルから設定する

アプリケーションバンドルのルートにある.ebextensions/*.configファイルを使用してインスタンスタイプとセキュリティグループを定義できません。

簡単に言うと、次のような2つの構成ファイルがあります。

.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ファイルを使用してインスタンスタイプを定義するにはどうすればよいですか?

10
Josh Hunt

その構成ファイルにあるものを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ログでエラーを監視してください。お役に立てば幸いです。

11
Tyler

コメントに記載されているように、環境設定レベルでも設定ファイルが設定されている場合、設定ファイルの設定は無視されます(およびInstanceTypeの設定は、環境レベルで 自動的に作成されます )。 。

設定を構成ファイルに保持したい場合は、環境からそれらを削除する必要があります。次のコマンドを使用して、InstanceTypeに対してそれを行うことができます。

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

環境レベルの設定を変更する他の方法については、 AWSドキュメント も参照してください。

2
Samuel Fekete