Azure OpenAI Service使ってみた#3 ~OCXを用いた閉域アクセス編~

はじめに

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

「OCXを用いた閉域網でのAzure OpenAI Service活用」3部作もいよいよ最終回となりました。

Azure OpenAI Service | Microsoft Azure

第1部ではAzure OpenAI Serviceの基本的な利用方法を第2部では閉域接続のための基盤となるAzure側ネットワークリソースの準備について解説しました。まだご覧になっていない方は、ぜひそちらもご確認ください。

本記事(第3部)では、これまでの準備を踏まえ、Azure側の最終的な接続設定とOCX側の設定を行い、お客様環境(今回はGoogle Cloud上に構築したUbuntu Desktop環境を想定)からAzure OpenAI Serviceへ実際に閉域接続を確立し、Webアプリケーションにアクセスするまでの手順を詳細にご説明します。

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

第2部はこちら: Azure OpenAI Service使ってみた#2 ~閉域接続のためのAzureネットワーク設定編~

構成図

Google Cloud上のUbuntu DesktopからOCXを経由してAzure OpenAI Serviceに閉域接続するシステム構成図
構成図

Google Cloud上の仮想マシンにUbuntu Desktopを立てて、それをPCとして使用します。 そのため本記事ではGoogle CloudとAzure間をOCXを用いて閉域接続しますが、Google Cloud側はお客様環境に合わせて変更することができます。

  • 前提
    • Azureポータルにてリソースの作成ができる状態
    • OCXポータルにてリソースの作成ができる状態
    • PC側環境の整備が終わっている状態

手順目次

<注釈>
・前回の記事(第2部)の続きからの手順となります
・Google Cloud側の作業は省略します

 

  1. ExpressRoute Circuit作成
  2. OCX Cloud Connectionを用いた閉域接続
  3. ExpressRoute Circuit詳細設定
  4. PCにてDNS設定変更&Webアプリに閉域アクセス

1. ExpressRoute Circuit作成

1-1. 作成画面へ

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

1-2. 構成設定

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

Azure ExpressRoute Circuit作成画面の「構成」タブ。サブスクリプション、リソースグループ、回復性、リージョン、回線名、ポートの種類、プロバイダー、ピアリングの場所、帯域幅、SKU、課金モデルの設定項目が表示されている。
1.1 構成タブ

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
リソースグループ 作成済みのリソースグループを選択
回復性 標準の回復性
リージョン Japan East
回線名 任意
ポートの種類 プロバイダー
ピアリングの場所 Tokyo2
プロバイダー BBIX
帯域幅 任意
SKU 任意
課金モデル 任意

1-3. サービスキーのメモ

作成したリソースを確認し、サービスキーをメモしておきます

Azure ExpressRoute Circuitの概要画面。作成されたExpressRoute Circuitのサービスキーが表示されている箇所が示されている。
1.2 作成したリソース

2. OCX Cloud Connectionを用いた閉域接続

2-1. Cloud Connectionの作成

2-1-1. 作成画面へ

OCXポータルにログインし、[Cloud Connections]→ [作成]を押下します(以降Cloud ConnectionのことをCCと呼ぶ)。

OCXポータルのCloud Connections一覧画面。「作成」ボタンが強調表示されている。
2.1.1 CC作成画面へ

2-1-2. Azure CC作成

以下項目を入力して [作成] を押下します。

OCXポータルのCloud Connection作成画面(Azure向け)。名前、速度、Cloud NNI PoP名、CPEへの転送方法、サービスキーの入力項目が表示されている。
2.1.2 CC作成

項目 パラメータ
名前 任意
速度(帯域) 50Mbps
Cloud NNI PoP名 BBIX (Tokyo AT-Tokyo CC1 node1) <====> Azure (Primary, AT-Tokyo "Tokyo2", Japan East)
CPEへの転送方法 シングルタグ(dot1q)
サービスキー 1-3でメモしたもの
<注釈>
・Azure CCはAzure仕様により自動でPrimary, Secondaryの2つ作成されます
・本記事ではSecondaryは使用しません

 

2-1-3. VLAN IDをメモ

作成したリソースを確認し、VLAN IDをメモしておきます

OCXポータルのCloud Connection詳細画面。作成されたAzure CCのVLAN IDが表示されている箇所が示されている。
2.1.3 VLAN IDの確認

2-1-4. PC側CC作成

<注釈>
・本記事ではPCをGoogle Cloud上に用意するため、本工程を行います。PCをどこに用意するかによって、本作業の内容は変わります。

 

