2017-07-17 19 views
2

複数のアプリケーションにAmazon EC2 Auto Scalingグループを使用しています。誰もが知っているように、メモリリークや他の「しばらくの間問題が発生しました」それはまだ可能です。時間の経過後に自動スケーリングのインスタンスを自動的に終了

サーバをバウンスするだけで、このような可能性から保護したいと考えています。つまり、インスタンスが終了するまで、つまりインスタンスが終了するまでに24時間かかります。しかし、私たちは殺すことが安全であることを望んでいます。たとえば、グループにインスタンスが1つだけあっても、別のインスタンスを稼働状態にしたい場合は、、次には古いボックスを強制終了します。

サポートはありますか?インスタンスの生存時間プロパティなど

答えて

1

Amazon EC2や自動スケーリングにはこのようなプロパティはありません。

手動でset the instance healthからUnhealthyに変更すると、自動スケーリングが終了してインスタンスが置き換えられます。ただし、インスタンスが1つしかない場合は、インスタンスが存在しない期間が存在する可能性があります。

Auto Scaling termination policyOldestInstanceに設定することができます。つまり、自動スケーリングでインスタンスを終了する必要がある場合は、最もインスタンスが多いAZ内で最も古いインスタンスが終了します。これにより、古いインスタンスが取り除かれますが、グループがスケールインされているときだけです。

したがって、あなたは、スケールアウトグループとは再びスケールでにそれを引き起こすことをスクリプトで終了方針を補完することができます。たとえば、インスタンス数を2倍にして起動するのを待ってから、インスタンス数を半分にします。これにより、すべてのインスタンスがリフレッシュされます(インスタンスが複数のAZにまたがって広がっていて、偶数でない場合)。

別のオプションは、インスタンスを再起動することです。これはではありません。は、Auto Scalingに対して不健全に見えますが、Load Balancerにとっては不健全に見えます。 (自動スケーリング内でELBヘルスチェックを有効にした場合、自動スケーリングは実際にインスタンスを終了し、ヘルスチェックに失敗します)Scheduled Events for Your Instancesを使用して、Amazon CloudWatchイベントを一定の間隔でインスタンスを再起動させたり、オペレーティングシステムが特定の間隔で再起動するように指示します。

ただし、尋ねた内容を正確に行う自動オプションはありません。

関連する問題