AWS ELB:インスタンスをバランサーから強制的に切断する

画像 こんにちは



スケーリング中に、消滅したホストがまだ30〜35秒強の間リクエストを受信するという小さな、しかし不快な瞬間がありました。 当然、これらの要求を満たすことはできません。 そのため、Webサーバーを配置する前に、ロードバランサーからインスタンスを強制的に切断するというアイデアが生まれました。



これを行うには、ELBのコマンドラインユーティリティaws.amazon.com/developertools/2536が必要です。 それらを/ opt / aws / elbフォルダーに解凍します



pk-**およびcert-**証明書は、 / opt / aws / keysに配置されます



JAVA作業フォルダーは/ usr / java / latestです。



さて、実際のスクリプト:

/opt/aws/kick_from_lb.sh
#!/bin/sh export AWS_ELB_HOME="/opt/aws/elb" export PATH=$PATH:$AWS_ELB_HOME/bin export JAVA_HOME=/usr/java/latest export TOOLS_HOME=/opt/aws export EC2_PRIVATE_KEY=$TOOLS_HOME/keys/pk-********88ZVWC3FPEOFWRSFJ.pem export EC2_CERT=$TOOLS_HOME/keys/cert-**********88ZVWC3FPEOFWRSFJ.pem INSTANCE_ID=`wget -q -O - http://169.254.169.254/latest/meta-data/instance-id` elb-deregister-instances-from-lb $1 --instances $INSTANCE_ID
      
      









ここで、apache、tomcat、nginx、またはその他のスクリプトのstop関数で、最初に次の行を挿入します。



 sh /opt/aws/kick_from_lb.sh $elb_name
      
      





ここで、$ elb_nameはElastic Load Balancerの名前です。



まあ、それだけです。 これで、Webサーバーが停止する前に、インスタンスはバランサーの下から自動的にスローされ、リクエストを受け入れなくなります。



脅威。 AMIにすべての変更を加えることを忘れないでください。



All Articles