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 リスナーをホストできますか?