>

AWS Application Load Balancer에서 Flask 애플리케이션을 실행하고 있지만 웹 소켓이 작동하지 않습니다. EC2에서 여러 게시물을 읽고로드 밸런서, 대상 그룹, 고정 구성을 구성한 후 ALB가 애플리케이션을 올바르게보고 있지 않을 수 있다는 결론에 도달했습니다.

Flask-SocketIo는 socketio.run(application, host='0.0.0.0', port=port) 를 사용하라고 말합니다   application.run() 를 캡슐화하여 웹 서버를 시작하는 방법 . 그러나 더 읽은 후에 EC2가 이미 application.run() 를 호출한다는 것을 알았습니다.  시작 스크립트에서 명시 적으로 그렇게 할 필요없이 내 socketio.run() 를 우회 할 수 있습니다.  웹 서버를 시작하지 않습니다.

이 경우가 될 수 있습니까? 이를 확인하고 socketio가 올바르게 시작되도록하려면 어떻게해야합니까?


  • 답변 # 1

    로드 밸런서를 통해 애플리케이션에 액세스하려면 먼저 대상 그룹의 대상이 정상인지 확인해야합니다. 상태 탭은 대상 탭의 대상 그룹 인스턴스 세부 정보에서 AWS 웹 콘솔에 표시됩니다.

    대상 그룹에 대상이없는 경우 편집 버튼을 누르고 목록에서 EC2 인스턴스를 선택하여 대상을 추가하십시오. 적절한 포트를 사용하는 것을 잊지 마십시오. 또한 상태 확인이 올바르게 구성되어 있는지 확인하십시오 (경로, 포트 ...). 대상 그룹 세부 정보 페이지의 상태 확인 탭에서 찾을 수 있습니다.

    위의 모든 것이 정상이고 TG에서 목표가 양호하지만 ELB에 애플리케이션이 표시되지 않으면 Flask 앱을 ​​사용하여 EC2 인스턴스에 SSH로 연결하여 해당 인스턴스가 올바르게 실행 중인지 확인하는 것이 좋습니다.

  • 이전 azure data factory - 런타임 매개 변수로 데이터 세트를 실행할 수 없습니다
  • 다음 C # 명령으로 서비스에 MySQL 서버가 존재하도록 제어하려면 어떻게해야합니까?