Azure OpenAI Service使ってみた#2 ~閉域接続のためのAzureネットワーク設定編~

はじめに

こんにちは、BBSakura Networks株式会社(以降BBSakura)にてOCXのクラウド直接接続サービスの運用を担当している太田と申します。

このシリーズでは、OCXを用いた閉域網でのAzure OpenAI Service(以降OpenAI Service)活用法をご紹介しています。

Azure OpenAI Service | Microsoft Azure

前回の第1部では、OpenAI Serviceの基本的な利用方法として、インターネット経由でWebアプリケーションと連携する手順をご紹介しました。まだご覧になっていない方は、そちらも併せてご確認ください。

本記事(第2部)では、第1部で作成した環境への閉域接続を実現するため、Azure側で基盤となるネットワークリソースの作成と設定手順を詳しく解説します。

第1部はこちら: Azure OpenAI Service使ってみた#1 ~インターネット接続編~

構成図

Azure OpenAI Serviceに閉域接続するためのシステム構成図。Azureの必要リソースが書かれている。
構成図

前回の記事からやや複雑になりました。しかし、この手順を完了すれば閉域接続の準備は万端ですので、頑張って進めていきましょう。

  • 前提
    • Azureポータルにてリソースの作成ができる状態

手順目次

<注釈>
・前回の記事(第1部)の続きからの手順となります。

 

  1. VNetとサブネット作成
  2. Webアプリの閉域設定
  3. OpenAI Serviceの閉域設定
  4. DNS Private Resolver作成
  5. 仮想ネットワークゲートウェイ作成

1. VNetとサブネット作成

1-1. 作成画面へ

Microsoft Azure ホーム画面の上の検索欄で [仮想ネットワーク] と検索の上、 「仮想ネットワーク」 画面を開きます。

1-2. 基本設定

開いた画面で [作成] を押下すると、以下のような 「仮想ネットワークの作成」 画面が表示されます。

Azureポータルの「仮想ネットワークの作成」画面の基本設定タブ。サブスクリプション、リソースグループ、仮想ネットワーク名、リージョン入力欄が表示されている。
1.1 仮想ネットワーク作成画面

以下項目を入力して [次へ] を押下します。なお、 [セキュリティ] タブではそのまま何も入力せず [次へ] で結構です。

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
リソースグループ 作成済みのリソースグループを選択
仮想ネットワーク名 任意
リージョン Japan East

1-3. IPアドレス設定と仮想ネットワークゲートウェイ用サブネット作成

[IPアドレス] タブで、VNetに割り当てる任意のIPアドレス(本書では172.16.1.0/24)を入力します。また、「default」 サブネットの鉛筆マークを押下して、仮想ネットワークゲートウェイ用サブネットを作成します。

Azureポータルの「仮想ネットワークの作成」画面のIPアドレス設定タブ。VNetのIPアドレス空間入力と、仮想ネットワークゲートウェイ用サブネットの編集画面が表示されている。
1.2 IPアドレス設定&Gateway Subnet作成

以下のパラメータで仮想ネットワークゲートウェイ用サブネットを作成します。

項目 パラメータ
サブネットの目的 Virtual Network Gateway
開始アドレス お客様環境に従い設定
サイズ /27以上で任意(本書では/26)
その他 お客様環境に従い設定

1-4. 残り3つのサブネット作成

さらに、 [IPアドレス] タブで、 [+ サブネットの追加] を押下し、 「サブネットの追加」 画面から 3つ(EndPoint用、VNet統合用、DNS用)のサブネットを、以下の項目を参考に追加します。

Azureポータルの「サブネットの追加」画面。サブネットの目的、開始アドレス、サイズなどの入力項目が表示されている。
1.3 サブネットの追加

項目 パラメータ
サブネットの目的 Default
開始アドレス お客様環境に従い設定
サイズ お客様環境に従い設定
その他 お客様環境に従い設定

1-5. 確認&作成

4つのサブネット(仮想ネットワークゲートウェイ用、EndPoint用、VNet統合用、DNS用)を設定したことを確認したら、[レビューと作成] から作成します。

