問題タブ [autoscaling]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-ec2 - Job Server 用の Amazon Auto Scaling API
AWS AS API を超えて、すべての AS の内容を理解するために、ほぼすべてのドキュメントを読みました。
ただし、私のシナリオがASで実行可能かどうかはまだ疑問に思っています(実際にAPIを使用したことはありません。これは、誰かから最初に見つけたいからです)。
AS グループ内に一連の作業サーバーをセットアップし、すべてがそれぞれのジョブで動作しているとします。突然、スケールアップまたはスケールダウンする時が来ました (AVG CPU が 80% を超えているか、または 80% 未満であるとは言えません)。
私の主な心配は、現在進行中の仕事が失われることです。たぶん、これは例でよりよく説明されるでしょう:
- 5 つのジョブを含む 5 つのジョブ サーバーを起動します。
- ジョブは 1 つで終了し、Amazon API でスケールダウン トリガーを起動します
- Amazonはそれらを縮小するようになります
- 実際に現在ジョブを実行しているジョブ サーバーを失いました (90% 完了して、もう一度開始する必要があります)。
これを念頭に置いて、Amazon スポット インスタンス/EC2 API を使用し、独自のスケーリングを管理するだけの方が良いですか、それとも Amazon API がサーバーの終了を判断する方法について何か不足していますか?
正直に言うと、サーバーのヘルスの数値よりも SQS の待機量に合わせてスケーリングします。
- 待機中のメッセージ 100 件ごとに、クラスタ容量が 20% 増加します
しかし、これは AS でもあまり実行可能ではないようです。
では、AWS AS API は適切なソリューションではないのでしょうか? それとも、その仕組みに関する重要な情報が欠けているのでしょうか?
ありがとう、
r - 少数のY軸スケーリングの問題
1e-10より小さい数値のyスケーリングに問題があります:それらはすべて同じ水平線上に表示されます。
再現可能な例を次に示します。
ご覧のとおり、ベースプロット関数を使用するとポイントが正しく表示され、ggplot2を使用するとポイントが水平線上に表示されます。
2011年5月にメーリングリストで同様の投稿を見ましたが、Hadleyはそれがggplot2の開発バージョンで動作すると答えました。ただし、以下で説明するRバージョンを使用しても、エラーが発生します。
誰かが手がかりを持っていますか?
前もって感謝します !ティボー・ルエル
amazon-ec2 - AWS 自動スケーリングはどのように機能しますか? (欠けている部分)
インスタンスを自動スケーリングして最小制限と最大制限を設定すると、とにかく最大にスケーリングしますか、それとも as によって作成された各インスタンスのしきい値をチェックしてから生成しますか?
のように、1 つのインスタンスが 90% の CPU 使用率のアラームをトリガーします -> AutoScale はさらに 1 つのインスタンス (合計 2) を作成します -> does it check for 90% cpu usage on both the instances & THEN create new instances or does it create new instances anyway after the cooldown time
?
amazon-ec2 - Elastic IP を使用した Amazon EC2 自動スケーリング インスタンス
自動スケーリング グループに追加された新しいインスタンスをエラスティック IP に関連付ける方法はありますか? 自動スケーリング グループのインスタンスをリモート サーバーでホワイトリストに登録する必要があるユース ケースがあるため、予測可能な IP が必要です。
APIを使用してプログラムでこれを行う方法があることは認識していますが、他に方法があるかどうか疑問に思っています。CloudFormation がこれを行うことができるようです。
amazon-ec2 - インスタンスの起動時にApacheを自動的に開始します-awsautoscaling
apacheを使用してWebページを提供するec2インスタンスがあります。起動構成でこのインスタンスのAMIを使用して自動スケーリンググループを作成しました。CPUが80%を超え、自動スケールポリシーが実行されると、新しいインスタンスが作成されました。しかし、元のインスタンスのCPUは上昇し続け、新しいインスタンスのCPUは0%のままでした。
新しいインスタンスはWebページを提供していませんでした。これは、画像の起動時にapacheが開始されなかったためだと思います。「servicehttpdstart」を実行するために新しいインスタンスにSSHで接続しようとしましたが、次のエラーが発生しました。
なぜSSHで接続できなかったのですか?起動時にApacheを自動的に開始するように自動スケーリングを構成するにはどうすればよいですか?
amazon-ec2 - 迅速な AWS 自動スケーリング
迅速にスケールアップするには、AWS 自動スケーリングをどのように設定しますか? ELB を使用して AWS 自動スケーリング グループをセットアップしました。新しいインスタンスが追加されてオンラインになるまでに数分かかることを除けば、すべて正常に機能しています。Puppet と自動スケーリングに関する投稿で、次のような記事を見つけました。
ノードのグループに使用する AMI がすでに最新の場合、スケーリングにかかる時間を数分から数秒に短縮できます。
http://puppetlabs.com/blog/rapid-scaling-with-auto-generated-amis-using-puppet/
これは本当ですか?スケーリング時間を数秒に短縮できますか? パペットを使用すると、パフォーマンスが向上しますか?
また、小さなインスタンスは大きなインスタンスよりも速く起動することも読みました。
スモール インスタンス 1.7 GB のメモリ、1 つの EC2 コンピューティング ユニット (1 つの EC2 コンピューティング ユニットを備えた 1 つの仮想コア)、160 GB のインスタンス ストレージ、CentOS 5.3 AMI の基本インストールを備えた 32 ビット プラットフォーム
インスタンスの起動から利用可能になるまでの時間: 5 ~ 6 分 us-east-1c
L インスタンス 7.5 GB のメモリ、4 つの EC2 コンピューティング ユニット (それぞれ 2 つの EC2 コンピューティング ユニットを備えた 2 つの仮想コア)、850 GB のインスタンス ストレージ、CentOS 5.3 AMI の基本インストールを備えた 64 ビット プラットフォーム
インスタンスの起動から利用可能になるまでの時間:
11 ~ 18 分 us-east-1c両方とも、Amazon のツールを使用してコマンド ラインから開始されました。
http://www.philchen.com/2009/04/21/how-long-does-it-take-to-launch-an-amazon-ec2-instance
この記事は古いものであり、c1.xlarge インスタンスの起動に 18 分もかからないことに注意してください。それにもかかわらず、50 個のマイクロ インスタンス (100% 容量増加のアップ スケール ポリシー) を使用して自動スケーリング グループを構成することは、20 個のラージ インスタンスを使用する場合よりも効率的でしょうか? または、2 つの自動スケーリング グループを作成する可能性があります。1 つは起動時間を短縮するためのマイクロ グループで、もう 1 つは数分後に CPU のうなり声を追加するための大きなインスタンスです。他のすべてが等しい場合、t1.micro は c1.xlarge よりもどれくらい速くオンラインになりますか?
amazon-ec2 - 自動スケーリング:新しく作成されたインスタンスは常にOutOfService
これらの手順を使用して自動スケーリングを設定しました...
$ elb-create-lb autoscalelb --headers --listener "lb-port = 80、instance-port = 80、protocol = http" --listener "lb-port = 443、instance-port = 443、protocol = tcp" --availability-zones us-east-1d
$ elb-describe-lbs autoscalelb
$ elb-register-instances-with-lb autoscalelb --instances i-ee364697
$ elb-configure-healthcheck autoscalelb --headers --target "TCP:80" --interval 5 --timeout 3 --unhealthy-threshold 2 --healthy-threshold 4
$ as-create-launch-config autoscalelc --image-id ami-baba68d3 --instance-type t1.micro
$ as-create-auto-scaling-group autoscleasg --availability-zones us-east-1d --launch-configuration autoscalelc --min-size 1 --max-size 5 --desired-capacity 1 --load-balancers autoscalelb
$ as-describe-auto-scaling-groups autoscleasg
$ as-put-scaling-policy MyScaleUpPolicy --auto-scaling-group autoscleasg --adjustment = 1 --type ChangeInCapacity --cooldown 300
$ mon-put-metric-alarm MyHighCPUAlarm --comparison-operator GreaterThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS / EC2" --period 600 --statistic Average --threshold 80 --alarm -actions arn:aws:autoscaling:us-east-1:616259365041:scalingPolicy:46c2d3b3-7f29-42b6-ab64-548f45de334f:autoScalingGroupName / autoscleasg:policyName / MyScaleUpPolicy --dimensions "AutoScalingGroupName = autoscleasg"
$ as-put-scaling-policy MyScaleDownPolicy --auto-scaling-group autoscleasg --adjustment = -1 --type ChangeInCapacity --cooldown 300
$ mon-put-metric-alarm MyLowCPUAlarm --comparison-operator LessThanThreshold --evaluation-periods 1 --metric-name CPUUtilization --namespace "AWS / EC2" --period 600 --statistic Average --threshold 50 --alarm -actions arn:aws:autoscaling:us-east-1:616259365041:scalingPolicy:30ccd42c-06fe-401a-8b8f-a4e49bbb9c7d:autoScalingGroupName / autoscleasg:policyName / MyScaleDownPolicy --dimensions "AutoScalingGroupName = autoscleasg"
この後、私はこのコマンドを実行しています:
$ as-describe-auto-scaling-groups autoscleasg --headers
応答:
AUTO-SCALING-GROUP GROUP-NAME LAUNCH-CONFIG AVAILABILITY-ZONES LOAD-BALANCERS MIN-SIZE MAX-SIZE DESIRED-CAPACITY AUTO-SCALING-GROUP autoscleasg autoscalelc us-east-1d
autoscalelb 1 5 1 INSTANCE INSTANCE-ID AVAILABILITY-ZONE STATEステータス起動-CONFIGINSTANCEi-acf48bd5 us-east-1d InService Healthy autoscalelc
その後:
$ elb-describe-instance-health autoscalelb --headers
それが示している:
INSTANCE_IDINSTANCE_ID状態説明
理由コードINSTANCE_IDi-ee364697InService N / A
N / A INSTANCE_IDi-acf48bd5OutOfServiceインスタンスが少なくともUnhealthyThreshold数のヘルスチェックに連続して失敗しました。実例
私の最初の問題は:
メインインスタンスに負荷がない場合、自動的に1つの追加インスタンスが作成されます。
次に、新しく作成されたインスタンスは常にOutOfServiceです。
次のコマンドを使用して最小サイズを0に変更した場合:
$ as-update-auto-scaling-group autoscleasg --launch-configuration autoscalelc --availability-zones us-east-1d --min-size 0 --max-size 5
そして、xenを使用してインスタンスに負荷をかけようとしています:
自動スケーリングはインスタンスを作成しません。上記のコマンドを最大5セッションで実行している場合でも、CPU使用率は100%に達し、インスタンスは作成されていません。
私を助けてください...
amazon-ec2 - アマゾンウェブサービスでの非常に短いトラフィックスパイクに対する正しいCloudwatch/Autoscale設定は何ですか?
次のトラフィックパターンでAmazonElasticBeanstalkで実行されているサイトがあります。
- 通常、最大50人の同時ユーザー。
- Facebookページに投稿された場合、1/2分間で最大2000人の同時ユーザー。
アマゾンウェブサービスは、このような課題に迅速に拡張できると主張していますが、クラウドウォッチの「xより大きい」セットアップは、このトラフィックパターンに対して十分に高速ではないようです。
通常、数秒以内にすべてのec2インスタンスがクラッシュし、すべてのcloudwatchメトリクスが強制終了され、サイト全体が4/6分間ダウンします。これまでのところ、このシナリオで機能する構成はまだ見つかりません。
これは、サイトを殺した小さなイベントのグラフです。
amazon-ec2 - Amazon EC2 はグレースフル シャットダウンで自動スケールダウンしますか?
EC2 自動スケーリングを使用して、負荷のスパイクに対処することを検討しています。私たちの場合、SQS キューのサイズに基づいてインスタンスをスケールアップし、キューのサイズを元にスケールを下げたいと考えています。各 SQS メッセージは、インスタンスを終了する前に完了しなければならない長時間実行される可能性のあるジョブ (メッセージごとに最大 20 分) を定義します。
当社のソフトウェアはシャットダウン プロセスを適切に処理するため、発行sudo service ourapp stop
はアプリの完了を待ってから戻ります。
私の質問; 自動スケーリングがスケールダウンを開始すると、終了が発行されます (電源ボタンを押すようなものです)。インスタンスが「電源オフ」される前に、アプリが完全に終了するのを待ちますか?
https://forums.aws.amazon.com/message.jspa?messageID=180674 <-それと私が見つけた他のことは、そうではないことを示唆しているようです