設定できる Amazon EC2 Auto Scaling グループの最大容量を SCP で制限してみた
こんにちは、クラウド事業本部の平木です!
今回は、Amazon EC2 Auto Scaling グループの最大インスタンス数を制限する方法を検討することがあったためその方法をご紹介します。
autoscaling:MaxSize
の活用
条件キー早速結論ですが、
IAM ポリシーの条件キーautoscaling:MaxSize
を利用することで、ユーザーが Auto Scaling グループを作成または更新する際に設定できる最大インスタンス数を制限できます。
これにより、組織のリソース使用を適切に管理し、予期しないコストの増加を防ぐことが可能です。
ポリシーの例
以下の SCP は、ユーザーが Auto Scaling グループを作成または更新する際に、
例えば最大サイズ(MaxSize
)を 10 以下に制限します。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Deny",
"Action": [
"autoscaling:CreateAutoScalingGroup",
"autoscaling:UpdateAutoScalingGroup"
],
"Resource": "*",
"Condition": {
"NumericGreaterThan": {
"autoscaling:MaxSize": "10"
}
}
}
]
}
このポリシーのポイントは以下の通りです:
Effect
をDeny
に設定:MaxSize
が 10 より大きい場合のリクエストを明示的に拒否しますNumericGreaterThan
条件演算子の使用:autoscaling:MaxSize
が 10 より大きい場合にリクエストを拒否します- 数値条件演算子 の活用により、数字の一致(NumericEquals)や未満(NumericLessThan)の表現も可能です
Resource
を"*"
に設定:すべてのリソースに対してこのポリシーを適用します
適用してみた
上記例から SCP を適用し、任意の Auto Scaling グループを作成します。
下記のように 11 台を最大で指定してみました。
その設定で Auto Scaling グループを作成しようとすると SCP で拒否されていることが分かります。
更新時も確認してみると制限されていることが分かります。
参考
まとめ
今回は、IAM ポリシーの条件キーautoscaling:MaxSize
を活用することで、Auto Scaling グループの最大インスタンス数を制限してみました。
条件ポリシーを使用することで他にも最小数を制限したり、タグの制約をかけることなども可能です。
この記事がどなたかの役に立つと嬉しいです。