본문 바로가기

분류 전체보기154

Github Actions self-hosted runner - Ubuntu 구성하기 Github Actions을 사용할 때 별다른 설정을 하지 않는다면 기본적으로 Github에서 제공하는 runner(Github-hosted runner)를 사용한다. 하지만 팀 내에서 Github Actions limit 금액을 너무 빨리 사용하거나, test나 build 속도가 너무 느리거나하면 자체 컴퓨팅 리소스를 사용하여 self-hosted runner 구성을 고려할 수 있다. 그러나 self-hosted runner 구성 무조건 옳은 선택이 아닐 수도 있다. self-hosted runner의 경우 사용 제한이 있기 때문에 self-hosted runner 구성 전에 이를 먼저 고려해야한다. 왠만한 케이스(CI/CD)에서는 Github에서 기본으로 제공하는 runner가 같은 성능의 AWS E.. 2023. 8. 12.
[AWS CLI] S3 디렉토리 내 오브젝트 전체 복사 AWS console 상으로는 디렉토리 내에 있는 오브젝트 전체를 다운로드 받을 수 없고, 개별 오브젝트를 하나 씩만 다운로드 받을 수 있다. 디렉토리 내 오브젝트 전체를 다운받고자한다면 AWS CLI를 사용해서 복사를 해야한다. $ aws s3 cp s3:/// --recursive 위 커맨드는 / 내에 있는 모든 오브젝트를 에 복사한다는 의미이다. 참고: https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html 2023. 5. 24.
생각의 차이를 넘어 공통점 바라보기 누군가 크게 문제가 없는 코드를 갑자기 리팩터링을 한다고하자. 밑도끝도 없이 훅 들어오는 변경에 매우 당황스러울 수도 있다. 그래서 잘 돌아가고 있는 코드를 굳이 바꿀 필요가 있냐고 말할 수 있을 것이고, 상대방은 더 좋은 코드로 바꾸는데 문제가 될게 있냐고 반박할 수 있다. 계속 서로 논리를 주고받는 동안 서로 왠지 껄끄럽기도하고 이 사람이랑은 같이 일하기 힘들겠다는 마음에 장벽이 생기기도 한다. 코드에 비유했지만 업무를 하면서 상대방과 견해 차이로 인해 감정이 소모되는 일이 비일비재하다. 그렇지만 왜 생각의 차이가 발생했을까를 생각해보면 결국엔 우리 모두 더 좋은 조직, 서비스, 코드를 위해 욕심을 내는 것이다. 그러한 욕심이 있기 때문에 우리는 더 치열하게 배우고 고민하고 더 좋은 결과물을 낼 수 .. 2023. 5. 16.
실수할 여지를 주지않기 모든 것은 변한다.서비스도 그렇고 그 서비스의 기반이 되는 소프트웨어도 마찬가지이다.그러면서 우리는 크고작은 실수를 만들곤 한다. 예를 들어DB 테이블에 대한 Model 클래스에는 새로운 필드를 추가하였지만, DB 테이블에는 컬럼을 추가하지 않거나개발 환경에는 환경 변수 설정을 추가했지만 운영 환경에서는 하지 않거나 개발 프로세스가 잘 정립되어있다면 실수를 어느정도 관리할 순 있지만모든 것이 자동화 되어있지 않는한(심지어 자동화를 하였어도) 사람이 하는 일이다보니 늦든 빠르든 언젠가는 실수가 생긴다.급하게 일을 끝내려 하거나(이것만 끝내고 집에 가야지~) 관련된 업무와 관련된 모르는 지식이 있거나 (아니 이런게 있었어요?)  그렇지만 나의 멘탈과 안정적인 서비스를 위해서는 크든 사소하든 실수는 되도록 없.. 2023. 4. 1.
[AWS] EC2 인스턴스 스토리지 용량 Slack 알람 세팅하기 최근에 EC2 인스턴스에서 기동 중인 백오피스 툴이 스토리지 용량이 꽉차서 제대로 동작하지 않았던 적이 있다. 원인을 파악하고 EBS 용량을 증가시키는 동안 백오피스 툴을 사용할 수 없었는데 사후에 대처를 잘하는 것도 중요하지만, 사전에 미리 위험을 감지할 수 있는 시스템을 구축하는 것도 중요하다. 이번 포스팅에서는 crontab을 통해 주기적으로 파이썬 스크립트를 통해 EC2 인스턴스의 스토리지 용량을 확인하고 용량이 모자른다고 판단되면 Slack 알람을 보내는 예제에 대해 알아보겠다. (OS는 Ubuntu 기반으로 설명한다) EC2 인스턴스에 CloudWatch Agent를 설치하여 CloudWatch 알람을 받는 방식도 있지만, 단순히 스토리지 용량을 모니터링하기 위함이라면 어쩌면 배보다 배꼽이 더.. 2023. 3. 12.
새로운 기술을 제안할 때는... 요즘은 도서 및 온라인 강의 사이트, 기술 블로그 뿐만 아니라 재직자 교육기관 등이 활발하게 운영되고 있기 때문에 의지만 있다면 새로운 기술이나 내가 몰랐던 라이브러리들을 접하는게 어렵지 않다. 개발자로서 새로운 기술을 배우거나 Cool한 라이브러리를 발견하고 써보는건 매우 짜릿한 경험이다. "이 좋은걸 나만 알 수 없지!" 여러분은 이 좋은 기술을 우리 프로젝트에서도 도입하면 어떨까라는 이타적인 생각에 신나게 PR을 올린다. 하지만 돌아오는건 우려와 반대의 코멘트들 뿐... 그리고 여러분은 "아니 이 좋은 걸 왜 해보지도 않고 무조건 반대를 하지..."라고 생각하며 속으로 씁쓸함을 삼킨다. (정성적, 정량적인 이유가 충분하다는 조건하에) 여러분의 동기와 엔지니어링 관점에서 새로운 기술을 적용하는 것은 .. 2023. 2. 23.