client_loop: send disconnect: Broken pipe
안녕하세요
dev push 후 master 에 merge 중 에러가 나서 질문 드립니다!
섹션 4. Github Actions 를 이용한 배포자동화
main branch 보호해주기
강좌를 보고 있는데요


client_loop: send disconnect: Broken pipe
해당 에러가 나고 있지만
domain 으로 접속해보니깐 수정한 텍스트 적용이 잘되더라구요
검색해보니
https://may0301.tistory.com/10
소켓이 닫혀서
nano ~/.ssh/config 파일에
text editor에 Host * ServerAliveInterval 120 TCPKeepAlive no
를 입력 해줘야한다고하는데
혹시 해당 에러가 나는 원인을 알수 있을까요?
위에 검색한대로 소켓이 닫혀서 그럴까요?
답변 1
2
맞습니다! 배포과정이 길어지면 SSH 네트워크 연결이 끊어질 수 있습니다. ssh 연결후 명령어들을 넘겨주고 나면 github action workflow와 Lightsail instance 사이에 더이상 통신이 없기 때문에 이 시간이 길어지면 idle connection으로 간주하고 커넥션을 닫습니다. 물론 짧아도 네트워크 특성상 랜덤하게 끊길 수도 있고요. 위에 찾으신 방식으로 어느정도는 개선 할 수는 있습니다.
이런 불편함들을 잘 기억해주고 강의 진행하시면 도움이 많이 될듯합니다! 컨테이너 기술을 이용하면 지금 겪고 있는 번거러움들은 근본적으로 차단할 수 있거든요!
3
해당 오류를 직접적으로 해결하지는 않아요. 대신 컨테이너를 활용한 근본적으로 더 좋은 배포 방법을 보여드립니다.
근본적인 문제를 생각해보면 지금 프러덕션 백엔드 코드가 돌아가야할 서버에서 npm install, build등 불필요한 작업들을 하고 있단 말이죠. 이 작업이 오래 걸려서 socket이 닫히는 문제가 생겼죠. 그리고 또 다른 부작용으로는 일시적으로 cpu, memory를 상당히 많이 잡아 먹어서 프러덕션에 악영향을 줄 수 있어요. 더 나아가서 강의에서 다루는 horizontal scale을 하게 되면 모든 lightsail instance에서 이 작업이 무의미하게 반복되겠죠.
이런 근본적인 문제 해결을 위해 컨테이너를 중반부에서 배우게 됩니다. 서버에서는 그냥 바로 실행할 수 있도록 github action workflow에서 test, npm install, build, image 생성까지 전부 하게 됩니다.
지금 배우고 있는 Lightsail에 배포하는 내용들을 당연히 사용할 수 있지만(저도 실제로 프러덕션에서 많이 사용했습니다) 현대적인 배포 방법을 효과적으로 배우기 위한 빌드업 단계로 봐주시면 좋을듯합니다!
39강 배포용 workflow 만들기에서 main 브랜치에 merge 가 자꾸 실패합니다.
0
44
1
도메인 생성이 너무 오래 걸려요
0
44
2
loadbalancer로 vm 연결할때 궁금한 점
0
37
1
typescript 개발 환경 세팅해주기(nodemon) 질문
0
45
1
lightsail 가상서버에서 sudo npm start를 실행했을때 오류 질문드립니다.
0
62
1
ec2로 배포
0
57
1
올려주신 자료 다운로드 후 npm run test 오류
0
77
1
강의 학습시 애플리케이션 질문
0
63
1
네임스페이스
0
120
1
springboot
0
117
2
영상 중복
0
140
1
강의 영상 시청문의
1
168
1
WSL에 설치한 Redis에 연결이 안 됩니다.
0
325
1
실습시 비용 관련 질문드립니다.
0
394
2
secret manager 질문있습니다.
0
123
1
자동 유효성 검사 실패
0
155
1
ECS 클러스터에서 레디스와 express 연결할 때 질문이 있습니다!
0
393
2
프론트 백엔드간의 http 요청을 주고 받으려면
0
337
1
aws ecs + fargate 환경에서 aws elasticache 연동 이슈
1
519
1
docker volume
0
215
1
[AWS 배포 완벽가이드] artillery 버전
1
286
1
deploy.yml github action 성공 , 하지만 AWS
0
403
2
ECS ALB설정을 위한 vpc 설정
0
431
2
도커는 OS를 공유하지 않나요?
0
457
1