2-1-2と同様の手順で、Google Cloud用のCCを作成します。詳細は以下をご参照ください。

Cloud Connection(Google Cloud)の作成 | Open Connectivity eXchange

2-2. OCX-Router(v1)の作成

2-2-1. 作成画面へ

OCXポータルにログインし、[OCX-Router(v1)]→ [作成]を押下します。

OCXポータルのOCX-Router(v1)一覧画面。「作成」ボタンが強調表示されている。
2.2.1 OCX-Router(v1)作成画面へ

2-2-2. OCX-Router(v1)作成

以下項目を入力して [作成] を押下します。

OCXポータルのOCX-Router(v1)作成画面。名前、ロケーション、ローカルASNなどの入力項目が表示されている。
2.2.2 OCX-Router(v1)作成

項目 パラメータ
名前 任意
ロケーション Tokyo
ローカルASN 65001
その他 任意
<注釈>
・自動で2インスタンス(Primary, Secondary)作成されます
・本記事ではSecondary Routerは使用しません

 

2-2-3. Primary Interface 作成画面へ

作成したリソースの状態が[activated]になったことを確認し、[+]→ [+Primary Interface作成]を押下します。

OCXポータルのOCX-Router(v1)詳細画面。Primaryルーターの「+Primary Interface作成」ボタンが強調表示されている。
2.2.3 Primary Interface作成へ

2-2-4. Primary Interface 作成

以下項目を入力して [作成] を押下します。

OCXポータルのOCX-Router(v1)のPrimary Interface作成画面。インターフェース名とIPv4アドレスの入力項目が表示されている。
2.2.4 Primary Interface詳細設定

項目 パラメータ
インターフェース名 任意
IPv4アドレス 192.168.1.1/30

2-2-5. BGP Parameter 設定画面へ

作成したリソースの状態が[available]になったことを確認し、[BGP Parameters]→ [BGP Parameters作成]を押下します。

OCXポータルのOCX-Router(v1)のInterface詳細画面。「BGP Parameters作成」ボタンが強調表示されている。
2.2.5 BGP Parameters作成へ

2-2-6. BGP Parameter 設定

以下項目を入力して [作成] を押下します。

OCXポータルのOCX-Router(v1)のBGP Parameter作成画面。ローカルアドレス、リモートアドレス、リモートASNなどの入力項目が表示されている。
2.2.6 BGP Parameter設定

項目 パラメータ
ローカルアドレス 192.168.1.1
リモートアドレス 192.168.1.2
リモートASN 12076
その他 任意

2-2-7. PC側InterfaceとBGP Parameter設定

2-2-3〜2-2-6を繰り返し、PC側(本記事ではGoogle Cloud環境)用のInterfaceとBGP Parameterを設定します。

OCXポータルのOCX-Router(v1)詳細画面。Azure側とPC側(Google Cloud)のインターフェースおよびBGPパラメータが設定完了した状態が示されている。
2.2.7 設定後

2-3. VCの作成、アタッチ

2-3-1. 作成画面へ

OCXポータルで、[Virtual Circuits (VCs)]→ [作成]を押下します。

OCXポータルのVirtual Circuits (VCs)一覧画面。「作成」ボタンが強調表示されている。
2.3.1 VC作成画面へ

2-3-2. VC作成

以下項目を入力して [作成] を押下します。

OCXポータルのVirtual Circuit (VC)作成画面。名前の入力項目が表示されている。
2.3.2 VC作成

項目 パラメータ
名前 任意

2-3-3. VCにAzure CCとRouter Interfaceをアタッチ

作成したVC を選択し、[Cloud Connections]欄で2-1-2で作成したCCの[アタッチ]を押下します。

OCXポータルのVirtual Circuit (VC)詳細画面。「Cloud Connections」セクションでAzure CCをアタッチする「アタッチ」ボタンが強調表示されている。
2.3.3 VCアタッチ

同様に[Router Connections]欄で2-2-4で作成したRouter Interfaceの[アタッチ]を押下します。

2-3-4. PC側用VC作成、アタッチ

2-3-1~2-3-3と同様にしてPC側アタッチ用のVCを作成し、該当リソースをアタッチします(本記事では、手順2-1-4で作成したPC側CCと、手順2-2-7で設定したPC側インターフェースを指します)。

3. ExpressRoute Circuit詳細設定

3-1. プライベートピアリング設定へ

1-2で作成したExpressRoute Circuitリソース画面に戻り、[Azure プライベート]を選択します。

