[アップデート] Amazon EC2 Auto Scaling で Auto Scaling Group 内のインスタンスを最新化できるようになりました!

Amazon EC2 Auto Scalingでインスタンスの更新機能が追加されました
2020.06.17

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、大前です。

久々に AWS MediaServices 以外の記事を書く気がします。

 

今回は、掲題のアップデートの紹介です。

Amazon EC2 Auto Scaling now supports Instance Refresh within Auto Scaling Groups

 

どんなアップデートか

Amazon EC2 Auto Scaling(以下 Auto Scaling)にて Auto Scaling Group 内のインスタンスを最新化する事が出来るようになりました。

今まで、 Auto Scaling Group の起動設定を変更(例えば、AMIの更新など)した後に既存のインスタンスを最新化するには一手間が必要だったりしたのですが、今回追加されたこの機能を使用するだけで、最新の起動設定で起動されたインスタンスに置き換える事が可能となりました。

今まで痒かった部分に手が届く嬉しいアップデートではないでしょうか。

 

やったみた

では実際に触っていきましょう。今回はマネジメントコンソールで作業していきますが、CLI でも実施可能です。

Replacing Auto Scaling Instances Based on an Instance Refresh

 

準備

異なる AMI の起動設定を 2つと、1つの Auto Scaling Group を作成します。

今回は、以下を作成しました。

(前に試した時に残っていた起動設定を使ったので名前の統一性が崩壊してます。。。)

起動設定

  • sample-launch-conf
    • AMI ID ... ami-0a1c2ec61571737db
  • asg-test
    • AMI ID ... ami-0daffe7b6ba66b055

Auto Scaling Group

  • sample-asg
    • 起動設定 ... sample-launch-conf
    • 希望キャパシティ ... 2台

 

AMI ID が ami-0a1c2ec61571737db の EC2 が 2台立ち上がっている事を確認しておきます。

 

Auto Scaling Group の更新

Auto Scaling Group を選択し、「編集」より起動設定を更新します。

今回は、asg-test に変更しました。

 

「インスタンスの更新」機能を使ってみる

Auto Scaling Group のコンソール画面を開きます。

「インスタンスの更新」機能は新規コンソール画面にしか表示されないようなので、古いままの方は以下より新規コンソール画面に切り替えましょう。

 

更新したい Auto Scaling Group(今回は sample-asg )を選択し、画面下部のタブより「インスタンスの更新」を開き、「インスタンスの更新の開始」をクリックします。

 

下記の様な画面が表示されますので、今回はデフォルトのまま続行します。

 

各種設定項目の説明は、以下になります。

最小正常率

インスタンスの更新を実施する最中に正常な状態を保つ必要があるインスタンスの割合です。

例えば、10台のインスタンスに対して 50% を指定した場合、 5台ずつ更新が実施されます。

下記にもありますが、0% を指定すると全インスタンスが一気に更新されます。

(Optional) For Minimum healthy percentage, keep the default value, 90, or specify a new value within the range of 0 percent to 100 percent. This is the amount of capacity in the Auto Scaling group that must remain healthy during an instance refresh to allow the operation to continue, expressed as a percentage of the group's desired capacity. Increasing this setting to 100 percent limits the rate of replacement to one instance at a time. In contrast, decreasing this setting to 0 percent has the effect of replacing all instances at the same time.

インスタンスのウォームアップ

インスタンスのウォームアップ時間を指定できます。

(Optional) For Instance warmup, the default is the value specified for the health check grace period for the group. You can change the value to ensure that it reflects your actual application startup time. The default value may not reflect very recent updates in the latest version of your application.

 

実行すると、メッセージと共にインスタンスの更新が開始されます。

 

EC2 確認

EC2 コンソールを確認してみると、1台の古いインスタンスがシャットダウンされ、新しい起動設定のインスタンスが立ち上がっている事が確認できます。

 

ウォームアップ期間を挟み、2台目も無事起動しました。

晴れて、最新の起動設定で EC2 を置き換える事が出来ました。

 

おわりに

Amazon EC2 Auto Scaling の新機能である、インスタンスの更新機能を紹介しました。

AMI の作成、起動設定の更新、インスタンスの最新化までを自動化出来そうですね。

 

この記事がどなたかのお役に立てば幸いです。

以上、AWS 事業本部の大前でした。

参考