CLB で削除保護機能を使用することはできますか
困っていること
CLB を利用中です。ALB や NLB のように 削除保護 を使用したいのですが可能ですか。
どう対応すればいいの?
CLB では削除保護機能を提供していないため叶いません。
なお、AWS CLI modify-load-balancer-attributes コマンドを利用した設定においても叶いません。
Modifies the specified attributes of the specified Application Load Balancer, Network Load Balancer, or Gateway Load Balancer.
deletion_protection.enabled - Indicates whether deletion protection is enabled. The value is true or false . The default is false .
※ CLB (削除保護不可)
※ ALB (削除保護可能)
代替案
IAM ポリシーを使用して特定のタグが付いた CLB の削除制限することをご検討ください。
例えば CLB 側のタグにおいて以下の設定を行います。
- キー: Protection
- 値: True
その後、以下のポリシーを作成しロールやユーザーなどに適用することで CLB の削除を制限することが可能です。
※ 適宜修正してください。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowGeneralELBActions",
"Effect": "Allow",
"Action": "elasticloadbalancing:*",
"Resource": "*"
},
{
"Sid": "DenyDeleteProtectedCLB",
"Effect": "Deny",
"Action": [
"elasticloadbalancing:DeleteLoadBalancer"
],
"Resource": "*",
"Condition": {
"StringEquals": {
"elasticloadbalancing:ResourceTag/Protection": "True"
}
}
}
]
}
1つ目のステートメントでは ELB に関するすべてのアクションを許可していますが、2 つ目のステートメントで特定のタグ(Protection=True)が付いたリソースの削除を明示的に拒否しているため制御できてます。