31

Does anyone know if it's possible to change an existing AWS Elastic Beanstalk environment to an Application Load Balancer (instead of a classic one).

As far as I know only Application ELB's can be protected with AWS WAF and DDOS "Shield" so any existing EB app can't take advantage of these features since they have classic ELB's.

4

3 に答える 3

26

既存の環境のロード バランサー タイプを変更することはできませんが、次のプロセスを使用して、(クラシックではなく) アプリケーション ロード バランサーを使用してクローン環境を作成しました。

  1. コンソールで、元の環境の構成を保存します。
  2. ターミナルでeb config get [save name]、 にファイルを取得します.elasticbeanstalk\saved_configs
  3. 追加するファイルを編集します

OptionSettings: aws:elasticbeanstalk:environment: LoadBalancerType: application

そして削除します(それらがある場合):

aws:elb:loadbalancer: CrossZone: true aws:elb:policies: ConnectionDrainingEnabled: true aws:elb:listener:443: [whatever]

この機会を利用して、アップグレードなどの他の変更を行うことができますPlatformArn

  1. 変更した構成を [新しい保存名] として保存します。
  2. ターミナルで、eb config put [new save name].
  3. .ebextensions持つように更新しLoadBalancerType: application、必要に応じてリスナーを elbv2 に追加します。後でコンソールで手動で作成することもできます。

aws:elbv2:listener:443: ListenerEnabled: true SSLPolicy: ELBSecurityPolicy-TLS-1-2-2017-01 SSLCertificateArns: [your cert id] DefaultProcess: default Protocol: HTTPS Rules: ''

  1. で新しい環境を作成しますeb create [new env name] --cfg [new save name]

これで、古い環境と並んで、異なるロード バランサー タイプの新しい環境が作成されます。テストを実行し、さらに構成を変更してから、問題がなければ CNAME を交換して以前の環境を終了できます。

于 2018-09-08T16:20:50.467 に答える