본문 바로가기

개발노트

(96)
redis-cli 로 non-expiring key 찾아내기 (ttl 없는 key 찾기) redis-cli -h $READONLY_REDIS_NODE -n 2 --scan --pattern "pattern*" | while read LINE ; do TTL=`redis-cli -h $READONLY_REDIS_NODE ttl "$LINE"`; if [ $TTL -eq -1 ]; then echo "$LINE" >> /home/ec2-user/non-expiring-keys.out; fi; done; # -n 옵션은 database 선택 (select) https://stackoverflow.com/a/56265879/7548600 참고
redis-cli 로 pattern 에 해당하는 key 삭제하기 redis-cli -h $READONLY_REDIS_NODE --scan --pattern prefix:pattern::* | awk '{print $1}' | sed "s/^/'/;s/$/'/" | xargs redis-cli -h $MAIN_REDIS_NODE del https://stackoverflow.com/a/58879388/7548600 참고
AWS ECS Faragate 를 쓸 때 이유없이 container health check failed 가 뜬다면 TL;DR. Faragate Platform Version 1.4.0 을 쓰지 말고 1.3.0 을 써보면 문제가 해결될 수 있다. 사내에다가 정리해놓은 문서가 있고, 모든 내용을 다 옮기기엔 가려야할 내용도 많고 번거로워서 결론만 간추려서 작성함 ---- container health check 방법을 `CMD-SHELL,echo hello` 로 해도 container health check failed 의 이유로 task 가 container 들에게 sigterm 을 보내서 컨테이너가 종료되고, ELB 는 종료된 컨테이너로 계속 트래픽을 보내고 있어서 client 에게는 502 Bad Gateway 응답이 나가는 상황이 간헐적으로 발생하고 있었음. 이 때만 해도 문제를 쉽게 해결할 수 있을 거라 생각했..
맥 발열과 CPU Throttling 코로나로 인해 재택근무를 하고 있다. 집 안에서 나의 사무 공간은 2층 남서향인 방이다. 이 곳은 11시가 지나면 햇빛이 직사되어 곧 온도가 올라가기 시작하고, 해가 다 지고 나서야 온도가 내려가는 그런 공간이다. 보일러 온수파이프라인이 지나가는지, 겨울에도 이 공간이 집에서 가장 따뜻한 곳이다. 아직까지도 날씨가 따뜻해지면서 그런 것인지 모르겠지만, 4월 초쯤부터 업무용으로 지급받은 맥북 2018 15-inch 모델이 이륙소리를 내면서 CPU throttling 이 걸리는 때가 잦아지기 시작했다. Mac Fans Control 프로그램도 깔아서 팬 속도 조절도 해보고 했지만, 온도가 90도를 넘어갈 때도 있었다. 그런데 온도가 90도 넘어가더라도 CPU 는 Throttling 이 걸리지 않을 때도 있었..
AWS lambda function 배포 자동화 하기 배경 사내에서 AWS 를 위주로 인프라가 구성되어 있긴 하지만, 거의 대부분 갖춰져있는 구성이 많기도 하고 내가 AWS 자체에 아직 익숙하지 않은 상황이었다. 업무를 보다보면 가~끔 aws lambda function 으로 구성해놓은 부분에 코드 수정이 필요한 경우가 생겼는데, 그 때마다 AWS web console 에서 inline edit 기능을 이용하여 직접 수정했었다. 불편하긴 하지만 다른 방법에 대해 딱히 생각해보지 못했다. 수정할 일이 자주 있는 것도 아니기도 하다는 합리화를 하면서. 이 lambda 코드를 어찌됐든 형상관리를 하긴 해야겠기에 git repo 에다가 똑같은 코드로 관리하고 있긴 했었는데, 이 과정이 많이 번거롭기도 하고 사람이 실수하기 딱 좋았다. 양 쪽(git repo, la..
AWS CodePipeline 을 이용한 배포에서 ApplicationStop 조차 시작하지 않고 보류중(pending) 상태일때는? 배포 생성 후에 ApplicationStop 조차 실행되지 않을 때에는 Target EC2 machine 에 가서 codedeploy-agent 가 제대로 실행되고 있는지 확인을 가장 먼저 하자. 다른 단계에서 hang 이 됐다면 그 문제를 찾아봐야할텐데, 가장 먼저 실행이 돼야하는 ApplicationStop 도 시작조차 안 되고 pending 인 상태가 오랫동안 보이면, codedeploy-agent 가 제대로 실행되고 있는지를 가장 먼저 의심해봐야 한다. 특히, 이미 (다른 사람들이) 갖춰놓은 Infrastructure 가 있고, 거기에서 다른 건 안 건드리고 배포만 하려고 했을 때 대부분 인스턴스는 배포가 잘 되는데 특정 인스턴스에만 배포가 실패하는 경우가 있다. 이 때 codedeploy 자체를..
Docker For mac - mutagen "unable to ensure path does not exist: path exists" 최근 Docker for mac 을 이용하여 개발환경을 만드는 과정에서 소스 코드 동기화를 volume 을 이용해서 하다보니, 속도가 너무 느려서 mutagen 을 내장한 버전인 Docker for mac 2.3.4.0 를 이용하게 됐다. 근데 개발하다보니 mutagen 에서 양방향(host container) sync 가 잘 안 되서 Ready 가 아니라 Error 라고 뜨길래 Troubleshoot 에서 Run Diagnostics 를 실행하여 진단해보니, sync 될 필요 없는 디렉토리도 sync 되고 있는데 해당 디렉토리에 파일이 이미 존재하고 있는 것으로 인식이 되는 것이 문제였다. "unable to ensure path does not exist: path exists" 그래서 .docker..
Mac 에서 cmd + y 로 Redo 하기 (karabiner-element) 윈도우에서 control + y 로 redo 하는 것이 습관이 되서 그런가, 맥에서 cmd + shift + z 를 눌러서 redo 를 하는게 이 글을 쓰게 할 정도로 너무나 귀찮았다. Rubymine 이나 일부 프로그램에서는 자체적으로 새로 key binding 을 해서 cmd + shift + z 와 cmd + y 모두 redo 로 동작하도록 되어있긴 하지만, 슬랙이나 기타 다른 OSX native app 들에서 redo 를 하려면 cmd + shift + z 를 눌러야만 했다. 너무나 귀찮은 것. 계속 귀찮음을 느끼다가 도저히 안 되겠어서, Capslock 을 왼쪽 클릭으로 바인딩해서 쓰는데 사용하고 있는 karabiner-element 를 이용해 내 맥북의 osx 전역에서 cmd + y 로 red..

반응형