본문 바로가기
IT/AWS

[AWS] ALB Access log 활성화 방법

by 양눈 2024. 9. 12.
반응형

AWS에서 서비스 구성후에 통신이 안될 때 트래픽이 어디에서 막히는지 볼려면 각각의 리소스의 엑세스로그를 볼 필요가 있는데요 각각 리소스에서 Enable만하면 볼 수 있도록 만들어 놨으면 좋겠는데 몇가지 설정을 해줘야 Access log 활성화를 할 수가 있습니다. 전체 적인 순서는 아래와 같습니다.

1. 로그 저장할 S3버킷 생성 
2. S3에 권한 설정(정책연결)
3. ALB Access log 활성화


1) Log를 저장할 S3 bucket 생성 
- Amazon S3 > 버킷 > 버킷만들기 
 .버킷이름 : bucket-for-access-log 
 .나머지 설정 : 디폴트


- 하단의 "버킷만들기" 클릭

2) S3권한설정
- Amazon S3 > 버킷 > [버킷명] > 권한탭 > 버킷정책  > 편집
아래와 같이 json 코드로 정책 추가 후 -> 변경사항 저장

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "AWS": "arn:aws:iam::elb-account-id:root"
      },
      "Action": "s3:PutObject",
      "Resource": "my-s3-arn"
    }
  ]
}

.my-s3-arn : 의 경우 저장할 S3의 Arn을 작성해 준다. 포멧은 아래와 같다. 
(prefix 추가) arn:aws:s3:::bucket-name/prefix/AWSLogs/aws-account-id/* 
(prefix 없이 지정) arn:aws:s3:::bucket-name/AWSLogs/aws-account-id/*

패스를 작성하기 싫다면 아래와 같이 작성해도 된다. 
arn:aws:s3:::bucket-name/*
그러면 arn:aws:s3:::bucket-name/AWSLogs/aws-account-id/  위치에 로그가 생성 된다. 

.elb-account-id : 리전마다 다르며 아래 코드를 참조 

  • US East (N. Virginia) – 127311923021
  • US East (Ohio) – 033677994240
  • US West (N. California) – 027434742980
  • US West (Oregon) – 797873946194
  • Africa (Cape Town) – 098369216593
  • Asia Pacific (Hong Kong) – 754344448648
  • Asia Pacific (Jakarta) – 589379963580
  • Asia Pacific (Mumbai) – 718504428378
  • Asia Pacific (Osaka) – 383597477331
  • Asia Pacific (Seoul) – 600734575887
  • Asia Pacific (Singapore) – 114774131450
  • Asia Pacific (Sydney) – 783225319266
  • Asia Pacific (Tokyo) – 582318560864
  • Canada (Central) – 985666609251
  • Europe (Frankfurt) – 054676820928
  • Europe (Ireland) – 156460612806
  • Europe (London) – 652711504416
  • Europe (Milan) – 635631232127
  • Europe (Paris) – 009996457667
  • Europe (Stockholm) – 897822967062
  • Middle East (Bahrain) – 076674570225
  • South America (São Paulo) – 507241528517

예시)


3) ALB Accesslog 활성화 
S3에 정책연결이 되었다면 ALB에서 Access로그를 활성화 하면 된다. 
- EC2 > 로드 밸런서 > [alb name] > 오른쪽 "작업" > Load Balancer 속성편집 
 .엑세스로그 탭 활성화 
 .S3 URI : S3찾아보기 > 생성한 S3 선택 
 .변경 내용 저장

 

4) S3 버킷에 로그 확인 
Amazon S3 > 버킷 > [버킷명] > AWSLogs/[account-id]/elasticloadbalancing/ap-northeast-2/[Year]/[Month]/[Day]/[account-id]*.log.gz 
파일에 로그가 생성되었다.

 

출처 : https://docs.aws.amazon.com/elasticloadbalancing/latest/application/enable-access-logging.html

반응형

댓글