7

Azure에서 응용 프로그램을 빌드하여 TCP 수신기로 작동하고 지정된 포트에서 TCP 메시지 스트림을 수신 한 다음 해당 정보를 데이터베이스에 추가하려고합니다. 들어오는 TCP 통신은 인증서로 보호됩니다.Azure에서 TCP Listener를 호스트하는 방법은 무엇입니까?

나는 다음과 같은 옵션을 고려 중이 야 :

클라우드 서비스 작업자 역할

이것은 확실히 것처럼 work 것 같습니다. 그러나 이는 클라우드 서비스를 사용해야한다는 것을 의미하며 App Service가 제공하는 기능과 단순함을 놓치고 있습니다. 클라우드 서비스 documentation은 또한 필수 TCP 포트를 여는 방법을 구체적으로 설명합니다. (선호) 논리 앱에서

앱 서비스

그러나 이것은 기본적으로는 TCP 리스너를 지원하지 않는 것, 그래서 사용자 정의 API 응용 프로그램을 구축 보일 것이다. 또는 웹 작업을 만들 수 있습니다.

그러나 나는이 방법이 작동 모르겠지만, 나는 다음과 같은 질문이 있습니다

  • 내가 노출 될 수 있습니다 임의의 TCP 포트 앱 서비스에를?
    • 클라우드 서비스 문서에서이를 수행하는 방법을 구체적으로 설명하고 있지만 앱 서비스와 비슷한 것을 찾을 수 없습니다. 따라서 구성이 필요하지 않거나 TCP 통신이 앱 서비스 내에서만 가능하지 않습니다.
  • Logic App, API App 또는 Web Job 내에 TCP Listener를 만들 수 있습니까? Azure의 아키텍처가 TCP 수신기에 필요한 동작을 지원합니까?

Azure App 서비스에서 TCP 수신기를 호스팅 할 수 있습니까? 그것이 작동처럼

+0

HTTP를 통해이 작업을 할 수 있습니까? 이러한 모든 우려는 사라집니다. – usr

+0

아쉽게도 TCP는 상대방의 애플리케이션 요구 사항입니다. –

+0

그런 다음 MSDN TCP 자습서가 실제로 나쁘다는 것을 알려줍니다. 특히 https://msdn.microsoft.com/en-us/library/fx6588te(v=vs.110).aspx는 끔찍합니다. 또한 소켓 코드를 작성하는 것은 어렵습니다. 이 튜토리얼이 좋지 않다는 것을 알지 못한다면 이것은 아주 경험이 없으며 훨씬 더 어려운 시간을 가질 것임을 의미합니다. 그냥 경고 해. – usr

답변

4

클라우드 서비스 작업자 역할

이 확실히 보인다. 그러나 이는 클라우드 서비스를 사용해야한다는 것을 의미하며 App Service가 제공하는 기능과 단순함을 놓치고 있습니다. 클라우드 서비스 설명서에서는 필요한 TCP 포트를 여는 방법을 구체적으로 설명합니다.

확실히 작동합니다.

https://msdn.microsoft.com/en-us/library/azure/gg557553.aspx

ServiceDefinition.csdef 에서 :

<Endpoints> 
    <InputEndpoint name="RawTCP" protocol="tcp" port="54321" localPort="54321" /> 
</Endpoints> 

앱 서비스에서

(선호) 논리 응용 프로그램은, 그러나 이것은 기본적으로는 TCP를 지원하기 위해 보이지 않는 > 리스너가 필요하므로 맞춤 API 앱을 만들 것입니다. 또는 웹 작업을 만들 수 있습니다. ...

App 서비스에서 임의의 TCP 포트를 노출 할 수 있습니까? ...

Azure App 서비스에서 TCP Listener를 호스팅 할 수 있습니까?

아니오 및 아니오 80/TCP 및 443/TCP 만 공개적으로 노출되며 작동하는 유일한 프로토콜은 HTTP입니다. App Service를 사용하여 사용자 지정 수신기를 수행 할 수 없습니다.

는 여기에 나열된 샌드 박스 제한을 참조하십시오 https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#network-endpoint-listening

이 제한이 앱 서비스 페이지에 언급되어 있지 않은 경우 푸른 문서에서 끌어 오기 요청을하시기 바랍니다.

서비스 패브릭 멋진 3 것 옵션 (또는 1을?) : https://azure.microsoft.com/en-us/services/service-fabric/

+1

WebSockets의 의미는 무엇입니까? WebJob이 지원되는 것으로 가정하고 있습니다. – jpierson

4

내가 지원 티켓을 제기하고 마이크로 소프트와를 확인.

[응용 프로그램에서] Azure는 사용자 지정된 포트를 지원하지 않으며 http 프로토콜 만 을 지원합니다. TCP 리스너의 사용을 거부하는이 두 가지 이유가 있습니다.

더 많은 정보를이 질문에 추가하십시오; Can I open ports on Azure Websites?