大きな疑問:
RoleEnvironment 内で実行されていないローカル開発クライアントから内部エンドポイントのIP:portを取得するにはどうすればよいですか? Azure ネットワークに接続できたとしても、VS のテスト クラス(サービスへのテスト呼び出しを直接実行しようとしている場所) はRoleEnvironment.Roles["MyRole"].Instances;を利用できません。、それ自体は Azure ロールで実行されていないためです。
セットアップ:
- デプロイ/ロールの内部エンドポイントとしてバックエンド Web サービス (Web API) があります。私のフロントエンド Web サイトでは、これらのサービスを使用しています。
- VS (単体テスト) を使用して内部エンドポイントに対してテストを実行する必要がある開発従業員がいます。
- 私はオンプレミス ネットワークを持っていません (小さな会社で、全員が自宅で仕事をしており、Active Directory 自体はなく、Windows 認証を処理するドメイン サーバーもありませんが、o365 アカウントは持っています)。
要求事項:
- ローカル クライアント(RoleEnvironment 内で実行されていない) が
必要です。
- Azure に接続 (VPN?)
- エンドポイントの場所 (IP:ポート) を取得する
- Azure ネットワークにアクセスする開発者は、Azure 内のボックス全体ではなく、これらのサービスにのみアクセスできる必要があります (つまり、リモート デスクトップの管理者や Azure ポータルの管理者としてではありません)。
私の状況は単純明快であり、一般的な慣行であることを願っていますが、これに対処したインターウェブ上で誰も見つけることができません.
ソリューション?
[更新] VPN が機能しており (ポイント ツー サイト)、そこにクラウド サービスがデプロイされています。内部エンドポイントにアクセスするには、スタートアップ タスクを使用してファイアウォールを開く必要があります。終わり。私も最近、エンドポイントの ACL を発見しました...しかし、それが私の状況に適用されるかどうか、またはどのように適用されるかはまだわかりません (私の目標は、役割を持つ開発者へのアクセスを制限することなどです)
いずれにせよ、どうすればエンドポイントへの参照を取得できますか? 確かに、環境 (フロント エンド Web サイト) で実行されているアプリから RoleEnvironment.Roles を使用できますが、VS クライアント (ローカル開発マシン) はその環境で実行されていません。仮想ネットワーク ダッシュボードで手動で IPを検索し、必要な特定のサービスが実行されている IP とポートを手動で検索できます。しかし、確かにプログラムによる適切な方法があります...