🏐
Azure OpenAI Serviceにプライベートエンドポイントから接続する
モチベ
- Azure Open AIでも"閉域ビジネス"が必ず発生する
- 結局いつもの手順になるだろうけど、一通り触っておきたい
リソース
- 全体像としてはシンプルにこれを目指す。
Azure OpenAI Service
- 適当に作る
VNet
- ほぼほぼ既定のまま作成
- リージョンは東日本とする
- プライベートエンドポイント用にサブネットを1つ用意する
- プライベートエンドポイントに対してNSGを構成する場合には「プライベートエンドポイントポリシー」を有効化する必要がある
NSG
- NSGでプライベートエンドポイントへの接続を制御する
- 東日本でNSGを作成
- プライベートエンドポイント用サブネットに関連付ける
- VMデプロイサブネット用にも別のNSGをアタッチしておく
プライベートエンドポイント
- Azure OpenAIリソースの「ネットワーク」からプライベートエンドポイントを追加
- 引き込む先のVNETが東日本のため、地域は
Japan East
にする
- 他は既定値で作成する
VM
- プライベート接続用のVMを作成
- ネットワーク内のWindowsクライアントを想定
上記のリソース作成後、Azure OpenAIのネットワーク設定を「無効」に設定。結構時間かかる。
動作確認
ポータルからの操作
- Azure Portalからプレイグラウンドを開いてみる
- 想定動作:"Azure OpenAI Studioが開けない"or"プレイグラウンド上での操作を受け付けない"
- Azure OpenAI Studioは開けてしまった
- プレイグラウンドも開けてしまったが、リクエストを送信するタイミングでエラーになる(chatGPTに関しては何ともシュールな図)
- モデルのデプロイができてしまった
VMへRDP接続
-
VMのネットワーク設定からサブネットに適用しているNSGのインバウンド規則にてRDP接続を許可
-
VMからAzure OpenAI Studioへアクセスしてみると、今度はちゃんと返してくれる
-
nslookup
の結果を見てみると、確かにプライベートを向いている
$ nslookup 20230313-aoa.openai.azure.com
Server: UnKnown
Address: 168.63.129.16
Non-authoritative answer:
Name: 20230313-aoa.privatelink.openai.azure.com
Address: 10.0.1.4
Aliases: 20230313-aoa.openai.azure.com
NSGでVMからのアクセスも制限してみる
-
プライベートエンドポイント側のサブネットのNSGで、VMサブネットからのHTTPSをDenyする規則を追加
-
エラーメッセージが返ってきた
おわり
- 実際の通信はプライベートを向くが、Azure OpenAI Studioが一応インターネット側からもアクセスできることに加えて、一部操作もできてしまうというクセがある
- 単にAPIのエンドポイントをクライアントアプリから叩くだけであれば良いのだろうけども、、、。
GitHubで編集を提案
Discussion