LAC WATCH

セキュリティとITの最新情報

RSS

株式会社ラック

メールマガジン

サイバーセキュリティや
ラックに関する情報をお届けします。

サービス・製品 | 

社内の生成AI活用基盤を支えるクラウドインフラとネットワーク

こんにちは。AI技術部の宇賀です。

生成AIが話題になって数年が経ち、生成AIを活用する取り組みは業界を問わず加速度的に増え続けています。ラックでも、生成AIをはじめとするAIの活用を全社的に推進し、独自の取り組みを進めています。しかし、AIそのものに対して注目が集まる一方、AIを利用するためのインフラが着目される機会はあまり多くありません。これからますます業務やシステムに生成AIが組み込まれていくことを考慮すると、その基盤となるインフラ整備の重要性が高まっています。

この記事では、ラックが開発を進めている社内の生成AIプラットフォーム「LACGAI powered by OpenAI(以下、LACGAI)」について、技術的な視点で紹介します。生成AIを安全かつ効率的に活用するインフラ設計、管理、運用の取り組みを掘り下げ、生成AI導入における実践的なヒントをお届けします。

社内生成AIプラットフォーム「LACGAI」開発の背景

ChatGPTのような生成AIチャットボットを業務で活用したいというニーズはますます高まっています。実際に社内で生成AIチャットボットを運用している企業も増えていますが、その要件を改めて考えることは重要です。

社内の生成AIチャットボットに必要なのは、メール生成や翻訳といった一般的な機能だけではありません。会社の規程集や社内文書などを元に回答させたりするRAGの機能も求められるでしょう。さらに、モデル個別のカスタマイズやエージェントの構築なども要件に上がるかもしれません。

しかし、どれほど高度な機能を備えていても、セキュリティが確保されていなければ安心して利用できません。生成AIチャットボットには、データ学習や攻撃による情報漏えいのリスクが伴いがちで、対策が不十分な環境では企業の信用が脅かされる可能性があります。

現在私が開発に携わっているLACGAIは、そういった要望を満たすために社内で設計したツールです。LACGAIは、インフラの自動構築や静的診断に加え、ラックの診断チームによる動的診断も組み合わせ、あらゆる面からセキュリティリスクを低減する仕組みを備えています。さらに、独自環境を利用するためカスタマイズ性も高く、RAGやエージェントだけでなくVoiceモードやOpenAI o1モデルなどにも対応しています。

LACGAIの生成AIチャットボット機能

LACGAIは、社内に導入されて2年近く経った今でも、大きなインシデントがなく安定した運用を続けています。利用者も年々増加しており、社内での生成AIの利用促進に大きく貢献しています。LACGAIの具体的な特徴や利用者数の推移については、以下の記事で詳しく紹介しています。

LACGAIのインフラ構成

LACGAIは全てのリソースをMicrosoft Azure(以下、Azure)上に構築しています。これにはいくつかの理由がありますが、最も大きな理由としてはOpenAI Serviceの存在が挙げられます。さらに、ラック社内ではユーザーIDの管理にMicrosoft Entra ID(以下、Entra ID)を使用しており、この環境とAzureの相性の良さも選定の大きなポイントとなりました。

LACGAIはOpenAI Serviceを基軸として、Cosmos DB for PostgreSQL、App Service、Key Vaultなどさまざまなリソースを作成し、1つのリソースグループにまとめています。そしてこれらのリソースの通信は、すべて仮想ネットワーク(プライベートネットワーク)を利用しています。この閉域化されたネットワーク設計により、安全な利用を実現しています。

※ 以下の概念図におけるサービス名は「Azure」を省略して記載しています。(例 Azure Cosmos DB → Cosmos DB)

LACGAIのインフラ構成図

LACGAIのネットワーク構成

LACGAIは、プライベートなネットワーク内での通信と運用をベースとして設計されています。Azure上に構築された全てのリソースは、仮想ネットワークを介して通信を行います。LACGAIへのアクセスもHTTPSに限定することで、通信の漏えいリスクを大幅に低減します。

さらに、プライベートネットワークはリソースの種別ごとにサブネットに分割されています。サブネット間の通信は全てファイアウォールを経由させることで、セキュリティリスクを最小化しています。

サブネット構成

仮想ネットワークは、リソースの種別に応じて3つに分割されています(大まかなイメージについては前章の図をご参照ください)。この章では、それぞれのサブネットとその間のネットワーク構成について解説します。

App Service用サブネット

App Serviceが接続するサブネットです。App ServiceはVNet統合という方法で仮想ネットワークに接続することで、後述するプライベートエンドポイントに対してプライベートIPを用いた接続ができます。

プライベートエンドポイント用サブネット

OpenAI ServiceやCosmos DB、Key Vaultなど、あらゆるリソースのプライベートエンドポイントを接続するサブネットです。Azureはリソースを直接サブネットにデプロイできません。その代わりに「プライベートエンドポイント」というリソースと接続し、それをサブネットに割り当てることでプライベート接続を実現します。

管理用サブネット

上述したリソースのほぼ全てがパブリックアクセスを無効化しているため、セットアップやリソースのマネジメントの際に仮想マシンが必要になります。その仮想マシンを接続するためのサブネットです。

これらのサブネット間の通信は、全てネットワークセキュリティグループにより制御されています。例えば、プライベートエンドポイント用のサブネットへは、TCP/443(HTTPS)およびTCP/5432(PostgreSQL)の接続のみが許可されます。

また、必要に応じてアプリケーションセキュリティグループも利用することで、フロントエンド・バックエンドのApp Serviceのみがアクセスできます。さらに、Entra IDによるユーザー認証とアクセス元IPの制限により厳重に管理されているため、情報漏えいを気にすることなく安全に利用可能です。

社内ネットワークとの接続

