전체 글 789

EKS ArgoCD Capabilities

2025년 12월 AWS re:invent가 다가오면서 EKS의 기능도 한개씩 공개되고 있습니다. 제일 처음 눈길이 가는 기능은 EKS Capabilities였습니다. EKS Capabilities는 무슨 목적으로 만들었을까?한국말로 번역하면 EKS 기능인데 이름만 들었을때는 무슨 목적으로 만들었는지 처음에 감이 안왔습니다. 그러다가 AWS 블로그의 설명을 보고 어떤 목적으로 EKS Capabilities를 만들었는지 이해가 되었습니다. EKS를 운영하기 위한 인프라 솔루션을 AWS가 직접관리하는 목적으로 이해했습니다. 예를 들면 ArgoCD가 대표적인 운영을 위한 인프라 솔루션입니다. ArgoCD는 gitops방식으로 git에 있는 코드를 kubernetes에 배포하는 도구입니다. ArgoCD는 사용..

스터디에서 만난 인연과 팟캐스트한 후기

2021년, 인프런 스터디에서 백엔드 엔지니어인 지인 A를 우연히 만났습니다. 이후 2025년 11월에 다시 만나 팟캐스트를 진행했습니다. 스터디에 대한 이야기를 10분 기술에 대한 이야기를 40분정도 했습니다. 장소는 스터디룸을 빌렸습니다. [스터디와 지인의 이야기 파트]지인 A를 알게 된 지 어느덧 4년이 흘렀지만, 당시 스터디에서 그가 얼마나 진지하고 열정적으로 참여했는지 여전히 생생하게 기억납니다.당시 지인은 미래에도 현재 업무를 할 수 있을지 고민한 끝에, 미래가 불투명하다고 판단하여 백엔드 공부를 시작했습니다. 당장 일을 그만두면 생계가 어려워지는 상황이었음에도, 취업 준비에 전념하기 위해 과감히 퇴사를 결심한 점이 매우 인상 깊었습니다. 다행히 스터디 경험이 취업에 큰 도움이 되었다고 합니다..

회고 - 데이터베이스 롤백 실패경험

2025년 하반기 기억에 남은 업무 중 하나는 긴급 데이터베이스 롤백입니다. 우리는 AWS RDS Aurora를 사용하고 있었습니다.평화로운 어느 날 오후, 갑자기 알람이 짧은 시간에 엄청나게 많이 울렸습니다. 다행히 몇십 분 안에 데이터베이스 문제를 확인했습니다. 의도하지 않은 쿼리가 실행되어 수백만 건의 데이터가 오염된 상태였습니다. DBA는 데이터베이스 롤백을 결정했습니다. DBA는 두 가지 롤백 계획을 동시에 진행했습니다. A 계획이 메인이었고, 실패할 경우 대비하여 B 계획을 동시에 실행하기로 했습니다. 제가 맡은 B 계획은 PITR로 데이터를 복원한 후, 문제가 있는 테이블만 RDS S3 import/export로 교체하는 방법이었습니다. RDS backup 기능이 활성화되어 있어 PITR은 ..

회고모음 2025.11.27

크기가 큰 csv파일을 리눅스 명령어로 여러 파일로 분할시키는 방법

개요이 글은 AI 모델 학습용 데이터셋이나 데이터베이스 마이그레이션용 데이터처럼 용량이 큰 CSV 파일을, 리눅스 명령어로 여러 csv 파일로 분할하는 방법을 설명합니다. 사용방법GNU Core Utilities (Coreutils)의 split명령어는 입력 파일을 여러 조각으로 나눕니다. 예를 들어 약 1800만개 줄이 있는 csv파일이 있다고 가정해봅시다. split명령어로 이 큰 파일을 700000줄씩 쪼개서 파일을 생성할 수 있습니다.split -l 700000 lineitem.tbl lineitem_ 파일 확장자 생성하는 방법split이 생성한 파일은 파일 확장자가 없는데, 간단히 for문과 mv명령어로 파일 확장자를 추가할 수 있습니다.split -l 5000000 lineitem.tbl li..

RDS S3 Import/export

개요안녕하세요. 이 글은 AWS RDS S3 import/export 기능을 설명하고 import 성능 테스트한 결과를 공유합니다. 1편 영상: https://youtu.be/FW2voayS620 2편 영상: https://youtu.be/529IkbRXI70 S3 import/export란?RDS S3 import/export는 RDS 데이터를 S3로 내보내거나, S3 데이터를 RDS로 가져오는 기능입니다. RDS가 S3에 접근하려면 IAM role 연결 설정이 필요합니다. 이 글에서는 Aurora mysql, Aurora postgres를 대상으로 실습을 진행했습니다. 언제 S3 import/export를 쓰면 좋을까?S3에 데이터를 저장하고 활용해야 할 때 S3 import/export를 사용하..

