2016-11-25 11 views
1

私は表面に何かが欠けていると思います。 私はAzureでSFクラスタを作成しました。 Load Balancerと、10.0.0.0/16のIPアドレスを持つ3つのVM(ノード)を持つネットワークを備えています。インターネットからのAzure Service Fabricアプリケーションへのアクセス

アプリケーションエンドポイントのロードバランサにノードIPアドレスを応答するように要求するとき。 (私はWireSharkでパケットをキャプチャしました)しかし、ネットワークはプライベートなのでアクセスできません。

3xA0インスタンス、net.tcp:20001エンドポイント、ファイアウォールの接続、ポートのオープンとリスニング、私はバランサーに割り当てられたパブリックIPアドレス、サービスポートのプローブを持っています。

答えて

0

はそれを次のとおりです。

クラスタ外部からのサービスと通信したい

- ちょうどロードバランサのIPを使用し、命名サーバー通信を必要としません。ロードバランサには、クラスタ内の各ノードのポートをチェックし、要求しているサービスを持つランダムなインスタンスにリクエストを転送できるprobsがあります。

  1. は、ロード・バランサを介してネームサービスを依頼して、サービスに直接通信する:

    クラスタ内の別の1 microserviceを伝えたい

    は、あなたは2つのオプションがあります。
  2. サービスがクラスタ内のすべてのノードにあることがわかっている場合は、直接localhostと直接通信することができます。クラスタの仮想ネットワーク内からクラスタ内のmicroserviceに別のVMから通信したい場合は

、あなたは、ロードバランサを介してサービスを命名するが、サービスを利用して求めることができます(VPNを使用してクラスタにWebAppのを接続することができます)ファブリックHTTP APIは、Service Fabric SDKがインストールされていないVM上でサービスファブリッククラスを使用できないためです。次に、サービス解決の例を示します。https://github.com/lAnubisl/ServiceFabricHttpApiClient

1

ロードバランサでは、パブリックIPアドレスを割り当てる必要があります。これについては、documentationで実際に良い詳細なガイドが見つかります。ここで[OK]を

+0

MyロードバランサにパブリックIPアドレスがあります。私はそれにアクセスすることができ、それはノードのエンドポイントで私に応答します。ドキュメンテーションのプローブやその他の情報があります。問題は、私のVMのどれもパブリックIPアドレスを持っておらず、ロードバランサだけが私に接続する必要があります(私はノードに直接接続したいと思っています)。私はそれが通過することを期待していた。 – Anubis

+0

それはあなたのVMがパブリックIPを持つことを望まないのは当然です。ロードバランシングルールの直接リターンを設定しようとしましたか? SQL AAGのためにこれを行う必要があります。 –

+0

はい。私のバランシングルールは、フロントエンドのIPアドレス=ロードバランサパブリックIP、プロトコル= TCP、ポート=私のサービスポート、バックエンドプール= my vmスケーラビリティグループ、プローブ、セッション持続性=クライアントIP、フローティングIP =私のクライアントアプリケーションが「10.0.0.5:20001に接続できません/ .....」 – Anubis

関連する問題