개발
AWS Cloud Front 표준 로그 활성화
184 views as of .
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
개의 댓글
개발 카테고리의 다른 글
12/20/2024
php 이미지 검열 구현
우리가 웹사이트를 운영하다가보면 필요에 따라 이미지를 검열할 방법이 필요하다. 일반적으로 문제가 되는 이미지면 안보이게하...
12/10/2024
DNS 전파 확인 사이트
개발, 배포를 하다보면 시급히 DNS를 추가하는 경우가 많다.이럴때 기본적으로 전파주기(TTL) 300초를 바탕으로 네임서버간 정보...
12/10/2024
라라벨 S3 링크 CDN 링크로 바꾸기
먼저 본 내용을 시작하기전에 이 게시글에서는 이미지, 파일 리소스를 s3링크를 이용하는것이 아닌 AWS Cloud Front 서비스를 사...