Azure未経験者が生成AIを活用してAppService環境を構築してみた
はじめに
こんにちは。株式会社メンバーズ デブオプスリードカンパニーの林です。
私はこれまでAzureをほとんど触ったことがありませんでしたが、今回、プロジェクトでApp Serviceを中心としたセキュアな環境を構築する機会をいただきました。
本記事では、生成AIを活用したApp Service環境構築の背景、使用ツールの選定理由、運用上の課題とその解決策を解説し、生成AIを活用したインフラ構築を検討しているエンジニアや、Azureを初めて触る方に向けた実践的な方法をお届けします。
この記事の対象者
生成AIを使ってみたいが、具体的な活用方法がわからない方
Azureに興味があり、手っ取り早く触ってみたい方
この記事でわかること
生成AIを活用したAzure環境構築の具体的な手法と実践例
Azure未経験者が直面する課題とその解決方法
生成AIのハルシネーション(誤情報)を見抜くポイントと対処法
この記事で書かないこと
Terraformなどのインフラコード化の詳細な手順
各Azureサービスの深い技術的仕様や詳細設定
セキュリティ要件の詳細な定義やコンプライアンス対応
背景
私はオンプレミスやAWSを中心に、5年のインフラ構築経験を持つエンジニアです。
Azureについては、本プロジェクトに配属される前に2週間触っただけの初心者でした。
今回アサインされたプロジェクトの目的は、App ServiceとAzure Database for PostgreSQLを使用した開発環境を、セキュリティを意識した構成に切り替えることです。
プロジェクト開始時点では、App ServiceとAzure Database for PostgreSQLの両方がパブリックアクセス可能な状態でした。
見直し前の構成図
この環境のセキュリティを強化するため、パブリックアクセスの無効化、ログの有効化、Front Doorの導入などを行うことを決めました。
アーキテクチャの選定には以下のサイトをベースに肉付けを行いました。
ベースラインの高可用性ゾーン冗長のApp Services Webアプリケーション - Azure Architecture Center | Microsoft Learn
生成AIを活用した構築アプローチ
今回利用する生成AIはオプトアウト設定を行ったGemini(思考モード)です。
1. そもそもサービスの種類がわからない
Azure未経験者の私がまず直面したのが、「各リソースの違いや用語が分からない」という問題でした。幸いAWSの経験はあるので、生成AIに対応表を作ってもらいました。
実際に生成AIに依頼した方法は以下です。
この図をもとに、利用しているリソース一覧を作成してください。
図はAzure用のものです。
リソース一覧は縦にリソース名を、横軸には以下を含めてください。
- リソース名
- 機能概要
- AWSの同等のサービス名
(リソース図を添付)この様に、自分が知っているものに置き換えることで、理解が早まります。
2. 構築手順がわからない
次にぶつかった課題は「Azureのドキュメントを見ても、Azureポータルから手作業でリソースを作成する際、どのチェックボックスを選択すれば良いのか、どの値を入力する必要があるのか分からない」という点です。
Azure のドキュメント | Microsoft Learn
この問題について社内で生成AIを活用している先輩社員に相談したところ、スクリーンショットを生成AIに提供することで解決できると教えてもらいました。生成AIは設計書通りの設定値を提案してくれるだけでなく、過去の値を記憶して適切な設定値を引き出してくれます。さらに、設定後の画面を提供すれば、設定が正しく行われたかのチェックも可能です。
最近の生成AIの進化には本当に感動しました。
実際に生成AIに依頼した方法は以下です。
AppServiceリソースの構築手順をステップバイステップで教えて下さい。
設定値は具体的な値を教えてください。
先にお渡ししたリソース図に従って構築を行いたいです。時に生成AIの提示する構築手順が古く、その通りに画面推移ができない時もありました。
そんな時は以下の様に聞くことで対処することができました。
手順 ◯番(先に生成AIが提示してきた手順の番号)の設定を行おうとしたところ、
画面の表示が違います。
現在のスクリーンショットに合うように設定方法を教えて下さい。
(スクリーンショットを添付)また、2枚目以降の画面はプロンプトなしで画像のみをアップロードするだけで、生成AIが続きを教えてくれました。
3. 構築したリソースが繋がらない
エラーが発生した場合も、生成AIを使うことで解決することができました。
このプロジェクトで一番初めに構築したのはVNet内に配置したApp ServiceとPostgreSQLサーバです。
とてもシンプルな構成ですが、なぜかApp ServiceからPostgreSQLサーバに繋がりませんでした。
この時、App Serviceから名前解決はできるが、PINGが通らない状態でした。
自分で一通り設定を確認し、先輩社員にも見ていただきましたが、原因はわかりませんでした。
そこで、生成AIに「現在のVNetの構成図」と「App Serviceのネットワーク設定画面」を渡し、同じチャット内で相談を継続しました。
すると生成AIは、過去の会話から「Private EndpointのDNS設定」が漏れている可能性を指摘。
指示通りに設定を修正したところ、無事に疎通が確認できました。「文脈(コンテキスト)を維持したまま相談を続ける」ことの重要性を痛感した瞬間でした。
この様に生成AIにテキストだけでなく、画像もセットで会話することで、Azure未経験の自分で各リソースへの理解や構築をすることができました。
最終的に以下のリソースを含む環境構築ができました。
Azure Front Door
Azure App Service
Azure Database for PostgreSQL
Azure Blob Storage
Azure Key Vault
Azure AI Search (旧 Cognitive Search)
Azure AI Speech (Speech Service)
Azure Communication Services
Event Grid
Private Link / Private Endpoint
Azure Private DNS Zones
Azure Monitor
Application Insights
Log Analytics Workspace
Azure DevOps
ハルシネーションにご注意を
生成AIは非常に便利ですが、時に誤った情報を生成します。これを一般的にハルシネーションと呼びます。
今回の構築では、生成AIの情報が正しいかを確認するため、公式ドキュメントと照らし合わせるようにしていました。
生成AIが間違った情報を提示した場合は、軌道修正を促しながら進めました。
しかし、軌道修正後も生成AIが「情報に誤りはありません。自信を持って構築してください」と主張することがありました。
この時、生成AIに参考URLを提示するように依頼しましたが、参考URLまで生成しており、実際には存在しないURLを提示していたのです。
この経験から、生成AIが存在しないURLを生成してくる時は、高確率で誤った情報を提供していると感じました。
生成AIが自信を持って回答していても、参考URLが架空のものである場合、その情報自体の信頼性が低いと判断できます。
そのため、生成AIが提示するURLは必ず実際にアクセスして確認し、存在しない場合は別の方法で情報の正確性を検証する必要があります。
このような場合は、公式ドキュメントを直接検索したり、別の信頼できる情報源と照合したりすることで、正しい情報を得るよう心がけました。
まとめ
本記事では、Azure未経験の私が生成AIを活用してApp Service環境を構築した経験を共有しました。
生成AIは、Azure特有の用語やサービスの理解を助け、構築手順を具体的に提示してくれる強力なツールでした。特に、スクリーンショットを活用することで、実際の画面に合わせた設定方法を教えてもらえる点は非常に有効でした。
一方で、生成AIのハルシネーション(誤情報の生成)には注意が必要です。生成AIが提示する情報は必ず公式ドキュメントと照らし合わせ、特に参考URLが実在するかを確認することが重要です。存在しないURLを提示してくる場合は、情報の信頼性が低いサインと考えるべきです。
今回の経験を通じて、生成AIは適切に活用すれば、未経験の技術領域でも効率的に学習・構築を進められる素晴らしいパートナーであることを実感しました。ただし、生成AIに全てを任せるのではなく、エンジニアとして情報の正確性を検証する姿勢を持ち続けることが大切だと感じました。
Azure初心者の方や、生成AIを活用したインフラ構築に興味のある方の参考になれば幸いです。
次回は、生成AIを活用したIaC(Infrastructure as Code)の作成についてお伝えします!
What is BEMA!?
Be Engineer, More Agile


