좋은 프로그램은 마음의 여유에서 나온다.

AWS ELB access log 설정 하기 본문

클라우드,빅데이터/aws

AWS ELB access log 설정 하기

좋은데이 2016. 9. 7. 11:00

아마존 ELB의 엑세스 로그는 S3의 버킷에 저장되게 된다.


아마존의 문서를 참고하여 작성하였으며 주소는 http://docs.aws.amazon.com/elasticloadbalancing/latest/classic/enable-access-logs.html#verify-access-logs 이다.


따라서 다음의 과정을 거쳐서 활성화 되게 된다.


1. ELB의 로그가 저장될 버킷을 생성

2. 생성된 S3 버킷의 policy 설정

3. ELB Access Log 기능 활성

4. 동작 확인 테스트



1. S3 버킷 생성


아마존 콘솔에서 S3에 접속 후 새로운 버킷을 생성한다.




2. Policy 설정


Policy는 아마존의 버킷 정책에 따라 작성된 JSON으로 되게 된다.


생성된 버킷을 선택한 후 오른쪽의 속성 창에서 Permission 항목의 Add bucket policy를 선택한다.




Add bucket policy를 선택하면 열리는 Bucket Policy Editor 창에서 왼쪽 하단의 AWS Policy Generator을 선택한다.



AWS Policy Generator 창이 열리면 아래와 같이 설정한다.


Select Type of Policy -> S3 Bucket Policy


Effect -> Allow


Principal -> 아래의 표에서 ELB의 리전에 해당하는 id를 적어줌


RegionRegion NameElastic Load Balancing Account ID
us-east-1US East (N. Virginia)127311923021
us-west-1US West (N. California)027434742980
us-west-2US West (Oregon)797873946194
eu-west-1EU (Ireland)156460612806
eu-central-1EU (Frankfurt)054676820928
ap-northeast-1Asia Pacific (Tokyo)582318560864
ap-northeast-2Asia Pacific (Seoul)600734575887
ap-southeast-1Asia Pacific (Singapore)114774131450
ap-southeast-2Asia Pacific (Sydney)783225319266
ap-south-1Asia Pacific (Mumbai)718504428378
sa-east-1South America (São Paulo)507241528517
us-gov-west-1*AWS GovCloud (US)048591011584
cn-north-1**China (Beijing)638102146993


Action -> PutObject 선택




Amazon Resource Name(ARN) : 아래와 같은 포멧으로 입력한다.(하이픈(-)을 제외하고 aws 어카운트 계정을 꼭 입력하라고 한다)


arn:aws:s3:::bucket/prefix/AWSLogs/aws-account-id/*


붉은색 부분에 위에서 만든 bucket 이름, 원하는 키, 계정 id를 넣어주면 된다. 계정 아이디는 My Account 메뉴에서 볼 수 있다.




설정이 다 돼었으면 Add Statement 버튼을 클릭하면 아래에 표가 생기게 되고, 





마지막으로 Generate Policy 버튼을 누르면 새로운 창이 뜨면서 JSON 포멧의 Policy가 나온다.




이를 복사하여 Bucket Policy Editor에 붙여 넣는다.




Save 버튼을 눌러 저장한다. (Save버튼이 비활성이면 엔터를 누름)


다시 속성의 Permission으로 와서 Save 버튼을 눌러 저장한다.



3. 엑세스 로그 활성화


엑세스 로그를 60분마다(기본값) 캡쳐하여 S3 버킷에 전달하는 예제.


EC2의 LOAD BALANCING 항목으로 이동하여 로드 발란서를 선택한다.


Description 탭의 Attributes -> Configure Access Logs 를 선택한다.




Configure Access Logs 창이 뜨면


Enable access logs 항목을 체크한 후 엑세스 로그가 저장될 간격인 Interval 선택.(5분 또는 60분)


S3 location에는 위에서 생성한 s3의 버킷 이름을 적어준다.




다시 S3로 이동하여 생성한 버킷으로 이동한다.


버킷명/AWSLogs/계정ID 위치에 ELBAccessLogTestFile 파일이 생겼는지 확인한다.


생겼으면 성공!



Comments