Contents
1. Azure アカウントと無料トライアルの取得
| 項目 | 内容 |
|---|---|
| Microsoft アカウント | Outlook / Hotmail などの個人用アカウント、または職場・学校が提供する Office 365 アカウントでサインインできます。 |
| 無料トライアル | $200 相当のクレジット(30 日間有効)と、対象サービスの 12 ヶ月間 750 時間分の B1S 仮想マシン が付与されます※ ※2026‑04‑時点での情報。最新条件は公式無料トライアルページをご確認ください。 |
| 対象リージョン | $200 クレジットはほぼ全リージョンで利用可能ですが、AI 系サービス(Azure AI Foundry、Azure OpenAI)は一部リージョンのみ提供中です。日本国内では Japan East と Japan West が主要サポート対象です。 |
| 本人確認 | クレジットカードまたはデビットカード情報と、SMS による 2 要素認証が必須です。 |
アカウント作成手順(概要)
-
Microsoft アカウントでサインイン
https://account.microsoft.com/ からアカウントを取得/ログイン。 -
Azure ポータルにアクセス → 「無料アカウントを開始」ボタンをクリック。
https://portal.azure.com/ -
必要情報(氏名、電話番号、支払情報)を入力し、SMS 認証コードで本人確認。
-
無料クレジットと 30 日間の無料利用が自動的に適用されることを確認して完了。
ポイント:サブスクリプションはデフォルトで Pay‑As‑You‑Go が選択されます。後から Reserved Instance に変更すればコスト削減が可能です(1 年契約で最大 40 % 割引)。
2. AI 用リソース基盤の設計
2.1 リージョンとデータレジデンスの選定
- 同一リージョンにまとめる
- モデル呼び出し時のネットワーク遅延を最小化。
-
データ保護規制(国内保存義務)への準拠が簡単になる。
-
日本で推奨されるリージョン
Japan East(東京)とJapan West(大阪)。2026‑05 時点では Azure AI Foundry と Azure OpenAI の両方が Japan East で利用可能です。
※他リージョンの可用性はサービス地域一覧で随時確認してください。
2.2 リソースグループと Azure AI Studio ワークスペース
|
1 2 3 4 5 |
# 例: Japan East にリソースグループを作成 az group create \ --name rg-azureai-demo \ --location japaneast |
| 項目 | 推奨設定 |
|---|---|
| リソースグループ名 | rg-azureai-demo(プロジェクト単位で命名) |
| AI Studio ワークスペース名 | ai-workspace-demo |
| リージョン | Japan East |
| 作成場所 | Azure ポータル → 「AI + Machine Learning」→「Azure AI Studio」→「ワークスペースの作成」 |
3. 認証と権限管理のベストプラクティス
3.1 最小権限での RBAC 設計
| ロール | 主な権限 | 推奨対象 |
|---|---|---|
| Owner | 全リソースへのフルコントロール | アカウント管理者(数名) |
| Contributor | ほとんどの操作が可能だが、アクセス管理は不可 | 開発者・データサイエンティスト |
| Cognitive Services User | Azure OpenAI のエンドポイント呼び出し権限 | アプリケーション実行環境(Functions / Container Apps) |
| Key Vault Secrets Officer | シークレットの取得/更新 | マネージド ID が付与されたサービス |
3.2 マネージド ID の活用
- システム割り当て型マネージド ID を有効化
-
Azure Functions、Azure Container Apps、Azure Logic Apps 等で「Identity」タブ → 「System-assigned」ON。
-
Key Vault へ読み取り権限付与
|
1 2 3 4 5 |
az keyvault set-policy \ --name kv-azureai-demo \ --object-id <function-app‑managed‑id> \ --secret-permissions get |
- Azure OpenAI へのロール割当
bash
az role assignment create \
--assignee <managed‑id> \
--role "Cognitive Services User" \
--scope /subscriptions/<sub-id>/resourceGroups/rg-azureai-demo/providers/Microsoft.CognitiveServices/accounts/<openai-account>
4. Azure AI Foundry と Azure OpenAI の有効化
4.1 前提条件の確認
| 項目 | 確認方法 |
|---|---|
| リージョン対応 | Azure ポータルで「サービスの地域」欄をチェック。 |
| クォータ(GPU・トークン) | 「サポート」→「新しいサポートリクエスト」で上限拡張を依頼。 |
| 必要ロール | Cognitive Services User が対象アカウントに付与済みか確認。 |
4.2 Azure AI Foundry の有効化手順
- ポータル左側メニュー → 「AI + Machine Learning」→「Azure AI Foundry」を検索。
- 作成 ボタンをクリックし、以下を入力:
| パラメータ | 推奨設定 |
|---|---|
| サブスクリプション | 作成済みの無料トライアル(Pay‑As‑You‑Go) |
| リソースグループ | rg-azureai-demo |
| リージョン | Japan East |
| プラン | Standard(GPU 1 台、月額約 $500)※必要に応じて Enterprise に切り替え可 |
- 作成完了後、Azure AI Studio の「Foundry」タブからプロジェクトを作成し、コンピュートリソースを割り当てます。
4.3 Azure OpenAI の有効化手順
- ポータルで Azure OpenAI を検索 → 作成。
- 必要項目は以下の通り:
| 項目 | 設定例 |
|---|---|
| リソース名 | openai-demo |
| リージョン | Japan East |
| 価格レベル | Standard (S0)(無料トライアルクレジットで利用可能) |
- 作成後、ポータルの「モデル カタログ」から GPT‑4 (8k) を選択し、「デプロイ」ボタンをクリック。デプロイ名は例として
gpt4-demoを使用。
チェックリスト
- [ ] Azure AD ロール付与済み(Cognitive Services User)
- [ ] 選択リージョンで Foundry と OpenAI が両方「利用可」か確認
- [ ] クォータがデフォルト以上に設定されているか
5. GPT‑4 のデプロイと動作確認
5.1 デプロイ情報の取得
|
1 2 3 4 5 |
az cognitiveservices account show \ --name openai-demo \ --resource-group rg-azureai-demo \ --query "properties.endpoint" -o tsv |
出力例:https://openai-demo.openai.azure.com/
5.2 簡易テストスクリプト(Python)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import os, json, requests endpoint = os.getenv("AZURE_OPENAI_ENDPOINT") # 上記取得結果を設定 api_key = os.getenv("AZURE_OPENAI_KEY") deployment = "gpt4-demo" headers = { "api-key": api_key, "Content-Type": "application/json" } payload = { "model": deployment, "messages": [{"role": "user", "content": "Azure AI の導入手順を簡潔に教えて"}], "temperature": 0.7 } resp = requests.post( f"{endpoint}openai/deployments/{deployment}/chat/completions?api-version=2023-12-01-preview", headers=headers, json=payload ) print(json.dumps(resp.json(), ensure_ascii=False, indent=2)) |
期待結果:role: assistant と content に日本語で回答が返ってくること。
6. API 化:Azure Functions と Azure Container Apps の実装例
6.1 Azure Functions(Python)でのラッパー API
|
1 2 3 4 5 6 7 8 |
az functionapp create \ --resource-group rg-azureai-demo \ --consumption-plan-location japaneast \ --runtime python \ --functions-version 4 \ --name func-gpt4-api \ --storage-account stgfuncdemo |
__init__.py
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import os, json, logging, azure.functions as func, requests ENDPOINT = os.getenv("AZURE_OPENAI_ENDPOINT") KEY = os.getenv("AZURE_OPENAI_KEY") DEPLOY = "gpt4-demo" def main(req: func.HttpRequest) -> func.HttpResponse: try: prompt = req.params.get('q') or req.get_json().get('prompt') headers = {"api-key": KEY, "Content-Type": "application/json"} payload = { "model": DEPLOY, "messages": [{"role":"user","content":prompt}], "temperature":0.6 } r = requests.post( f"{ENDPOINT}openai/deployments/{DEPLOY}/chat/completions?api-version=2023-12-01-preview", headers=headers, json=payload) return func.HttpResponse(json.dumps(r.json()), status_code=200, mimetype="application/json") except Exception as e: logging.exception(e) return func.HttpResponse(str(e), status_code=500) |
ポイント
- 環境変数は Azure Portal の「Configuration」から設定。
- 認証はマネージド ID → Key Vault 経由で取得するとシークレット管理が不要。
6.2 Azure Container Apps(Node.js)での API
|
1 2 3 4 5 6 7 8 9 |
az containerapp create \ --resource-group rg-azureai-demo \ --name ca-gpt4-api \ --environment ca-env-japaneast \ --image mcr.microsoft.com/azure-app-service/node:18 \ --ingress external \ --target-port 8080 \ --cpu 0.5 --memory 1Gi |
server.js
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
require('dotenv').config(); const express = require('express'); const axios = require('axios'); const app = express(); app.use(express.json()); const endpoint = process.env.AZURE_OPENAI_ENDPOINT; const key = process.env.AZURE_OPENAI_KEY; const deployment = 'gpt4-demo'; app.post('/chat', async (req, res) => { try { const {prompt} = req.body; const resp = await axios.post( `${endpoint}openai/deployments/${deployment}/chat/completions?api-version=2023-12-01-preview`, { model: deployment, messages: [{role:'user', content: prompt}], temperature: 0.7 }, {headers: {'api-key': key, 'Content-Type':'application/json'}} ); res.json(resp.data); } catch (err) { console.error(err); res.status(500).send(err.message); } }); app.listen(8080, () => console.log('API listening on :8080')); |
デプロイ手順まとめ
| 手順 | 内容 |
|---|---|
| 1 | Dockerfile(Node.js)を作成し、GitHub Actions 等で Azure Container Registry にプッシュ。 |
| 2 | az containerapp create コマンドで環境・リソースグループにデプロイ。 |
| 3 | 環境変数 (AZURE_OPENAI_ENDPOINT, AZURE_OPENAI_KEY) をポータルの「Configuration」から設定。 |
7. よくあるエラーと対処法(Q&A)
| エラー | 原因例 | 推奨対策 |
|---|---|---|
| リージョン不一致 | Functions が Japan East、OpenAI が Japan West に配置 |
両方を同一リージョンに統一。リソース作成時の --location japaneast を必ず指定 |
| クォータ不足(GPU / トークン) | デフォルト上限が 10 k トークン/月 | ポータル → 「サポート」→「新しいサポートリクエスト」で上位プランへ変更依頼 |
| 認証エラー (401) | キーが期限切れ、または Key Vault のアクセス権が不足 | 新しいキーを取得し環境変数に再設定。Key Vault ポリシーでマネージド ID に get 権限付与 |
| デプロイ名相違 | コード内の DEPLOY が実際のデプロイ名と不一致 |
Azure AI Studio の「モデル」タブで正しいデプロイ名を確認し、コード定数と合わせる |
| API バージョンエラー | URL に使用している api-version が古い |
最新バージョンは 2023-12-01-preview(公式ドキュメント参照) |
8. 学習リソース・コミュニティ
| 種別 | タイトル / リンク |
|---|---|
| 公式オンデマンド動画 | 「イチから学ぶ! 初めての Azure と生成 AI」 – ポータル操作・モデルデプロイ・API化まで実演 |
| Microsoft Learn ハンズオン | 「AI アプリケーションの構築 (Azure Functions 編)」 |
| サービス別ドキュメント | Azure AI Foundry – https://learn.microsoft.com/ja-jp/azure/ai-foundry/ Azure OpenAI – https://learn.microsoft.com/ja-jp/azure/cognitive-services/openai/ |
| コミュニティ | Microsoft Tech Community – Azure AI フォーラム(質問・ベストプラクティス共有) GitHub Azure-Samples リポジトリ – 本稿コードを Fork して PR や Issue を活用 |
9. 次のステップ
-
カスタムファインチューニング
Azure AI Foundry の「MLflow」や「Prompt Flow」を使い、独自データで GPT‑4 を微調整。 -
評価パイプライン構築
Azure Machine Learning Pipelines でモデルの品質指標(BLEU、ROUGE)を継続的に測定。 -
運用・監視
- Azure Monitor の「ログ」や「メトリクス」で API 呼び出し回数とレイテンシを可視化。
- Cost Management で予算アラート(例:$150)を設定し、無料クレジットの消費タイミングを把握。
Azure のサービスは頻繁にアップデートされます。定期的に公式ドキュメントとリリースノートをチェックし、最新情報を取り入れながらプロジェクトを進めてください。
この記事は 2026‑05‑06 に作成されたものです。内容の正確性を保つため、公開後も随時見直し・更新を行います。