2. Webアプリの閉域設定

2-1. Webアプリへ

Microsoft Azure ホーム画面の上の検索欄で [App Services] と検索の上、 「App Services」 画面を開きます。その後、前回の記事で作成したWebアプリを開きます。

2-2. パブリックアクセスの無効化

該当リソース画面にて [ネットワーク] を選択して以下の項目を押下し、各種設定を行います。各項番のクリック箇所は、以下の画像のとおりです。

Azure App Serviceのネットワーク設定画面。受信トラフィックのアクセス制限、プライベートエンドポイント、仮想ネットワーク統合などの設定項目が表示されている。
2.1 ネットワーク設定画面

[公衆ネットワークアクセス]にて[無効]を選択し、[保存]を押下します。

Azure App Serviceのアクセス制限設定画面。パブリックアクセスを無効にするための設定と、確認のチェックボックスが表示されている。
2.2 アクセス制限

「このチェックボックスをオンにするとアクセス制限の更新に同意したことになります」のチェックボックスにチェックを入れて[続行]を押下します。

2-3. プライベートエンドポイント作成

ネットワーク画面より、[プライベートエンドポイント] を押下し、[追加]→[簡易]から以下項目を入力してPrivate Endpointを作成します。

Azure App Serviceのプライベートエンドポイント作成画面。名前、サブスクリプション、仮想ネットワーク、サブネット、プライベートDNSゾーンとの統合設定項目が表示されている。
2.3 プライベートエンドポイント作成

項目 パラメータ
名前 任意
サブスクリプション 該当のサブスクリプションを選択
仮想ネットワーク名 作成した仮想ネットワークを選択
サブネット 作成したEndPoint用サブネットを選択
プライベートDNSゾーンと統合する はい

2-4. 仮想ネットワーク統合の追加

ネットワーク画面より、[仮想ネットワーク統合] を押下し、[仮想ネットワーク統合の追加]から以下項目を入力して[接続]を押下します。

Azure App Serviceの仮想ネットワーク統合の追加画面。サブスクリプション、仮想ネットワーク、サブネットの選択項目が表示されている。
2.4 仮想ネットワーク統合の追加

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
仮想ネットワーク名 作成した仮想ネットワークを選択
サブネット 作成したVNet統合用サブネットを選択

3. OpenAI Serviceの閉域設定

3-1. 作成済みのOpen AI Serviceリソースへ

Microsoft Azure ホーム画面の上の検索欄で [Azure OpenAI] と検索の上、 「Azure OpenAI」 画面を開きます。その後、前回の記事で作成したリソースを開きます。

3-2. 許可するアクセス元の変更

[ネットワーク]→[Firewalls and virtual networks]→[許可するアクセス元]にて無効を選択し、[Save]を押下します。

Azure OpenAI Serviceのネットワーク設定画面。「Firewalls and virtual networks」タブで「許可するアクセス元」を「無効」に設定する箇所が示されている。
3.1 パブリックアクセス設定

3-3. プライベートエンドポイント作成 基本タブ

引き続き [ネットワーク] タブで、 [プライベートエンドポイント接続] →「+プライベート エンドポイント」 を押下します。以下項目を入力して、 [次へ] を押下します。なお、 [リソース] タブではそのまま何もせず [次へ] で結構です。

Azure OpenAI Serviceのプライベートエンドポイント作成画面の「基本」タブ。サブスクリプション、リソースグループ、名前、ネットワークインターフェース名、リージョンの入力項目が表示されている。
3.2 基本タブ

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
リソースグループ 作成済みのリソースグループを選択
名前 任意
ネットワークインターフェース名 任意
リージョン Japan East

3-4. プライベートエンドポイント作成 仮想ネットワークタブ

[仮想ネットワーク] タブで、以下項目を入力して、 [次へ] を押下します。

Azure OpenAI Serviceのプライベートエンドポイント作成画面の「仮想ネットワーク」タブ。仮想ネットワークとサブネットの選択項目が表示されている。
3.3 仮想ネットワークタブ

