개발/devOps14 [Github-Actions] GitHub Self-Hosted Runner로 배포 문제 해결하기 (feat.SSH 포트 막힘?) 새로운 회사에서 GitHub Actions로 EC2 배포를 설정하려다 예상치 못한 벽에 부딪혔습니다. 22번 포트가 보안 정책으로 차단되어 있어 일반적인 GitHub 호스팅 러너로는 배포가 불가능했던 것입니다. 그래서 차라리 해당 EC2를 runner로 사용해서 배포하기로 했습니다. 처음엔 복잡해 보였지만 생각보다 훨씬 간단하게 해결할 수 있었습니다.많은 개발자들이 self-hosted runner를 어렵게 생각하는데, 실제로는 몇 가지 핵심 포인트만 알면 쉽게 설정할 수 있습니다. 특히 서비스로 구성하는 부분을 놓치는 경우가 많은데, 이는 백그라운드 실행을 위해 반드시 필요한 단계입니다.언제 Self-Hosted Runner가 필요한가?일반적인 상황들:특정 포트(SSH 22번 등)가 보안 정책으로 차단.. 2025. 6. 19. AWS Lambda에서 axios 사용하기: 삽질 기록과 해결 방법 오늘은 AWS Lambda에서 axios를 사용하면서 겪었던 시행착오와 삽질 기록을 정리해보려고 합니다. 1. Lambda Layer의 node_modules에 직접 올리기예전부터 사용하던 방식입니다. 단순히 node_modules 폴더를 압축해서 Layer에 올리는 방식입니다:npm install axioszip -r axios-layer.zip node_modules하지만 이 방식은 문제가 있습니다:Lambda가 모듈을 제대로 찾지 못할 수 있음패키지 구조가 Lambda 환경과 맞지 않을 수 있음실제로 필자가 예전에는 이 방식으로 했는데 이번에는 안 돼서 고생함2. nodejs 폴더 구조를 사용하는 방식현재 AWS에서 권장하는 방식입니다. node_modules를 nodejs 폴더 안에 넣어 구조화하.. 2024. 12. 20. AWS API Gateway와 Lambda 연동하기: Cognito로 보안까지 챙기자!🚀 (1편 Lambda 세팅) 안녕하세요, AWS 서비스들로 아키텍처를 구축하면서 겪은 경험을 공유하려고 합니다. 오늘은 API Gateway, Lambda, 그리고 Cognito를 활용한 안전하고 확장 가능한 서버리스 아키텍처 구축 이야기를 들려드릴게요! 왜 이런 구성을 선택했나요? 🤔"API는 누구나 호출할 수 있어야 하지만, 아무나 호출하면 안 되죠!"이 모순적인 문장이 바로 오늘 이야기의 시작점입니다. API는 접근성이 좋아야 하지만, 동시에 보안도 챙겨야 하는 양날의 검과 같죠. 그래서 저는 다음과 같은 AWS 서비스들을 조합해서 해결책을 만들어보았습니다:Amazon API Gateway: API 요청을 받아주는 문지기 👮AWS Lambda: 실제 비즈니스 로직을 처리하는 일꾼 💪Amazon Cognito: 인증과 권한.. 2024. 12. 18. Redis Key Naming: 성능과 유지보수를 동시에 잡는 방법(실전 개발자의 필수 가이드) 🎯 들어가며Redis를 처음 접하면 많은 분들이 이렇게 생각하시죠."그냥 데이터 넣고 빼면 되는 거 아냐? 키 이름이 뭐가 중요해?" 하지만 실제 프로덕션 환경에서는 조금 다릅니다. 수천, 수만 개의 키가 쌓이기 시작하면... 😱잘 설계된 키 네이밍은 여러분의 구원자가 될 수 있습니다!이런 경험 있으신가요? 🤔# 어느 날 갑자기 마주친 Redis 키들u1temp_data_15x_55_infomysterious_key_123이런 키들이 수백 개라면? 디버깅할 때 눈물이 앞을 가릴 겁니다...자, 이제 제대로 된 키 네이밍 전략을 알아볼까요?Redis Key 설계의 황금률 ⭐️1. 계층 구조를 활용하세요// 기본 패턴`object-type:id:field`// 예시`user:1001:profile``prod.. 2024. 11. 23. 이전 1 2 3 4 다음