EC2 t2.micro 인스턴스 재부팅 후 jupyter notebook 재설정
8월 6일 오후 6시경,
EC2에 올려뒀던 프로젝트에 접근이 되지 않는 문제가 발생했습니다.
EC2에 접속해서 상태 보기를 선택하니 아래와 같은 화면이 나왔습니다.
주기적으로 상태를 검사하고 문제가 있을 경우 알람과 자동 복구까지 해주는 기능이 있지만
Free tier인 t2.micro에서는 제공되지 않는 기능으로 확인되었고
결국 셀프 복구를 위해 EC2를 재부팅하기로 했습니다.
다행히 재부팅 한 이후 검사 결과가 정상으로 확인됩니다.
아쉽게도 Free tier 는 Elastic IP를 지원하지 않기 때문에 재부팅하면 IP주소가 변경됩니다.
호스팅 사이트의 IP설정, FileZilla의 IP설정을 다시 해줘야 하고,
jupyter notebook도 시스템이 재부팅되며 종료되었기에 다시 실행해줘야 합니다.
이 포스트에선 jupyter notebook의 재실행에 대해 기록합니다.
우선 EC2 인스턴스에 접속해야 합니다.
준비물은 2가지, pem키 파일과 EC2의 새로운 접속주소입니다.
먼저해당 pem파일은 우클릭-속성-보안-고급 탭에서
1) 상속 사용 안 함 - 명시적 사용 권한으로 변경
2) Administrators 와 System을 제외한 다른 보안주체들(user가 포함된 계정들)을 삭제
2가지를 진행해두셔야 접속 에러를 방지할 수 있습니다.
두 번째 준비물 EC2의 새로운 접속주소는 EC2 인스턴스 우클릭 - 연결을 클릭하면 하단에 확인됩니다.
준비가 완료되었다면 명령 프롬프트를 관리자 권한으로 실행합니다.
pem 파일이 있는 경로로 이동한 후
ssh로 시작하는 복사해둔 문장을 붙여넣기 하여 실행합니다.
만약 Permission denied (publickey). 에러가 나온다면 프롬프트를 관리자권한으로 실행 후 재시도합니다.
여기까지가 EC2 접속 완료입니다
이제 주피터 노트북을 다시 실행해야 합니다.
아래의 명령어를 순차적으로 실행합니다
1
2
3
4
5
|
sudo jupyter notebook —allow-root //실행 명령어
^Z // Stop 명령어 - 설정 변경을 위한
bg
disown -h
^C + y + Enter // 종료 명령어
|
cs |
bg, disown -h 는 명령프롬프트를 통해 접속한 해당 접속이 종료되더라도
계속해서 실행이 유지되도록 하는 설정입니다.
완료되었다면 명령 프롬프트를 종료하고 브라우저에서 주피터 노트북에 접속해봅니다.
원인을 알 수 없는 문제로 EC2가 중단되었었고,
그로 인해 수행해야 했던 EC2 재부팅, 주피터 노트북 재시동에 대해 기록해봤습니다.