Я уже настроил экземпляр EC2 на AWS (ubuntu, eu-central-1b). Порт 8888 (пользовательское правило tcp), https 443 и ssh 22 открыт в AWS (где угодно). Мне известны темы chmod 400 key.pem и jupyter_notebook_config.py. Он также успешно настроен на Anaconda3-5x и Jupyter на экземпляре EC2. НО: я не могу получить доступ к серверу Jupyter в моем браузере (Firefox и Safari). При запуске ноутбука Jupyter после входа в экземпляр EC2 я получаю сообщение об ошибке PermissionError: [Errno 13] Permission denied. В браузере я просто получаю сообщение об ошибке превышения времени ожидания соединения.
Я следовал почти всем учебникам, таким как:
https://chrisalbon.com/aws/basics/run_project_jupyter_on_amazon_ec2/
или же
https://github.com/mGalarnyk/Installations_Mac_Ubuntu_Windows/tree/master/AWS
Я попробовал это пару раз, завершил работу экземпляра EC2 и снова все настроил. Но я не могу подключиться к серверу Jupyter через браузер.
Точное сообщение об ошибке выглядит так, когда я пытаюсь подключиться / ввести URL в браузере:
(base) ubuntu@ip-172-31-34-13:~$ jupyter notebook [I 15:44:20.930 NotebookApp] JupyterLab extension loaded from /home/ubuntu/anaconda3/lib/python3.7/site-packages/jupyterlab
[I 15:44:20.930 NotebookApp] JupyterLab application directory is /home/ubuntu/anaconda3/share/jupyter/lab
[I 15:44:20.934 NotebookApp] Serving notebooks from local directory: /home/ubuntu
[I 15:44:20.934 NotebookApp] The Jupyter Notebook is running at:
[I 15:44:20.934 NotebookApp] https://(ip-172-31-34-13 or 127.0.0.1):8888/
[I 15:44:20.934 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
Exception in callback BaseAsyncIOLoop._handle_events(6, 1)
handle: <Handle BaseAsyncIOLoop._handle_events(6, 1)>
Traceback (most recent call last):
File "/home/ubuntu/anaconda3/lib/python3.7/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tornado/platform/asyncio.py", line 122, in _handle_events
handler_func(fileobj, events)
File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tornado/s**tack_context.py", line 300, in null_wrapper
return fn(*args, **kwargs)
File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tornado/netutil.py", line 262, in accept_handler
callback(connection, address)
File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tornado/tcpserver.py", line 263, in _handle_connection
do_handshake_on_connect=False)
File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tornado/netutil.py", line 565, in ssl_wrap_socket
context = ssl_options_to_context(ssl_options)
File "/home/ubuntu/anaconda3/lib/python3.7/site-packages/tornado/netutil.py", line 540, in ssl_options_to_context
context.load_cert_chain(ssl_options['certfile'], ssl_options.get('keyfile', None))**
Нет никакой разницы, когда я использую 'https://(AWS Public DNS): 8888 или' https://(AWS IPv4 Public IP): 8888 '
Я пробовал даже другой порт (8889) и все в таком духе.
И в качестве информации, как выглядит мой notebook_config:
c = get_config()
c.IPKernelApp.pylab = 'inline'
c.NotebookApp.certfile = u'/home/ubuntu/certs/mycert.pem'
c.NotebookApp.ip = '*'
c.NotebookApp.open_browser = False
c.NotebookApp.password = u'sha1:xxxxx'
c.NotebookApp.port = 8888
Все в основном настроено так, как показано в уроках.
Я попробовал, даже если они показали официальные данные на AWS: https://docs.aws.amazon.com/dlami/latest/devguide/setup-jupyter-config.html