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
'IT > AWS' 카테고리의 다른 글
[AWS] NLB 클라이언트 IP 보존 방법 (0) | 2024.10.31 |
---|---|
AWS ECS 서비스 배포시 ALB 두개 연결 방법 (0) | 2024.08.14 |
AWS ECS 서비스 배포시 awsvpc 모드 최대 ENI 개수 (0) | 2024.08.06 |
댓글