Быстрое и безопасное решение:
Поскольку вы используете сервер разработки, который не предназначен для производства. Я бы сказал, что лучший способ подключиться к этому приложению только с вашей собственной машины , это использовать туннель s sh:
ssh -L 5000:localhost:5000 ec2_addr
Затем вы можете указать свой веб-браузер на http://localhost:5000/
на вашем клиентском компьютере, который будет подключен к порту 5000 в экземпляре EC2. Это быстрый способ подключения к Flask (или любому) серверу на удаленной коробке Linux. Туннель разрушается, когда вы останавливаете этот сеанс s sh.
Более длинный метод:
Я хотел бы получить доступ к открытым маршрутам, используя мои aws ec2's publi c IP или имя хоста.
Тайм-аут не потому, что он работает в виртуальной среде: вы, вероятно, обнаружите, что вам нужно назначить группы безопасности для вашего экземпляра через консоль EC2. Это позволяет вам открывать определенные порты на общедоступном c IP.
См. Этот другой ответ, который я написал, относительно групп безопасности EC2 .
Однако осторожны . Вы не должны подвергать сервер разработки таким образом. Существует ряд обучающих программ, подобных этому от digital ocean , которые охватывают развертывание приложения flask за gunicorn
и nginx
с сертификатом Let's Encrypt
SSL. Вы должны оказаться в положении, когда ваша группа безопасности выставляет порты 80 и 443, а запросы на порт 80 перенаправляются на URL-адрес https
с помощью конфигурации nginx.
Если это звучит как целая куча хлопот / у вас нет Linux навыков / вы не хотите изучать Linux навыков, то это общие причины, по которым люди выбирают управляемые сервисы, такие как AWS Elasti c Beanstalk, на котором вы можете развернуть ваше приложение flask (официальное руководство) , не беспокоясь о конфигурации сервера. Heroku - это еще одна (не AWS) служба, которая предлагает такие функции.
Это действительно зависит от того, что вам требуется / wi sh для получения. Берегите себя!