はじめに
EC2をAutoScalingするためには、AutoScalingで増減させるEC2インスタンスの設計書ともいえる起動テンプレートの作成が必要です。
起動テンプレート設定中に、
EC2インスタンスにセキュリティグループをアタッチしつつ、
ENIの設定を変更しようとするとコンフリクトが発生し、ENIの設定ができませんでした。
ENIが設定できない状態
以下のように表示されます。
ソーステンプレートにインスタンスレベルで指定されたセキュリティグループがある場合、ネットワークインターフェイスを指定することはできません。
インスタンスレベルで指定されたセキュリティグループがある場合、ネットワークインターフェイスを指定することができません。と表示されていることが分かります。
起動テンプレートでは、インスタンスレベルでセキュリティグループを指定すると、
プライマリネットワークインターフェイスが自動作成されるためです。
通常はそれでも問題がないのですが、今回は個々のインスタンスに別々のパブリックIPv4アドレスを付与したいという思いがありました。
自動作成されたプライマリネットワークインターフェイスではデフォルトでパブリックIPv4付与がオフになっているため、困りました。
network_interfaces側でセキュリティグループを指定する
解決方法は単純で、インスタンスレベルでセキュリティグループを指定しなければOKです。
上記の例では、インスタンスレベルでセキュリティグループを指定せず、ネットワークインターフェイス部分でセキュリティグループとENIの各種設定を行っています。
こうすることで、セキュリティグループを指定しつつ、ENIの高度な設定を行うことができました!
おわりに
セキュリティグループを指定するとプライマリネットワークインターフェースが作成される、が意味不明で少し悩みました。
しかし、なんとなく理解できたため、ようやくAutoScalingで色々遊べます!
こうした少しの躓きも、日々ストックしていければなーと思います。