AWS Deep Learning AMI에서 Jupyter Notebook 열기

AWS Deep Learning AMI



AWS Deep Learning AMI(DLAMI)는 AWS EC2 서비스로 머신러닝에 적합한 인스턴스를 간단하게 생성할 수 있다는 것입니다.
GPU를 탑재하고 있는 것 외에, conda나 각종 프레임워크도 처음부터 들어가 있어, ML/DL의 셋업이 매우 하기 쉬워지고 있습니다.
같은 서비스에 「SageMaker」도 있습니다만, 이쪽이 저렴하다고 생각합니다.

1. 인스턴스 생성



AWS EC2에서 인스턴스 생성을 클릭
AMI 검색 창에서 'Deep Learning AMI' 입력
우분투, Amazon Linux, Microsoft Windows Server의 세 가지가 있습니다.

여기에서는 Deep Learning AMI (Ubuntu 16.04) Version 26.0을 선택합니다.

2단계의 '인스턴스 유형 선택'에서도 여러 개의 GPU 인스턴스가 있지만 여기에서는 저렴한 'p2.xlarge'를 선택합니다.

다른 사람은 특별히 설정하지 않으므로 "확인 및 만들기"를 눌러 인스턴스를 만듭니다.
덧붙여서 이 구성에서는 요금은, 「1.542USD/시간」이 되고 있었습니다.

2. 인스턴스 설정



나중에 로컬 클라이언트 측에서 Jupyter Notebook에 액세스할 수 있도록 인스턴스의 8888 포트를 열어 둡니다.
생성한 인스턴스 > 설명 탭 > 보안 그룹 링크를 클릭하여 보안 그룹 세부 정보 화면을 엽니다.
또한 인바운드 탭 > 편집에서 유형:사용자 정의 TCP 규칙/포트:8888 규칙을 추가합니다.


3. 인스턴스에 연결



인스턴스를 시작한 후 Teraterm 등으로 인스턴스에 연결합니다.
(사용자 이름은 "ubuntu"입니다)
Deep Learning AMI를 시작하면 아래와 같이 표시되며 이 인스턴스에서 시작할 수 있는 프레임워크와 해당 시작 명령 목록이 표시됩니다.

빨간색 프레임에는 TensorFlow 가상 환경 시작 명령이 포함되어 있으므로,
TensorFlow를 시작하려면 다음을 입력하면 OK입니다.
$ source activate tensorflow_p36

4.Jupyter Notebook 설정



Jupyter에는 암호 유틸리티가 있으므로 여기를 사용합니다.
나중에 브라우저에서 액세스할 때 암호 인증이 됩니다.
$ jupyter notebook password

를 입력하고 암호를 설정합니다.


그런 다음 구성 파일을 설정합니다.
$ nano ~/.jupyter/jupyter_notebook_config.py

다음 줄을 추가합니다.
c.NotebookApp.ip = '*' #外部からのアクセスを許可する
c.NotebookApp.open_browser = False #自動でウィンドウを開かないようにする
c.NotebookApp.port = 8888 #ポート指定

또한 자체 서명 SSL 인증서 작성을 작성하십시오.
$ cd ~
$ mkdir ssl
$ cd ssl
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout mykey.key -out mycert.pem

5. Jupyter Notebook 시작



앞에서 만든 인증서를 사용하면서 노트북을 시작합니다.
$ jupyter notebook --certfile=~/ssl/mycert.pem --keyfile ~/ssl/mykey.key



클라이언트 PC의 브라우저에서,
https://[인스턴스 글로벌 IP 주소]:8888/
를 입력하면 암호를 묻는 메시지가 나타나면 노트북을 시작할 수 있습니다.

좋은 웹페이지 즐겨찾기