데이터베이스 성능 벤치마크할때 사용하기 좋은 TPC-H

TPC-H 벤치마크란?RDS의 s3 import/export 성능을 어떻게 평가할까 생각하다가 우연히 AWS블로그 글을 마주쳤습니다. AWS블로그에서는 TPC-H라는 벤치마크를 통해 성능테스트를 진행했습니다.- AWS 블로그: https://aws.amazon.com/ko/blogs/database/best-practices-for-exporting-and-importing-data-from-amazon-aurora-mysql-to-amazon-s3/ TPC-H 벤치마크는 TPC라는 비영리단체에서 만든 규격입니다. TPC(Transaction Processing Performance Council)는 1988년에 설립된 비영리 단체로, 데이터베이스 성능 평가 기준의 규격을 정의합니다. 8개의 테이블과 ..

테라폼으로 내 PC IP를 security group에 설정하는 방법

가끔씩 개인프로젝트에서 RDS를 테스트할 때, 아래 그림처럼 public subnet에 RDS를 생성합니다. 그리고 RDS는 저만 접속할 수 있도록 RDS security group inbound에 제 IP만 설정합니다. 개인 프로젝트는 개인 비용으로 AWS를 사용하기 때문에 최대한 비용을 최소하하여 리소스를 생성합니다. RDS를 private subnet에 생성하려면 NAT gateway 등 추가 비용이 발생하므로, default vpc의 public subnet에 RDS를 생성합니다. 테라폼에서는 data "http"를 사용하여 security group inbound에 내 PC IP 설정을 자동화할 수 있습니다. https://api.ipify.org를 호출하면 내 PC의 IP가 반환되는데, 이 값..

Gemini로 유투브 영상을 그대로 텍스트로 변경하는 방법

AI를 활용하여 유튜브 영상을 텍스트로 변환할 때, 2025년 10월 기준으로 Gemini가 속도와 정확도 면에서 가장 뛰어난 것 같습니다. 유튜브와 Gemini 모두 구글 서비스라 연동성이 좋은 것 같아요. Gemini에서 유튜브관련 API를 제공할 정도로 유튜브 연동에 적극적입니다. 사용하는 프롬프트저는 docsbot에서 공개한 프롬프트를 사용중입니다. 모델은 Gemini flash를 사용합니다.- 참고자료: https://docsbot.ai/prompts/writing/transcript-formatter# instruction가공되지 않은 영상 대본(transcript)을 잘 정리되고 쉽게 읽을 수 있는 문서로 변환하세요.내용이 논리적으로 자연스럽게 흐르도록 하고, 명확성을 위해 서식을 지정해야 ..

AWS Auto Scaling Group 배포 전략

개요이 글은 AutoScalingGroup(이하, ASG)을 활용한 EC2 배포 전략을 다룹니다. ASG의 주요 기능과 배포 파이프라인에 대한 배경 지식이 필요합니다.AutoScalingGroup 주요 기능 정리: https://malwareanalysis.tistory.com/870AutoScalingGroup을 활용한 EC2 배포 파이프라인: https://malwareanalysis.tistory.com/871 실습 구조실습자료 중 RollingUpdate, Canary는 저의 github에 공개되어 있습니다.RollingUpdate - https://github.com/choisungwook/portfolio/tree/master/aws/auto_scaling_group/examples/02_ro..

최근에 느끼는 kubernetes의 장점

Kubernetes가 아닌 환경에 배포해보니 Kubernetes의 여러 장점을 느꼈습니다. 1. Controller와 Scheduler가 이미 있다 처음 Kubernetes를 공부하고 실제 업무에 적용했을 때 아래 점들이 신기했습니다. 시간이 지나면서 이런 점들이 당연하다고 생각하게 됐습니다.YAML만 있으면 알아서 배포되네Pod가 비정상 상태면 알아서 재시작되네! Kubernetes가 아닌 환경에 가보니 제가 처음 느꼈던 점은 당연한 게 아니었습니다. 배포를 위한 Controller를 별도로 개발해야 했고, 비정상 상태 애플리케이션을 감지해서 조치하는 로직도 개발이 필요했습니다. 다행히 AWS는 Kubernetes처럼 Controller와 Scheduler를 제공해서 개발하지 않았지만, 이런 기능이 없..

회고모음 2025.10.10