項目 パラメータ
仮想ネットワーク名 作成した仮想ネットワークを選択
サブネット 作成したEndPoint用サブネットを選択
その他 任意

3-5. プライベートエンドポイント作成 DNSタブ

[DNS] タブで、以下項目を選択します。手順に沿って[次へ]を押下し、リソースを作成します。

Azure OpenAI Serviceのプライベートエンドポイント作成画面の「DNS」タブ。「プライベートDNSゾーンと結合する」を「はい」に設定し、関連するサブスクリプションとリソースグループを選択する項目が表示されている。
3.4 DNSタブ

項目 パラメータ
プライベートDNSゾーンと結合する はい
サブスクリプション 該当のサブスクリプションを選択
リソースグループ 作成済みのリソースグループを選択

4. DNS Private Resolver作成

4-1. 作成画面へ

Microsoft Azure ホーム画面の上の検索欄で [DNS Private Resolver] と検索の上、 「DNS Private Resolver」 画面を開きます。その後、[DNS Private Resolverの作成]を押下します。

4-2. 基本設定

[基本] タブにて以下項目を入力して [次へ] を押下します。

Azure DNS Private Resolver作成画面の「基本」タブ。サブスクリプション、リソースグループ、名前、リージョン、仮想ネットワークの選択項目が表示されている。
4.1 基本タブ

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
リソースグループ 作成済みのリソースグループを選択
名前 任意
リージョン Japan East
仮想ネットワーク名 作成した仮想ネットワークを選択

4-3. 受信エンドポイント設定

[受信エンドポイント] タブで、 [+ エンドポイントの追加] を押下し、以下項目を入力して [保存] を押下します。その後[確認および作成]を押下し、リソースを作成します。

Azure DNS Private Resolver作成画面の「受信エンドポイント」タブ。「エンドポイントの追加」画面でエンドポイント名、サブネット、IPアドレスの割り当て方法を設定する項目が表示されている。
4.2 受信エンドポイントタブ

項目 パラメータ
エンドポイント名 任意
サブネット 作成したEndPoint用サブネットを選択
IPアドレスの割り当て 動的

4-4. 受信エンドポイントのIPアドレスをメモ

作成したリソースの受信エンドポイントを確認し、IPアドレスをメモしておきます

Azure DNS Private Resolverの概要画面。作成された受信エンドポイントのIPアドレスが表示されている箇所が示されている。
4.3 IPアドレス確認

5. 仮想ネットワークゲートウェイ作成

5-1. 作成画面へ

Microsoft Azure ホーム画面の上の検索欄で [Virtual network gateways] と検索の上、 「Virtual network gateways」 画面を開きます。その後、[Virtual network gatewaysの作成]を押下します。

5-2. 基本設定

[基本] タブにて以下項目を入力して [確認および作成] を押下します。

Azure 仮想ネットワークゲートウェイ作成画面の「基本」タブ。サブスクリプション、名前、リージョン、ゲートウェイの種類、SKU、仮想ネットワーク、パブリックIPアドレスなどの設定項目が表示されている。
5.1 基本タブ

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
名前 任意
リージョン Japan East
ゲートウェイの種類 ExpressRoute
SKU Standard
仮想ネットワーク名 作成した仮想ネットワークを選択
サブネット GatewaySubnetが自動で選択
パブリックIPアドレス 新規作成
パブリックIPアドレス名 任意
パブリックIPアドレスにSKU Standard

おわりに

Azure OpenAI Serviceへの閉域接続に向けたAzure側ネットワーク基盤の準備、お疲れ様でした。本記事では、閉域接続に不可欠な仮想ネットワークやプライベートエンドポイントなどの設定を行い、Azureとお客様環境を接続するための重要な準備が整いました。

次回はいよいよ最終回です。Azure側の最終的な接続設定とOCX側の各種設定を行い、お客様環境(次回記事ではGoogle Cloud上の仮想マシンをPCとして利用する想定)からAzure OpenAI ServiceがデプロイされたWebアプリへ、実際に閉域接続を確立するまでの一連の手順をご紹介します。どうぞご期待ください。

最後までお読みいただき、ありがとうございました。