Auto Scaling Groupで作成されるインスタンスのデフォルト名を設定する方法

Auto Scaling Groupで作成されるインスタンスのデフォルト名を設定する方法

Clock Icon2024.06.22

はじめに

Auto Scaling Groupで作成されるEC2のデフォルト名を設定する方法が2つあります。

  • 起動テンプレートのリソースタグで設定
  • Auto Scaling Groupのタグで設定

この2つを同時に設定した場合、どちらの設定が優先されるのか気になったので確認してみました。

先に結果から

Auto Scaling Groupのタグで設定した値が優先されました。

やってみた

起動テンプレートのリソースタグを設定する

まずは起動テンプレートのリソースタグを以下のように設定します。

項目 設定値
キー Name
launch-template
リソースタイプ インスタンス


画面右側の説明にも書かれていますが、リソースタイプをインスタンスに設定することで、起動テンプレートで作成されたインスタンにタグを反映させることができます。

ではこの起動テンプレートをAuto Scaling Groupに設定してインスタンスを作成します。
ちなみに、この時Auto Scaling Groupのタグは設定していません。

想定通りインスタンスの名前はlaunch-templateで作成されてますね。

Auto Scaling Groupのタグを設定する

次は起動テンプレートのリソースタグに加えてAuto Scaling Groupのタグも設定してみましょう。
以下の内容でタグを設定します。

項目 設定値
キー Name
demo-00


では、これでインスタンスを作成します。
この時Auto Scaling Groupに紐づく起動テンプレートのリソースタグは設定しています。
この場合、どちらが優先されるのでしょうか。


今度はdemo-00という名前でインスタンスが起動しました。
つまりAuto Scaling Groupで設定したタグの値が優先されたことが分かりました。

念の為、先にAuto Scaling Groupのタグを設定した状態で後から起動テンプレートのリソースタグを設定するパターンも試してみましたが、やはりAuto Scaling Groupのタグが優先されていました。
なので順番によって結果が変わるということもなさそうです。

使い分け

複数のAuto Scaling Groupで1つの起動テンプレートを参照するようなケースでは起動テンプレートでリソースタグを設定することで、管理の手間が減ります。
逆にAuto Scaling Group毎に起動するインスタンスのタグを設定したい場合は、Auto Scaling Groupのタグを設定することで柔軟なタグ設定ができます。

まとめ

起動テンプレートで設定したはずのリソースタグの値が反映されていなくて焦ることがありました。
どこで上書きされてるのかな?と思い調べてみたところAuto Scaling Groupのタグでした。という内容でした。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.