アプリケーションバンドルのルートにある.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
ファイルを使用してインスタンスタイプを定義するにはどうすればよいですか?
その構成ファイルにあるものを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ログでエラーを監視してください。お役に立てば幸いです。
コメントに記載されているように、環境設定レベルでも設定ファイルが設定されている場合、設定ファイルの設定は無視されます(およびInstanceType
の設定は、環境レベルで 自動的に作成されます )。 。
設定を構成ファイルに保持したい場合は、環境からそれらを削除する必要があります。次のコマンドを使用して、InstanceType
に対してそれを行うことができます。
aws elasticbeanstalk update-environment --environment-name my-env --options-to-remove Namespace=aws:autoscaling:launchconfiguration,OptionName=InstanceType
環境レベルの設定を変更する他の方法については、 AWSドキュメント も参照してください。