Azure ExpressRoute Circuitの概要画面。「ピアリング」セクションの「Azure プライベート」が選択されている状態。
3.1 プライベートピアリング設定へ

3-2. プライベートピアリング設定

以下項目を入力して [保存] を押下します。

Azure ExpressRoute Circuitのプライベートピアリング設定画面。ピアASN、IPv4プライマリサブネット、VLAN IDなどの入力項目が表示されている。
3.2 プライベートピアリング設定

項目 パラメータ
ピアASN 65001
サブネット IPv4
IPv4 プライマリサブネット 192.168.1.0/30
IPv4 セカンダリサブネット 任意(使用しません)
VLAN ID 2-1-3でメモした値

3-3. ルートテーブル確認

ExpressRoute Circuitリソース画面に戻り[Azure プライベート]の右側にある[•••]を押下し、[ルートテーブルを表示する]を押下します。

Azure ExpressRoute Circuitのプライベートピアリング詳細画面。右側の「•••」メニューから「ルートテーブルを表示する」が選択されている状態。
3.3 ルートテーブルへ

PC側ネットワークへのルートが受信できていることを確認します。本記事ではGoogle Cloud のVPCサブネットのネットワークアドレスを受信しています。

Azure ExpressRoute Circuitのルートテーブル表示画面。プライマリパスのルートテーブルにPC側ネットワークへのルートが学習されている状態が示されている。
3.4 ルートテーブル

<注釈>
・PC側ネットワークへのルートを受信するには、PC側ネットワーク(本記事ではGoogle Cloud)⇔OCX-Router(v1)区間のBGPセッションが確立されている必要があります。

 

3-4. 接続設定へ

ExpressRoute Circuitリソース画面に戻り、[設定]→[接続]→[追加]を押下します。

Azure ExpressRoute Circuitの「接続」設定画面。「+追加」ボタンが強調表示されている。
3.5 接続設定へ

3-5. 基本タブ

以下項目を入力して、 [次へ] を押下します。

Azure ExpressRoute Circuitの接続作成画面の「基本」タブ。サブスクリプション、リソースグループ、接続の種類(ExpressRoute)の入力項目が表示されている。
3.6 基本タブ

項目 パラメータ
サブスクリプション 該当のサブスクリプションを選択
リソースグループ 作成済みのリソースグループを選択
接続の種類 ExpressRoute

3-6. 設定タブ

以下項目を入力して、 [確認および作成] を押下します。

Azure ExpressRoute Circuitの接続作成画面の「設定」タブ。回復性、仮想ネットワークゲートウェイ、接続名、ExpressRoute回線、ルーティングの重みなどの設定項目が表示されている。
3.7 設定タブ

項目 パラメータ
回復性 標準の回復性
仮想ネットワークゲートウェイ 前回記事、5-2で作成したものを選択
名前 任意
ExpressRoute 回線 1-2で作成したものを選択
ルーティングの重み 任意
その他 任意

4. PCにてDNS設定変更&Webアプリに閉域アクセス

4-1. パブリックアクセスができないことを確認

作成したWebアプリのドメインにインターネット経由でアクセスできないことを確認します

WebブラウザでAzure Webアプリのドメインにアクセスしようとし、「このサイトにアクセスできません」というエラーメッセージが表示されている画面。
4.1 インターネット経由アクセス

4-2. DNSクエリの送信先を変更

PCにてDNSクエリの送信先を前回記事、4-4でメモしたIPアドレスに変更します。 下図はUbuntu Desktopでの例です。

Ubuntu Desktopのネットワーク設定画面。DNSサーバーのアドレスをAzure DNS Private Resolverの受信エンドポイントIPアドレスに変更している様子。
4.2 DNSクエリ送信先変更

4-3. 閉域アクセスできることを確認

作成したWebアプリのドメインに閉域アクセスできることを確認します。

WebブラウザでAzure Webアプリのドメインにアクセスし、前回記事(第一部)で作成したChatGPT風UIが正常に表示されている画面。
4.3 閉域アクセス

おわりに

3回にわたり、OCXを用いた閉域網経由でのAzure OpenAI Service利用手順をご紹介しました。設定項目が多く大変だったかもしれませんが、これで安全なAI活用環境を構築する一例がお分かりいただけたかと思います。

Azure OpenAI Serviceは、社内データを活用した専用AIの構築など、様々な応用が可能です。ぜひ本シリーズでご紹介した内容を参考に、お客様の環境やニーズに合わせたセキュアなAIソリューションの実現にOCXをお役立ていただければ幸いです。

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