残念ながら、このハイブリッド Auto Scalingアプローチはすぐに使用できるようには見えません。
ただし、次のようにこの制限を回避できる場合があります(テストされていませんが、しばらくの間私が試してきたシステム設計です)。
潜在的な回避策
Auto Scalingを使用してスポットインスタンスを起動するで概説されているように、スポット価格の入札は、使用中の起動設定のパラメータです。指摘したように、利用可能なハイブリッド起動構成はありません。むしろ、オンデマンドまたはスポットでなければなりません。つまり、ユースケースには2つの異なる起動構成が必要です。
Auto Scalingグループに一度に接続できる起動設定は1つだけであるため、これはすぐには役に立たないようです。次の(部分的に古い)制約があります(起動設定を参照)。
Auto Scalingグループに新規または更新された起動設定をアタッチすると、新しい設定パラメーターを使用して新しいインスタンスが起動されます。既存のインスタンスは影響を受けません。Auto Scalingを縮小する必要がある場合、古い起動構成を持つインスタンスを最初に終了します。[強調鉱山]
強調部分は、前者が、追加のスポット起動構成にそれぞれの初期オンデマンド起動設定から変更した後に実行されているオンデマンドインスタンスを保持するための要件をカバーして、キーけれどもであり、後者は必ずしももはやケースされていない原因にAuto Scalingグループのインスタンス終了ポリシーに記載されている、最近導入されたAuto Scaling終了ポリシー(変更については、付随するAWSブログ投稿によるファンファーレは通常ありませんでした):
Auto Scalingは、終了するインスタンスを選択する前に、最初にグループが使用する他のアベイラビリティーゾーンよりも多くのインスタンスを持つアベイラビリティーゾーンを識別します。すべてのアベイラビリティーゾーンに同じ数のインスタンスがある場合、ランダムなアベイラビリティーゾーンを識別します。識別されたアベイラビリティーゾーン内で、Auto Scalingは終了ポリシーを使用して、終了するインスタンスを選択します。[強調鉱山]
概説されているようにどのようにあなたの終了ポリシー作品、あなたは今指定することができNewestInstanceを、あなたが最後の打ち上げのインスタンスを終了することにしたい場合は、より最近発売されたスポットインスタンスの一つであると思われます、:
Auto Scalingは、インスタンスの起動時間を使用して、最後に起動されたインスタンスを識別します。
明らかにこれにはもう少しあるかもしれません。例えば、ポリシーのいずれか1つをスタンドアロンポリシーとして指定するか、順序付けられたリストに複数のポリシーをリストすることができますが、このアプローチはすべてのインスタンスの負荷を考慮します自動スケーリングの測定値とトリガー。ただし、次の点に注意してください。
警告
ロードバランサーが他の理由で(たとえば、それ自体が異常になったために)オンデマンドインスタンスの1つを終了した場合、それは自動的にオンデマンドインスタンスに置き換えられません。したがって、このイベントを個別に監視および説明する必要があります。たとえば、オンデマンド起動構成を一時的に再度アクティブにするなどです。
幸運を!