좋은 프로그램은 마음의 여유에서 나온다.
AWS ELB access log 설정 하기 본문
아마존 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를 적어줌
Region | Region Name | Elastic Load Balancing Account ID |
---|---|---|
us-east-1 | US East (N. Virginia) | 127311923021 |
us-west-1 | US West (N. California) | 027434742980 |
us-west-2 | US West (Oregon) | 797873946194 |
eu-west-1 | EU (Ireland) | 156460612806 |
eu-central-1 | EU (Frankfurt) | 054676820928 |
ap-northeast-1 | Asia Pacific (Tokyo) | 582318560864 |
ap-northeast-2 | Asia Pacific (Seoul) | 600734575887 |
ap-southeast-1 | Asia Pacific (Singapore) | 114774131450 |
ap-southeast-2 | Asia Pacific (Sydney) | 783225319266 |
ap-south-1 | Asia Pacific (Mumbai) | 718504428378 |
sa-east-1 | South 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 파일이 생겼는지 확인한다.
생겼으면 성공!
'클라우드,빅데이터 > aws' 카테고리의 다른 글
우분투에 코드디플로이 에이전트 설치하기 (0) | 2016.11.09 |
---|---|
intellij + aws elastic beanstalk로 war 배포하기 (0) | 2016.03.18 |
aws ec2 paravirtual 에서 hvm으로 변경하기 (0) | 2016.01.04 |
ELB에 아파치 인증서 등록시 오류 (0) | 2015.10.08 |
자바 1.8.60에서 aws 라이브러리 오류 (0) | 2015.09.09 |