AI技術の進化により、クラウド上でのAI APIの開発・運用がますます重要になっています。本記事では、AWS LambdaとAPI Gatewayを活用してAI APIを構築する方法について詳しく解説します。
1. AWS LambdaとAPI Gatewayの利点
AWS LambdaとAPI Gatewayを活用すると、以下のようなメリットがあります。
- サーバーレスアーキテクチャ: インフラ管理不要でスケーラブル。
- コスト効率: 使用した分だけ課金される。
- セキュリティ: IAM認証とAPI Gatewayの制御により安全な運用が可能。
まず、AWS環境をセットアップしましょう。
aws configure
2. Lambda関数の作成
Lambda関数を作成し、AIモデルの推論を処理するように設定します。
2.1. 必要なライブラリのインストール
Lambda環境に必要なライブラリ(boto3, numpy など)を含めるため、ローカルでパッケージングします。
mkdir lambda_function
cd lambda_function
pip install boto3 numpy -t .
zip -r lambda_function.zip .
2.2. Lambda関数のコード
以下のPythonコードをLambda関数にデプロイします。
import json
import boto3
import numpy as np
def lambda_handler(event, context):
data = json.loads(event['body'])
prediction = np.mean(data["values"]) # ダミーのAI推論
return {'statusCode': 200, 'body': json.dumps({'prediction': prediction})}
この関数は、受け取った数値データの平均値を返すシンプルなAI APIです。
3. API Gatewayの設定
3.1. API Gatewayの作成
AWSコンソールからAPI Gatewayを開き、新しいREST APIを作成します。
- エンドポイントタイプ: Regional
-
リソースパス:
/predict
- メソッド: POST
3.2. Lambda統合
作成したAPI GatewayのエンドポイントをLambda関数に接続します。
- 統合タイプ: Lambda 関数
- Lambdaプロキシ統合: 有効
デプロイ後、エンドポイントURLが発行されます。
4. フロントエンドからの利用
Next.jsやReactを使用して、API Gateway経由でLambda関数を呼び出します。
import { useState } from 'react';
export default function Home() {
const [input, setInput] = useState('');
const [prediction, setPrediction] = useState('');
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
const res = await fetch('https://your-api-gateway-url/predict', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ values: [1, 2, 3, 4, 5] }),
});
const data = await res.json();
setPrediction(data.prediction);
};
return (
<div>
<h1>AI APIテスト</h1>
<button onClick={handleSubmit}>予測を実行</button>
<p>結果: {prediction}</p>
</div>
);
}
5. デプロイと運用
本番運用を考慮し、以下のポイントを押さえましょう。
- CloudWatchでLambdaのログを監視
- API Gatewayのレート制限を設定
- IAMロールで適切な権限管理を実施
デプロイの自動化にはAWS CLIやTerraformを活用できます。
aws lambda update-function-code --function-name myLambdaFunction --zip-file fileb://lambda_function.zip
6. まとめ
本記事では、AWS LambdaとAPI Gatewayを活用したAI APIの構築方法について解説しました。
✅ LambdaでAI推論を処理
✅ API Gatewayでエンドポイントを公開
✅ Next.jsと連携しフロントエンドを構築
AWSを活用したAI API開発にぜひ挑戦してみてください!
「LGTM」&コメントでフィードバックをお待ちしています!