에루샤
erusya
Back-end Developer
Web Geek
Anime Otaku
에루샤
개발
Dev: AWS

AWS Cloud Front 표준 로그 활성화

150 views as of December 11, 2024.

AWS Cloud Front Standard Logging 설정

AWS 클라우드 프론트를 사용하면서 대략적인 리소스 요청와 처리에 대한 로그를 일별로 받아볼 수 있는 기능이 있다.

표준 로깅(Standard Logging)이라고 하며 이를 쉽게 AWS 관리 사이트에서 아래와 같이 활성화 할 수 있다.


순차적으로 "Cloud Front" -> 배포 -> 내 배포중인 내용 -> "Logging" 탭 메뉴 ->  Standard log Destinations 박스에서 Add 버튼이나 테이블 중앙의 Enable standard logs 버튼을 클릭해 표준 로그를 활성화 시킬 수 있다.

해당 버튼을 누르면 아래와 같이 로그 생성 모달이 나오게 되는데,


S3의 대상 버킷을 선택하고 로그 필드를 선택할 수 있다.
기본적으로 33개의 필드가 자동으로 체크되어있고 여기서 자신이 필요한 필드만큼 제어할 수 있다.

나는 그냥 기본 세팅된 대로 로그를 활성화 했다.

이후 하단의 Output format, Field delimiter를 설정하고 (기본으로 설정되어있는 값 추천) "Submit" 주황 버튼을 클릭하면 로그 기록이 시작된다.

이후 S3 버킷에 가서 로그 기록을 위한 정책을 추가해줘야하는데, 위 UI를 통해서 정상적으로 추가했다면 이미 아래와 같이 정책이 추가되었을 가능성이 높다.

{
	"Sid": "AWSLogDeliveryWrite-651838971",
	"Effect": "Allow",
	"Principal": {
		"Service": "delivery.logs.amazonaws.com"
	},
	"Action": "s3:PutObject",
	"Resource": "arn:aws:s3:::erulabo/*",
	"Condition": {
		"StringEquals": {
			"s3:x-amz-acl": "bucket-owner-full-control",
			"aws:SourceAccount": "000000000000000"
		},
		"ArnLike": {
			"aws:SourceArn": "arn:aws:logs:us-east-1:0000000000:delivery-source:CreatedByCloudFront-E21YV94URXKUQV"
		}
	}
}Copy

버킷 루트위치에 로그파일이 쌓인다.

하지만 이 정책과 디폴트 설정은 해당 버킷의 루트 위치를 참조하므로, 로그저장용 버킷을 운용하지않고 기존 버킷에 폴더로 사용하고 싶으면 아래와 같이 살짝 옵션을 조정해줘야한다.


로그파일 생성위치 변경

다시 클라우드 프론트 표준 로그 설정창으로 이동해서 아래와 같이 분할 부분의 정보를 기록해주자.


이는 해당 버킷의 /logs/cloud-front/배포아이디/년도/월/일 위치에 로그파일을 저장하라는 의미이다.

그리고 이 작업을 하고난 후에 굳이 S3 정책에 PUT 권한을 전역으로 줄 필요가 없으므로 아래와 같이 정책을 수정해주자.

"Resource": "arn:aws:s3:::erulabo/logs/cloud-front/*",Copy

기존에 버킷 루트에서 전체위치(*)로 잡혀잇던 리소스 경로를 위의 분할 경로위치의 접두사를 넣어주면 끝이다.

상단에 폴더 경로를 보면 위에서 설정한대로 잘 들어가있음을 확인할 수 있다.

그러면 이렇게 해당 폴더 내부에 로그가 정상적으로 쌓임을 확인할 수 있다.

#AWS #CloudFront
0 개의 댓글
×