DevOps (9) 리스트형 썸네일형 Rails 프로젝트 도커 캐싱하기 1. 사건의 발단사건의 발단은 몇 달 전으로 거슬러 올라간다. Rails 프로젝트 컨테이너라이징 작업을 하던 중… 도커 빌드 속도가 너무 느려서 하나를 수정해서 배포해도 6분, 8분, 12분 이런 식으로 너무 오래 걸려서 답답해하고 있었다. 분명히 캐싱이 적용되어 있을텐데? 싶어서 아무거나 하나 눌러서 보니까 웬걸 … 캐시를 전혀 사용하고 있지 않고 있었다… ㄴㅇㄱ 다른 루비 프로젝트들은 어떻게 하고 있지? 싶어서 다른 루비 프로젝트도 보니까 그냥 느리게 사용하고 있었다.언젠간 꼭 고쳐야지 … 😔 라는 생각으로 마음속의 백로그로 가지고 있다가 며칠 전부터 드디어 파보기 시작했다.2. 캐싱 적용 방법현재 캐싱을 위해 Github Action 플러그인인 docker/build-push-action를 사용하.. Linkerd Tutorial 따라해보기 쿠버네티스 클러스터에 linkerd를 설치하고 샘플 애플리케이션을 배포하여 linkerd를 사용해 보려고 한다. k8s 클러스터는 minikube를 사용하여 진행했고, https://linkerd.io/2.16/getting-started/ 에 나온 내용을 기반으로 공부한 내용을 추가하여 포스팅을 작성한다.1. linkerd 설치local machine에 linkerd를 설치하기 위해 아래 커맨드를 입력한다.$ curl --proto '=https' --tlsv1.2 -sSfL https://run.linkerd.io/install-edge | sh$ export PATH=$HOME/.linkerd2/bin:$PATH그 이후에 정상적으로 설치되어 있는지 확인하기 위해 아래 커맨드를 입력한다. 만약 아래처.. 뉴렐릭 배포 마커 적용 방법 (w. Track Changes) ❕ 들어가며 제가 다니고 있는 회사에서는 로깅 시스템, APM 시스템으로 NewRelic을 사용하고 있습니다. 이번 글에서는 NewRelic을 조금 더 잘 활용하기 위한 기능인 배포 마커 (Deployment Marker)에 대해 소개합니다. 💡 이 글을 읽게 됨으로써 얻을 수 있는 지식은 아래와 같습니다. - 배포 마커 (Deployment Marker)가 무엇인지 - 변경 사항 추적 (Change Tracking)이 무엇인지 - 배포 마커나 변경 사항 추적을 사용하면 무엇이 좋은지 - 변경 사항 추적을 사용한 배포 마커 적용 사례 ✒️ 배포 마커(Deployment Marker) 배포 마커는 배포 시점에 APM 차트와 대시보드에 마커를 추가해 주는 기능으로, 에러가 나는 경우에 배포의 영향은 아닐지 .. Secret Manager를 사용해서 Spring Boot 프로젝트의 property값 관리하기(2) - EC2 🔐 들어가며 Secret Manager란? Secret Manager는 AWS에서 제공해주는 비밀 값 관리 서비스로, 기존에 자바 환경설정 파일에 직접 하드 코딩해서 관리하는 방식을 벗어나 AWS에서 관리하는 방식입니다. 보안 정보당 월 0.4$의 저렴한 가격으로 이용이 가능합니다. 위의 사진에 있는 예시처럼 DB 정보를 저장할 수도 있고, 인증 정보를 저장할 수도 있고, API 키를 저장할 수도 있습니다. 이번 포스팅은 2가지 단계로 진행될 예정입니다. 저번 포스팅에서는 로컬에서 Secret Manager로 접근하는 방법에 대해 다룰 예정이며, 이번 포스팅에서는 서버에서 Secret Manager를 접근하는 방법에 대해 다룰 예정입니다! 이번 포스팅에서는 저번 포스팅에서 작성했던 코드에 대해서는 다루지.. Secret Manager를 사용해서 Spring Boot 프로젝트의 property값 관리하기(1) - 로컬 환경 🔐 들어가며 Secret Manager란? Secret Manager는 AWS에서 제공해주는 비밀 값 관리 서비스로, 기존에 자바 환경설정 파일에 직접 하드 코딩해서 관리하는 방식을 벗어나 AWS에서 관리하는 방식입니다. 보안 정보당 월 0.4$의 저렴한 가격으로 이용이 가능합니다. 위의 사진에 있는 예시처럼 DB 정보를 저장할 수도 있고, 인증 정보를 저장할 수도 있고, API 키를 저장할 수도 있습니다. 이번 포스팅은 2가지 단계로 진행될 예정입니다. 이번 포스팅에서는 로컬에서 Secret Manager로 접근하는 방법에 대해 다룰 예정이며, 다음 포스팅에서는 서버에서 Secret Manager를 접근하는 방법에 대해 다룰 예정입니다! 🔑 AWS Secret Manager 만들기 Secret Mana.. Github Action과 AWS CodeDeploy를 사용하여 Spring Boot 프로젝트 CI/CD 파이프라인 구축하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 Github Action과 AWS CodeDeploy를 사용해서 CI/CD를 구축하는 방법에 대해 설명드리려고 합니다. 수동으로 매번 배포를 할 수도 있지만, CI/CD 파이프라인을 한 번 구축해두고 나면 매번 수동으로 배포할 필요가 없어 정말 편리하기 때문에 꼭 구축해보시는 것을 추천드립니다. 이 포스팅에서 구축할 파이프라인의 진행할 순서를 간단하게 그림으로 요약하면 아래와 같습니다. 개발자가 코드를 변경하고 Github에 Push 한다. Github Action이 돌아가며 빌드&테스트를 하고(CI), 문제가 없다면 압축파일(.zip)을 만든다. 만든 압축파일(.zip)을 AWS S3에 업로드한다. 업로드한 압축파일을 넘겨주며 CodeDeploy를 이용해 배포.. AWS 해킹 시 대처 방법, 해킹 방지하기 🤯 Access Key가 털렸어요! 어느 날 AWS에서 한 통의 메일이 도착했습니다. 별 내용 아니겠지 ~ 하고 가볍게 읽었는데, 생각보다 심각한 내용의 메일이었습니다. 😱 지금 너의 Access Key가 유출된 것 같다. 수상한 내용이 감지되어서 비활성화를 해둔 상태이다. 확인을 해봐라 허겁지겁 쌓인 메일을 보니 이미 Access Key는 유출되어서 정말 많은 리전에서 거대한 인스턴스를 띄운 상태였고, 정~말 다행히도 AWS에서 이를 눈치채고 일찍 비활성화를 해두어서 다른 분들처럼 과금이 발생하진 않았지만, 다른 아티클에서만 있던 일들이 일어나니 머리가 새하얘졌습니다. 저와 같은 상황에 처했던 분들을 위해 사후 대처하는 방법과 보안을 강화하는 방법에 대해 포스팅을 작성해보았습니다. 사실 전 아직도 어디.. AWS Elastic Beanstalk에서 로깅하고 AWS ElasticSearch Service + Kibana로 로그 시각화하기 🔐 들어가며 안녕하세요! 이번 포스팅에서는 AWS의 Elastic Beanstalk에서 로깅을 어떻게 할 수 있는지 알아보고, 추가적으로 Elastic Search와 Kibana로 로그를 모니터링하는 방법에 대해 소개해드리겠습니다! 공식 문서를 보고 따라한 방법이 아닌 많은 시행착오와 삽질과 멘토님의 도움으로 완성한 방법입니다. 따라서 이 방법이 정답은 아니라는 것을 알려드리고 시작하려고 합니다. 저는 위 사진과 같은 구조로 구현을 할 예정입니다! 서울리전을 기준으로 링크를 걸어두었으니, 다른 리전이신 분들은 하이퍼링크 걸린 링크에 들어간 후에 리전을 바꿔주세요! 🙏 🔌 로그 포맷 JSON으로 변경하기 가장 먼저 로그 포맷은 JSON으로 관리하는게 가장 편하고 트래킹하기도 편했기 때문에 로그 포맷을 JS.. 이전 1 2 다음