목차

반응형

사건 발단은 이렇다.

여느때처럼 노드서버 업데이트를 하기위해서 xshell로 ec2를 접속하려는데 


Connecting to ...

Connection established.

To escape to local shell, press 'Ctrl+Alt+]'.


만뜨고 접속이 안되는 것이 아닌가

회사에서 서버 렉걸리거나 할때 자주겪어본 일이라서 그냥 컨테이너 재부팅하면 되겠네 싶어서

컨테이너 인스턴스 중지, 재시작을 했다.


그리고 다시 접속하려는데 또 안되는것 아닌가

와 보니까 여태까지 IP가 유동IP라서 인스턴스 껐다키니까 IP가 바뀌어버린거임 PPAP인거임

여태까지 개발한 소스에 적혀있는 IP, db에 들어가있는 이미지 및 파일 경로(내 잘못이긴한데 거기에 http부터 .jpg까지 모든 주소가 다 들어가있음)가 전부다 무의미해져버린것이다.



어떻게든 기존에 쓰던 아이피로 돌아가려했지만 그런건 없는 것 같다.

그래서 개발자분들께 서버 IP가 바뀌었다고 말씀드리고 소스를 고쳤다.



아마존 ec2 콘솔 - 탄력적IP(elastic IP) - 새 주소 할당 - 고정 IP에 인스턴스 넣기

위 작업을 꼭 해주자

도메인이 있어서 끌어다 쓰면 상관없긴 한데, api 전용 서버라 ip가 바뀌면 나처럼 곤란한사람들은 꼭 확인하자


DB 데이터에 들어가있는 IP값들도 다 바꿨다.

다행스럽게도 서버에서는 최소한의 막장은 피하고자 connection이라는 모델파일에서 ip값을 지정하고 끌어다 쓰기 때문에 수정하는데 그렇게 오래걸리지는 않았다.


몽고 db에서는 ip 들어가는걸 다 바꾸려면 아래의 쿼리를 실행하면 된다.

db.table.find({}).forEach(function(e,i) {
    e.ip=e.ip.replace("찾을IP","바꿀IP");
    db.table.save(e);
});
잘작동해도 아무반응없음.


실제 서비스하는데 저런 실수가 나왔으면...
끔찍하다.

반응형