티스토리 뷰

alb의 로깅은 기본적으로 비활성화 되어있음

 

access로그를 활성화하면 cloudwatch로 put하는게 아닌 s3로 5분마다 압축하여 로깅을 함

 

해당 로깅을 하는 방법에 대한 정리

 

먼저 로그가 저장될 S3 버킷에 아래와 같은 권한 설정을 한다

 

S3는 ALB와 동일한 리전에 있어야 함

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::600734575887:root"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::{{버킷이름}}/{{경로}}/*"
        }
    ]
}

600734575887의 경우 seoul 리전의 alb account이며 타 리전의 경우 아래 페이지 참조

 

https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-access-logs.html?icmpid=docs_elbv2_console

 

 

 

로깅을 활성화하면 테스트 로그를 쓰는데 해당 부분 테스트(편의상 테스트는 console에서 수행)

 

 

 

위와같이 설정 후 저장을 한다

 

이후 해당 위치의 AWSLogs/ 하위로 가보면 아래와 같이 testfile이 생성되었으며 정상적으로 작동 한다는 의미

 

이제 테스트가 완료되었으니 ing 생성시 해당 로깅 설정이 적용되도록 annotation을 추가해준다

alb.ingress.kubernetes.io/load-balancer-attributes: access_logs.s3.enabled=true,access_logs.s3.bucket={{버킷이름}},access_logs.s3.prefix={{경로}}

실제 로그는 아래의 경로에 ip별로 압축되어 생성됨

경로

elasticloadbalancing/{{리전}}/{{년}}/{{월}}/{{일}}
elasticloadbalancing/ap-northeast-2/2022/06/16/

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함