본문 바로가기
728x90

AWS20

[Flink] 좋은 스트리밍 시스템과 Apache Flink 기본 개념 정리 및 내부 구조 이번 포스트에는 스트림 데이터와 좋은 스트리밍 시스템은 어떤 것인지, Flink에 대한 기본 개념과 내부구조, 왜 좋은지 장단점에 대해서 정리해보겠습니다.1. 스트림 데이터와 좋은 스트리밍 시스템우선 flink가 스트리밍 시스템에 있어서 왜 좋은지를 파악하려면 스트림 데이터는 어떻게 쓰이고, 좋은 스트리밍 시스템은 어떤 기준을 갖고 있는지를 파악해 봐야 합니다.1) 스트림 데이터란계속해서 끊임없이 생성되고 흐르는 데이터를 의미한 번에 한 건씩(또는 작은 단위로) 발생하며, 실시간으로 처리되는 것이 일반적스트림 데이터의 예시쇼핑몰 고객의 구매 요청항공사 예약 발생보험금 청구은행 트랜잭션 발생클릭 이벤트서버 로그현재 IoT 장비의 위치기타 등등스트림 데이터를 활용하는 예시은행에서 이상 거래를 탐지쇼핑몰에서 .. 2025. 6. 15.
[Spark] AWS EMR vs Glue ETL 비교 정리하기 (성능, 비용, 특징, 실행 방법,...) spark를 써봤다고 면접에서 어필을 할 때 나오는 단골 질문 중 하나인 어떤 제품을 통해 Spark를 실행 시켰으며 어떤 장점 때문에(왜) 해당 제품을 선택했나요? 다른 제품을 고려하지 않은 이유는? 에 대해 정리해보겠습니다.(사실 제 경우에는 Glue ETL을 많이 사용하지 않았기에 정확하게 비교해 볼만한 기회가 없었습니다.)1. AWS EMR이란EMR은 Spark 를 포함한 Hadoop Ecosystem이 탑재된 하둡 클러스터입니다. 따라서 Hive Job 및 다양한 작업을 실행할 수 있습니다.EMR(Elastic Map Reduce)는 크게 3가지로 나뉩니다.EMR on EC2EMR ServerlessEMR on EKS이번 포스트에는 EMR on EC2와 EMR Serverless에 대해 간단하게.. 2025. 5. 4.
[Airflow] Airflow 3.0 version 탐구, docker로 설치 해보기 이번에 Airflow 3.0 version이 release됐는데, 관련해서 docker로 한번 설치해보고, 변경 사항들을 직접 확인해보겠습니다. 1. AWS에 EC2 생성서버 스펙- 이미지: Amazon linux2- Instance type: c5n.large(2Vcores, 5.3GB Mem) 우선 EC2에 적당한 스펙의 서버를 하나 생성합니다. 연결하기 위해 미리 생성해둔 pem파일 권한을 변경해주고, ssh로 연결해줘도 되지만, 저는 편의상 콘솔에서 바로 붙어서 사용하겠습니다. 2. Docker 설치1) 도커 설치$ sudo yum update -y$ sudo yum install docker -y 2) 도커 실행$ sudo systemctl start docker$ sudo service do.. 2025. 3. 25.
[Spark] EMR을 구성하는 instance는 큰 spec이 유리할까? 작은 spec이 유리할까? EMR을 구성할 때 작은 스펙의 많은 노드가 유리한지 큰 스펙의 적은 노드가 유리한지 비교하여 정리해보겠습니다. 1. 큰 스펙의 인스턴스를 적게 사용하는 경우장점네트워크 병목 감소인스턴스 수가 적어 노드 간 통신(예: Shuffle, Data Transfer) 비용이 줄어듦네트워크 I/O가 줄어들어 성능이 향상될 가능성이 높음작업 간 Overhead 감소인스턴스 수가 적으므로, 작업(Task) 배포와 조정에 소요되는 Overhead가 줄어듦클러스터 관리가 간단해지고 효율성이 높아짐CPU, 메모리 활용 효율성 증가단일 인스턴스에 많은 CPU와 메모리를 할당하므로, Spark 작업의 병렬 처리 능력이 향상됨메모리 내 연산이 가능할 확률이 높아지고 Disk Spill이 줄어듦기본적으로 사용되는 메모리 및 코어.. 2025. 1. 14.
[Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전(AWS EKS) 이번 포스트에는 NCP 플랫폼에서 새로 구축해본 airflow on k8s 경험을 토대로 저희 주된 배치를 관리하는 AWS 플랫폼 위에서의 Airflow 이전 경험을 공유드리려고 합니다.기존에는 airflow 환경은 EC2한대에 올라가 있었고, IAC로 airflow가 관리되고 있지도 않았고, image에 대해서도 형상관리가 되지 않았습니다. 또한 서버에 대한 확장성이 모잘라서, SIGTERM 에러도 많이 발생 했었습니다.    포스트는 총 3개로 나뉘어 진행되며, 이번 포스트가 1번째 포스트입니다.1. [Airflow] TO-BE Batch job 프로세스 개선 - 1) Airflow on k8s 이전 (AWS EKS)https://spidyweb.tistory.com/543 2. [Airflow] T.. 2024. 6. 22.
[NoSQL] Docker로 EC2에 MongoDB 설치해서 NoSQL booster for mongodb에 연결하기 이번 포스트에는 AWS EC2 ubuntu 20.04 lts에 Docker를 설치하고, mongodb를 설치 및 연결해보겠습니다. NoSQL Booster for MongoDB가 없으신 분은 아래 링크를 통해 다운로드 받아주세요. https://nosqlbooster.com/downloads NoSQLBooster - The Smartest GUI Tool and IDE for MongoDB nosqlbooster.com 1. EC2 생성 EC2 에서 20.04 LTS ubuntu 생성해줍니다. 공식 홈페이지를 찾아보면 MongoDB docker로 띄우기위해 최소로 필요한 서버의 크기는 2vCore 와 4GB mem정도로 나옵니다. 2. Docker 설치 // apt 인덱스 업데이트 $ sudo apt-.. 2024. 2. 25.
[회고] 2023년을 마무리하며 회고 엄청 오랜만에 글을 포스팅하는 느낌인데.. 거의 1달만인 것 같습니다. 최근까지도 회사에서 하는 프로젝트며, 대학원 준비 같은 업무들로 바쁜 시간을 보내느라 글 포스팅하는 것이 후순위가 되어버렸습니다. 이번에도 회고록이기 때문에, 생각나는대로 한 해를 정리하면서 생각한 것들에 대해서 포스팅하겠습니다. 1. 생각나는 것들 1) 경조사 이번년도는 유독 경조사가 많았던 한 해였던 것 같습니다. 올해로 3년차, 이제 내년에 4년차가 되는데 이 시기쯤 되니 친구들 무리에서도 처음 결혼하는 친구가 나오고, 여기저기서 소식들이 많이 들려왔던 것 같습니다. 2024년도 예정된 결혼소식들이 많이 들려옵니다. 제 주변에 행복한 일들이 더 많이 생겼으면 좋겠습니다. 그러면서 생각되는게 역시 건강을 최우선 목표로 두어야 행복.. 2023. 12. 29.
[Python] AWS SES + MIME을 이용한 메일 기능 구현 소 AWS SES(Simple Email Service)란? Outbound만 가능한 AWS의 이메일 전송서비스이다. SES를 사용하는 목적은 회원들에게 프로모션 전송, 회원가입 시 이메일 확인 인증, 비밀번호 전송 등을 수행하기 위해서이며, 프리티어 기준 매일 2,000통을 보낼 수 있다. 이처럼 SES는 대량의 이메일을 발송하기에 적절한 서비스이며 발송한 이메일의 수와 데이터 전송에 대해 요금이 부과되기 때문에 저렴한 비용으로 이용이 가능 SMTP를 사용 SMTP(Simple Mail Transfer Protocol)란? 메일 전송 프로그램이 서버로 메일을 보낼 때 사용하는 프로토콜 오직 텍스트만 전송이 가능하다. 스트림 방식을 이용하여 전송한다. 한 개의 메시지를 해당 서버의 여러 수신자에게 보낼 수 .. 2023. 11. 25.
[Python] Boto3 + Airflow로 특정 기간 지난 S3 데이터 삭제하기 업무를 하면서 개인정보 데이터에 대해서 6개월이 지나면 자동으로 파기가 되는 로직을 구현해야되는 일이 있었습니다. 따라서 하루단위 배치로 6개월이 지났는지 검사하고, 지났으면 데이터를 삭제하는 로직을 구현한 것에 대해 정리해보겠습니다. 요구사항, 상세정보 및 코드 사용 라이브러리 : boto3 배치 스케줄링 주기: 매일 00:05 요구사항: 6개월이 지난 개인정보 포함된 데이터는 파기가 되어야 함 해결 방법: s3 uri경로가 s3:bucket/~~/history 혹은 latest로 되어 있고 이후에 stnd_ymd=yyyy-mm-dd 파티션으로 구별 됨 → stnd_ymd 기준 6개월이 지나면 매일매일 검사하여 삭제하는 로직 구현 코드 from airflow import DAG import boto3 .. 2023. 11. 20.
728x90