本番のEC2 Auto Scalingグループ(現在10台稼働)でWebアプリケーションを運用しています。新しいAMIへの更新が必要になり、以下の条件で既存インスタンスを段階的に置き換えたいと考えています。 条件: ①置き換え中は常に70%以上(7台以上)のインスタンスが稼働していること ②問題発生時は置き換えを即座にキャンセルできること ③最小限のオペレーション手順で完結すること 最も適切な実装方法はどれですか?
Launch TemplateはLaunch Configurationの後継であり、バージョン管理が可能です。Instance Refresh機能を使用することで、MinHealthyPercentageを70に設定した段階的なインスタンス置き換えが実現でき、進行中のRefreshをコンソールまたはAPIからいつでもキャンセルできます。 選択肢AはLaunch Configurationを使い既存インスタンスを手動で終了する手順を採用しているため、キャンセル操作ができず要件②を満たしません。また、Launch ConfigurationはAWSにより非推奨とされており新機能の追加もされません。 選択肢CのBlue/Greenは有効ですが、ターゲットグループの付け替えなど追加オペレーションが必要になり要件③を満たしません。 選択肢DのCloudFormation UpdatePolicyは技術的には機能しますが、既存インフラがCloudFormationで管理されていない場合はスタック化の追加作業が必要であり、最小限のオペレーション手順という要件③を満たしません。