반응형
1️⃣ S3 버킷 준비
ALB 로그는 S3에 저장되므로, S3 버킷을 먼저 생성해요.
- 예: my-alb-logs-bucket
- 권장: 별도의 S3 버킷 사용
- S3 버킷 정책 설정 필요 (아래 참고)
2️⃣ Load Balancer 설정 변경
- AWS 콘솔 → EC2 → "Load Balancers" 선택
- 로그를 활성화할 ALB 선택
- "Attributes" 탭 → "Edit attributes" 클릭
- Access logs 항목에서:
- Enable 체크
- S3 bucket name: 로그를 저장할 버킷 이름 입력
- S3 bucket prefix (optional): logs/ 등 원하는 폴더 지정 가능
3️⃣ S3 버킷 정책 (IAM 권한)
로그가 정상적으로 저장되려면, 다음과 같은 정책을 S3에 설정해야 해요:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSALBLogsPolicy",
"Effect": "Allow",
"Principal": {
"Service": "logdelivery.elasticloadbalancing.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::my-alb-logs-bucket/AWSLogs/<your-account-id>/*"
}
]
}
<your-account-id> 부분은 본인의 AWS 계정 ID로 바꿔주세요.
📂 로그 예시 파일 구조
s3://my-alb-logs-bucket/AWSLogs/123456789012/elasticloadbalancing/region/year/month/day/
📌 추가 팁
- 로그는 5분~10분 단위로 수집됨
- 로그 파일 이름은 자동 생성 (타임스탬프, LB 이름 포함)
- Athena + Glue를 활용해서 로그 분석도 가능해요 (원하시면 쿼리 템플릿도 드릴게요)
🎯 CLI로 설정하고 싶다면?
aws elbv2 modify-load-balancer-attributes \
--load-balancer-arn <LB_ARN> \
--attributes Key=access_logs.s3.enabled,Value=true \
Key=access_logs.s3.bucket,Value=my-alb-logs-bucket \
Key=access_logs.s3.prefix,Value=logs
반응형