인파

You Can Become A

늦게 시작해도 누구든지 노력하면 개발자가 될수 있어요 !

공부한 내용을 정리합니다
Amazon Cloud/Athena

[AWS] 📚 Athena로 ELB(ALB) 로그 간편하게 분석하기

Athena로 ALB Access Log 추출하기 지난 시간에 ALB (Application Load Balancer: 애플리케이션 로드 밸런서) 의 access log를 활성화 하고, s3에 저장토록 설정했었다. 하지만 로그 파일들을 이용하는데 있어 매우 불편한점이 한두가지가 아니었는데, 첫번째는 ALB 로그는 모든 요청 로그를 남기기 때문에 로그를 수백/수천개의 압축파일로 생성해서 버킷에 몽땅 저장한다는 점이다. 서비스의 트래픽이 얼마나 많으냐에 따라 다르겠지만, 대량의 트래픽이 발생하는 경우 1시간에도 수백/수천개의 gz 파일이 생성되기도 한다. 두번째는 로그 파일 내용물이 가독성이 매우 안좋다는 점이다. 로그를 뒤져서 이상한 트래픽을 걸러내야 하는데, 이렇게 사람이 읽기 어려운 형태로 문자들이 나..

category_image
인파_
2022.08.12
(0)
Amazon Cloud/Athena

[AWS] 📚 Athena - Partition Projection 파티셔닝 자동화 하기

파티션 프로젝션 (Partition Projection) Athena partitioned table 관련 공식 문서에선 MSCK REPAIR TABLE query로 partition을 인식하는 방법을 소개하는데, 이는 처음에만 자동으로 맵핑해주지, 그 이후에 추가된 로그 파일이나 폴더에 대해서는 따로 alter 작업을 해야 파티션 데이터가 업데이트가 된다. 따라서 추후에 추가된 로그 파일 경로를 자동으로 인식하게 하기 위해서는 따로 쉘 스크립트로 처리하거나 람다를 이용해야 되는데, 최근에 추가된 파티션 프로젝션 기능을 사용하면 이러한 과정을 완전 자동화 할수가 있다. 프로젝션 파티션은 간단히 말해, S3의 Key에 Placeholder를 사전에 구성해 테이블의 파티션을 생성하는 기능이다. 쿼리를 사용할..

category_image
인파_
2022.08.11
(0)
Amazon Cloud/Athena

[AWS] 📚 Athena 최적화 하기 (데이터 압축 / 데이터 파티셔닝)

Athena 성능 향상 전략 Athena(아테나)는 서버리스 서비스로서, 실행한 쿼리에 대한 비용을 지불하면 된다. 요금은 실행한 쿼리가 스캔한 데이터의 용량만큼 비용이 청구된다. 하지만 실행한 쿼리의 데이터 용량이 어마무시하면 아무리 온디멘드 형식일 지라도 요금이 많이 들게 된다. 따라서 적절히 데이터 압축과 파티셔닝을 하여, 스캔하는 데이터의 양을 제한해 비용을 절감할 수 있는 전략으로 나아가야 한다. 데이터 파티셔닝 용량이 큰 테이블이나 인덱스를 관리하기 쉬운 파티션(partition)이라는 작은 단위로 분할하는 것 아테나를 사용하기 위한 테이블 생성(CREATE)이나 파티셔닝을 위한 테이블 수정(ALTER)과 같은 DDL문과 실패한 쿼리문에 대한 비용은 청구되지 않는다. 데이터 압축 Athena의..

category_image
인파_
2022.08.10
(0)
Amazon Cloud/Athena

[AWS] 📚 Glue Crawler로 테이블 만들고 Athena로 조회하기

Glue Crawler로 S3 스키마 생성 지난 포스팅에서는 csv파일을 S3에 업로드하고 Athena에서 직접 테이블 쿼리문을 실행하여 수동으로 만들어 조회하는 시간을 가져보았다. 이번에는 AWS Glue 서비스가 제공하는 Glue Crawler를 사용해 S3의 데이터를 스캔하고 자동으로 데이터베이스와 테이블을 만들어주는 서비스를 이용해 Athena로 조회해보는 시간을 가져볼 것이다. Glue 크롤러로 파일을 데이터베이스로 변환하기 위해선 당연히 대상으로 하고 메타 테이블을 생성할 데이터 소스가 필요하다. RDS, S3, DynamoDB 등 AWS의 데이터 저장소 뿐만 아니라 JDBC를 지원하는 DB, file 등등 거의 모든 형태의 데이터 저장소에 있는 파일을 이용해 크롤러가 가능하다. 이번 강의에서..

category_image
인파_
2022.08.09
(0)
Amazon Cloud/Athena

[AWS] 📚 Athena 사용법 정리 (S3에 저장된 로그 쿼리하기)

AWS Athena 서비스 S3 Athena는 S3에 저장된 데이터를 SQL 언어로 조회할 수 있는 대화식 서비스이다. 표준 SQL을 사용해 Amazon S3에 저장된 데이터를 간편하게 분석할 수 있고 몇 초 안에 대용량을 데이터를 조회해 검색 결과를 얻을 수 있다. 보통 로그같은 대규모 데이터는 EBS나 ElasticSearch 등에 적재하기에는 많은 비용이 발생하기 때문에, S3와 같은 저렴한 스토리지에 저장하게 된다. 하지만 로그를 가져올 때 조건을 거는 부분과 많은 양의 압축된 로그 파일을 로드하고 압축을 푸는데 시간이 너무 많이 소요되는 문제가 생긴다. 따라서 이러한 문제들을 해결해줄수 있는 서비스가 Athena(아테나)이다. Athena(아테나)에 데이터가 저장되어있는 S3를 설정해주고 테이블..

category_image
인파_
2022.08.08
(0)