Quantcast
Channel: Amazon Web Services ブログ
Viewing all articles
Browse latest Browse all 446

Auto Scalingでのインスタンス保護

$
0
0

 

Auto Scaling を使用すると、事前に定義された条件に基づいて複数のEC2インスタンスを起動・停止することができます。インスタンスをスケールアウトさせることによって、必要な処理能力が増加した場合でも、要求されるレベルのパフォーマンスを維持することができます。スケールインさせることで、負荷が低い期間にかかるコストを抑えることができます。

本日より、Auto Scalingグループがスケールインを実行する際に、削除するインスタンスを制御できる機能を追加しました。これまでは、特別なアクションを行わなければ、Auto Scalingグループのどのインスタンスでも削除されました。本日から利用可能になった新しい機能により、特定のインスタンスが削除されないよう保護することができます。

いくつかの理由でこのような制御を行いたい場合があるでしょう。1つ目は、インスタンスが長時間の処理を実行しているような場合です(SQSキューからPullされたメッセージの処理かもしれません)。インスタンスが削除されないようにすることで、無駄な処理を避けることができます。2つ目は、インスタンスがAuto Scalingグループの中で特別な処理を行っているような場合です。Hadoopクラスタのマスタノードであったり、インスタンスのグループの実行状態を示す”カナリア”の役割をする場合などです。

 

スケールイン時のインスタンスの削除保護

Auto Scalingのコンソールでインスタンスを選択し、操作メニューからインスタンスの保護を選択することで、簡単にインスタンスを削除から保護することができます。

 

そして、内容を確認します。

 

コンソールで、Auto Scalingグループ中のインスタンスごとに削除保護のステータスを確認できます。

 

インスタンスの保護ステータス変更は、SetInstanceProtection 関数を呼び出すことでも行えます。長時間実行されているプロセスやキュードリブンなワーカープロセスをスケールイン時の削除から保護するために、次のようにアプリケーションをセットアップします(コードは擬似的なものです)。

PHP
while (true)
{
  SetInstanceProtection(False);
  Work = GetNextWorkUnit();
  SetInstanceProtection(True);
  ProcessWorkUnit(Work);
  SetInstanceProtection(False);
}

  

Auto Scalingグループの中で、最低1つのインスタンスは保護しないままにしておくケースが多いでしょう。全てのインスタンスが保護される設定の場合、スケールインアクションは実行されません。さらに詳細を知りたい場合は、Auto Scaling Lifecycle を参照してください。

この新機能は既に利用可能で、本日から使用いただけます!

— Jeff;

PS -  AWS SDKs は12月8日にアップデートされます。このアップデート後から SetInstanceProtection 関数をお使いいただけます。

 

翻訳:国政 丈力 (原文:https://aws.amazon.com/jp/blogs/aws/new-instance-protection-for-auto-scaling/

 

 


Viewing all articles
Browse latest Browse all 446

Trending Articles