AWS リソースが Amazon EKS(Elastic Kubernetes Service)で AWS Load Balancer Controllerを使用して作成した Application Load Balancer(ALB)の場合、 AWS WAFコンソールで Web ACLとAWS リソースを関連付けるとAmazon EKS クラスター変更及びデプロイの際、Web ACLと ALB(Application Load Balancer)リソースの関連付けが自動的に切断される可能性があります。
Amazon EKS クラスターを使用する場合、Amazon EKS クラスターで作成したALB IngressにWeb ACLのARN情報をアノテーションで追加してWeb ACLとAWSリソースを関連付けましたら問題が解決できます。
以下の2つの方法で1つを選択し、
ALB IngressにWeb ACL ARNアノテーションを追加してください。
[事前準備]
ALB Ingressに追加するため、WMSを適用するWeb ACLのARN情報をコピーしてください。
コピー方法: AWS WAFコンソール -> Web ACLsタブ -> リソースと関連付けるWeb ACLチェック ->右側の上部Copy ARNクリック
[設定方法 1]
yamlファイルに宣言後、変更及びデプロイします。
1) 関連付けるEKS クラスターのyamlファイルingressオブジェクト宣言部のmetadata -> annotationsフィールド宣言部に ""alb.ingress.kubernetes.io/wafv2-acl-arn: {関連付けるWeb ACL ARN}"" 追加入力
2) 反映 (kubectl apply -f ""ファイル名"") 進行
3) Web ACLリソースにEKS クラスター ALB登録可否を確認
[設定方法 2]
CLIで kubectl editコマンドを使用します。
1) kubectlを使用してaws alb controllerに設定されているingressオブジェクトのリソース変更 : kubectl edit ingress/[Name] -n [NameSpace]
2) metadataフィールド -> annotationsフィールド宣言部に ""alb.ingress.kubernetes.io/wafv2-acl-arn: {関連付ける Web ACL ARN}"" 追加入力後に保存
3) Web ACLリソースにEKS クラスター ALB登録可否を確認
※ AWSガイドの'ALB Ingress に AWS WAF ウェブ ACL ARN アノテーション追加する' をご参考ください。
: https://aws.amazon.com/ko/premiumsupport/knowledge-center/eks-alb-ingress-aws-waf/
コメント