上述したネットワーク構成により、リソースの露出は最小限に抑えられていますが、それでもApp Serviceは外部からアクセス可能なリソースです。

IPアドレスの制限とユーザー認証があるのでデータを盗まれるリスクは低いですが、通信がインターネットを経由する点でわずかなリスクが残ります。ここを社内のVPN環境などから接続できるようにすれば、外部への露出をなくすことができます。これを実現するのが、VPNゲートウェイと仮想ネットワークピアリングです。

VPNゲートウェイを用いると、オンプレミスやクラウドのVPNとAzureの仮想ネットワークをピアリングできます。これにより、Azureリソースをグローバルに公開することなく、VPN環境などから安全に接続できるようになります。さらに仮想ネットワークピアリングを併用することで、VPNゲートウェイの管理を一元化しつつ、各仮想ネットワークの管理を独立できます。

新しく作成した仮想ネットワークを、VPNゲートウェイを設定した仮想ネットワークに接続してゲートウェイ転送を行うことで、社内VPNからの接続が可能になります。もちろんピアリングした状態でも通信はファイアウォールを経由するため、意図しない通信が行われる可能性も極めて低いです。

これらの技術を組み合わせて、ラック社内のLACGAIはApp Serviceを社内のVPN環境に接続し、外部からのアクセスを遮断したダイレクトな接続を実現しています。その結果、LACGAIのリソースは外部に露出することがなく、非常に安全なプラットフォームとなっています。

LACGAIのネットワーク構成図

TerraformによるInfrastructure as Code

Terraformは、HashiCorp社が提供するインフラを自動構築する宣言型のコーディングツールです。コードによるインフラストラクチャーの管理(Infrastructure as Code:以下、IaC)を実現できます。

なお、AzureにはTerraformの他にもBicepやARM TemplateのようなIaCツールがありますが、Azure以外のクラウドサービスプロバイダーとの互換性やエコシステムの大きさなどを考慮してTerraformを採用しています。

LACGAIにおけるTerraformの活用

LACGAIでは、本番環境や開発環境をすべてTerraformで構成・管理しており、迅速なデプロイとテストが可能です。以前は手動で構築する必要があった数十、数百のリソースは全て自動で構築されます。やることは以下のコマンドを入力するだけです。

$ terraform apply

インフラがすべてコードで記述されているおかげで、コードを更新した際のフォーク先への適用も非常にスムーズに行えます。この高いメンテナンス性を活かして、LACGAIでは複数のフォークリポジトリが利用されています。さらに開発環境にCI/CDとして取り入れたことで、インフラ構築からアプリのデプロイまでが1時間以内に完了するようになりました。

このスピードと効率性は、社内においてもさまざまな場面で非常に有益に機能しました。実際にどのように活用されたのか、2つの事例を紹介します。

診断専用のリソースの作成

LACGAIは過去にラックの専門チームによる診断を受け、その際にTerraformによる診断環境の自動構築が役立ちました。診断ではDDoS耐性のテストを含め一定の負荷をかけるため、本番環境とは別の環境、かつ同じ条件でテストする必要がありました。そのため、別のドメインで新しくLACGAIをホストし、そこで診断を行うことで脆弱性の検査などを行いました。

特定の部署専用のLACGAIのデプロイ

現在ラック社内では、全社員が利用できるLACGAIとは別に、特定の部署のメンバーしか使えない専用の環境も運用されています。この専用環境では、私たち開発チームも含め部署外の人間はリソースへのアクセス権限を持たず、管理者でさえデータの閲覧は不可能です。データは定期的に自動削除される仕組みで、全社員向けのLACGAIよりもさらに厳格な運用がされています。

このようにカスタマイズした専用の環境であっても、コードでインフラを管理しているため、フォーク元から最新のブランチをマージするだけでインフラの変更を取り込むことが可能です。

インフラの静的解析

Terraformによるインフラ構成のメリットとして、静的解析ツールの存在が挙げられます。静的解析では、既存のルールに基づいてコードに記述されたインフラの設定を自動で診断し、問題があれば警告を発します。ルールベースなので確認漏れがなく、さらに静的解析なのでこれらの診断を「インフラを構築することなく」行えます。

LACGAIでは以下のような解析ツールを利用しています。

  • tfsec
  • checkov

Terraformが記述されたフォルダでこのように実行するだけで、設定ミスやセキュリティ上の懸念事項などが網羅されて出力されます。

$ tfsec .
$ checkov --directory .

さいごに

生成AIを企業で利用する上での課題と、それらを解決するための「インフラの視点から見た」アプローチ、実現するための技術について紹介しました。生成AIはもはや単なる「ユーザーが利用するツール」ではなく、システムの内部に組み込まれ、企業の基盤を支える要素へと進化しています。今後もAI技術の活用が進む中で、それらを支えるインフラについて理解し、適切に管理する重要性はますます高まります。

LACGAIにおけるプライベートネットワークの技術と、インフラを管理運用するためのTerraformの活用、そして静的解析といったセキュリティへのアプローチなどが少しでも皆様の参考になりましたら幸いです。そして、LACGAIは社内だけでなく社外にも提供しています。LACGAIのコードをベースとして、専用にカスタマイズしたAIモデルも多くの企業で利用されています。もし興味がございましたら、ぜひお問い合わせください。

プロフィール

宇賀 遥貴

宇賀 遥貴
高専本科卒、2023年入社。
E資格を取得後、AIを使ったログ分析システムの開発や社内向けのAIエージェントアプリの開発を行っています。
セキュリティやソフトウェア開発、AIなど幅広い話題について発信していきます。
趣味はプログラミング、AI全般、ゲームなど。

「AIソリューション」に関するお問い合わせ

この記事は役に立ちましたか?

はい いいえ