CLB で削除保護機能を使用することはできますか

CLB で削除保護機能を使用することはできますか

Clock Icon2025.04.05

困っていること

CLB を利用中です。ALB や NLB のように 削除保護 を使用したいのですが可能ですか。

どう対応すればいいの?

CLB では削除保護機能を提供していないため叶いません。
なお、AWS CLI modify-load-balancer-attributes コマンドを利用した設定においても叶いません。

https://awscli.amazonaws.com/v2/documentation/api/latest/reference/elbv2/modify-load-balancer-attributes.html

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 (削除保護不可)
002

※ ALB (削除保護可能)
001

代替案

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)が付いたリソースの削除を明示的に拒否しているため制御できてます。

003

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_tags.html

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.