1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【実践編】今すぐ使えるAI技術の最先端プラットフォーム完全ガイド| [第8回] AWS LambdaとAPI Gatewayを活用したAI APIの構築

Posted at

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」&コメントでフィードバックをお待ちしています!


1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?