2026年5月17日
2026年5月17日
AWS LambdaでサーバーレスFunctionを作成する方法
ステップ1: AWS Lambda関数の作成
まず、AWS Management Consoleにログインし、Lambdaサービスを開きます。新しい関数を作成するため、「Create function」ボタンをクリックします。
# ログインとLambdaへのアクセス
aws configure
aws lambda create-function \
--function-name my-first-lambda \
--runtime nodejs14.x \
--handler index.handler \
--role arn:aws:iam::ACCOUNT_ID:role/lambda-examples-role \
--zip-file fileb://my-lambda-function.zip
# 関数の設定を確認
aws lambda get-function --function-name my-first-lambda
ステップ2: 関数本体の作成とデプロイ
関数の実装ファイルを作成し、必要なライブラリとビジネスロジックを含めます。ここではNode.jsを使用します。
# 必要な依存性をインストール
npm install aws-sdk
# Lambda関数本体(index.js)
const AWS = require('aws-sdk');
exports.handler = function(event, context) {
console.log("Request received: ", event);
return {
statusCode: 200,
body: JSON.stringify({message: "Hello from Lambda"})
};
};
ステップ3: 関数のテスト
Lambda関数をテストするために、イベントを送信します。
# テスト用イベントを作成
aws lambda invoke --function-name my-first-lambda response.json \
--payload '{"key":"value"}'
# 出力結果を確認
cat response.json
ステップ4: API Gatewayと連携
API Gatewayを使用してLambda関数にアクセスできるAPIエンドポイントを作成します。
# API Gatewayの新規リソース作成
aws apigateway create-rest-api --name my-api \
--description "An API for testing Lambda"
# リソースパスを追加
aws apigateway put-method --rest-api-id REST_API_ID \
--resource-id RESOURCE_ID --http-method GET
# Lambda関数とAPI Gatewayの連携
aws apigateway put-integration \
--rest-api-id REST_API_ID \
--resource-id RESOURCE_ID --http-method GET \
--integration-type AWS_PROXY \
--passthrough-parameters true \
--uri arn:aws:apigateway:REGION:lambda:path/2015-03-31/functions/function/invocation
# トリガーを設定
aws apigateway put-integration-response --rest-api-id REST_API_ID \
--resource-id RESOURCE_ID --http-method GET --status-code 200
注意事項
- セキュリティ上の注意: IAMロールの許可は最小限に保ち、関数へのアクセスを制限します。
- パフォーマンス/運用上の注意: Lambda関数のトリガー(API GatewayやS3イベントなど)は適切に設定し、リソースのライフサイクルを管理します。
まとめ
1. 簡単なセットアップ: AWS Management ConsoleからLambda関数を作成し、基本的な設定を行います。
2. コード作成とデプロイ: Node.jsを使用して関数本体を作成し、必要な依存性をインストールします。
3. テスト: Lambda関数の動作を確認するためにAPI Gatewayを使用してイベントを送信します。
4. 連携: API GatewayとLambda関数を連携させ、外部からのアクセス可能なエンドポイントを作成します。
関連記事:
- [AWS Lambdaの基本操作]
- [API Gatewayの設定方法]
- [IAMロールの設定と管理]