23

TCP リスナーとして機能し、指定されたポートで TCP メッセージ ストリームを受信し、その情報をデータベースに追加するアプリケーションを Azure で構築しようとしています。着信 TCP 通信は証明書で保護されます。

次のオプションを検討しています。

クラウド サービス ワーカーの役割

これは間違いなく機能するようです。ただし、これは Cloud Service を使用する必要があることを意味し、App Service が提供する機能とシンプルさを見逃しています。クラウド サービスのドキュメントには、必要な TCP ポートを開く方法も具体的に説明されています。

アプリ サービス

ただし、ロジック アプリ (推奨) では、これは TCP リスナーをネイティブにサポートしていないようです。そのため、カスタム API アプリを構築することを検討します。または、Web ジョブを作成することもできます。

ただし、このアプローチが機能するかどうかはわかりません。次の質問があります。

  • App Service で任意の TCP ポートを公開できますか?
    • クラウド サービスのドキュメントでは具体的にこれを行う方法が説明されていますが、App Service に似たものは見つかりません。そのため、構成が不要であるか、または App Service 内で TCP 通信が単に不可能です。
  • ロジック アプリ、API アプリ、または Web ジョブ内に TCP リスナーを構築できますか? たとえば、Azure のアーキテクチャは TCP リスナーに必要な動作をサポートしていますか?

Azure App Service で TCP リスナーをホストできますか?

4

2 に答える 2

11

クラウド サービス ワーカーの役割

これは間違いなくうまくいきそうです。ただし、これはクラウド サービスを使用する必要があることを意味し、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 アプリの構築を検討します。または、Web ジョブを作成することもできます。...

App Service で任意の TCP ポートを公開できますか? ...

Azure App Service で TCP リスナーをホストできますか?

いいえ、いいえ。公開されているのは 80/TCP と 443/TCP だけで、動作するプロトコルは HTTP だけです。App Service でカスタム リスナーを実行することはできません。

ここにリストされているサンドボックスの制限を参照してください: https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#network-endpoint-listening

この制限が App Service ページに記載されていない場合は、Azure ドキュメントでプル リクエストを送信してください。

Service Fabricはクールな 3 番目 (または 1 番目?) のオプションです: https://azure.microsoft.com/en-us/services/service-fabric/

于 2016-07-13T13:26:40.020 に答える
5

サポート チケットを発行し、これを Microsoft に確認しました。

[App Service 内] Azure はカスタマイズされたポートをサポートしておらず、http プロトコルのみをサポートしています。これら 2 つの理由により、TCP リスナーの使用が拒否されます。

また、この質問に関するさらに協力的な情報。Azure Web サイトでポートを開くことはできますか?

于 2016-07-14T09:59:30.070 に答える