AWS Lambda 開始方法

自社の道をお選びください

AWS Lambda は、イベント発生時にお客様のコードを実行し、基盤となるコンピューティングリソースを自動的に管理するサーバーレスコンピューティングサービスで、新規情報に迅速に対応するアプリケーションの構築をより容易に行うことができます。

AWS Lambda を初めて使う人も、既にユースケースが決まっている人も、ご自身の道を選び、キュレートされた学習手順に沿って、AWS Lambda を開始してください。

パス 1: インタラクティブなウェブベースおよび API ベースのマイクロサービスやアプリケーション

AWS Lambda を単独で使用するか、他の AWS サービスと組み合わせて使用することで、俊敏性の向上、運用の複雑さの軽減、コストの削減、自動的なスケーリングに役立つ強力なウェブアプリケーション、マイクロサービス、API を作成できます。

1 つの Lambda 関数から動的なウェブページを構築する方法を説明します。まず、Lambda 関数に HTTPS エンドポイントを割り当てます。Lambda 関数 URL を使用して、追加のサービスを学習、設定、運用しなくても関数を直接呼び出すことができます。これは機能が 1 つのマイクロサービスに最適です。詳細を確認する

次に、Amazon API Gateway を使用して REST API とリソース (Amazon DynamoDB) を作成します。HTTPS エンドポイントを介して API を呼び出すと、API Gateway は Lambda 関数を呼び出します。これは、Amazon API Gateway を利用して各関数を API エンドポイント、メソッド、リソースにマッピングする、複数の機能を持つマイクロサービスに最適です。詳細を確認する

これで、AWS Lambda、Amazon API Gateway、Amazon DynamoDB、および AWS Amplify コンソールを使用して簡単なウェブアプリケーションを作成する準備が整いました。まず、「Hello World」をレンダリングする静的ウェブアプリケーションを構築します。 次に、ウェブアプリケーションに機能を追加して、表示するテキストが指定したカスタム入力に基づくようにする方法を学びます。詳細を確認する

最後に、複数のマイクロサービスを含むサーバーレスウェブアプリケーションを作成します。AWS Amplify コンソール、Amazon Cognito、AWS Lambda、Amazon API Gateway、Amazon DynamoDB を使用して、静的ウェブサイトをホストし、ユーザー認証を管理し、サーバーレスバックエンドを構築します。詳細を確認する

このウェブリファレンスアーキテクチャでは、AWS Lambda と AWS の他のサービスを併用してサーバーレスウェブアプリケーションを構築する方法を示します。このリポジトリには、アプリケーションのバックエンドを構成する Lambda 関数すべてのサンプルコードが含まれています。詳細を確認する

パス 2: データ処理アプリケーション

サーバーレスでは、大量のデータを迅速かつ効率的に取り込み、処理、分析できます。スケーラブルなサーバーレスデータ処理ソリューションを構築する方法を説明します。Amazon Simple Storage Service (Amazon S3) を使用してデータ処理をトリガーするか、機械学習 (ML) モデルを Amazon Elastic File System (EFS) から AWS Lambda に読み込んで ML 推論をリアルタイムで実行します。

最初に Lambda 関数を作成し、Amazon S3 のトリガーを設定します。S3 バケットにアップロードされたイメージファイルごとに、Amazon S3 はソース S3 バケットからイメージオブジェクトを読み取り、サムネイルイメージを作成してターゲット S3 バケットに保存する関数を呼び出します。詳細を確認する

また、S3 の .mp4 ファイルや .mov ファイルを複数の Gif アニメーションに変換してタイムラインをスクラブする大規模な並列ワークロードを調整する方法についても説明します。AWS Step Functions の分散マップを使用すると、数千もの並列 Lambda 関数を呼び出してジョブをすばやくスケールアップし、ジョブをより迅速に完了できます。詳細を確認する

次に、シンプルで強力なフルマネージドサービス AWS Step Functions と AWS Lambda、Amazon DynamoDB、および Amazon Simple Notification Service (SNS) を使用して、Amazon S3 にアップロードされたイメージに応答するイメージ処理ワークフローを構築する方法を説明します。詳細を確認する

このブログシリーズでは、Amazon S3 から AWS Lambda へのアーキテクチャパターンに基づいて設計されたサーバーレスアプリケーションを設計およびデプロイする方法について詳しく説明します。ここで紹介するソリューションでは、AWS のサービスを使用して、最小限のカスタムコードでスケーラブルなサーバーレスアーキテクチャを構築しています。詳細を確認する

Amazon Elastic File System (EFS) をマウントできるようになった AWS Lambda 関数を使用して、リアルタイム推論用の機械学習モデルをデプロイする方法を説明します。これにより、EFS から Python パッケージとモデルを読み込み、テストイベントに基づいて予測を実行する Lambda 関数を作成できます。詳細を確認する

このリアルタイムファイル処理リファレンスアーキテクチャは、AWS Lambda を使用する汎用のイベント駆動型並列データ処理アーキテクチャです。このアーキテクチャは、オブジェクトの複数のデータ派生物を必要とするワークロードに最適です。詳細を確認する

パス 3: リアルタイムストリーミングアプリケーション

データをストリーミングすることで、分析的なインサイトを収集し、それに基づいて行動を起こすことができますが、設計やアーキテクチャに固有の課題も生じます。AWS LambdaAmazon Kinesis を使用してメッセージをキャプチャし、レコードを処理して集計し、最後に結果を他のダウンストリームシステムに読み込むことで、ストリーミングデータワークロードの一般的な目標を達成する方法を説明します。これにより、分析またはさらなる処理が行えます。

Amazon Kinesis によって、動画ストリームやデータストリームのリアルタイムでの収集、処理、分析を簡単に行えるサービスです。まず、Kinesis ストリームからイベントを使用する Lambda 関数を作成します。詳細を確認する

次に、Amazon Kinesis を使用してデータストリームを作成し、AWS Lambda を使用してストリームをリアルタイムで処理する包括的なサーバーレスデータ処理アプリケーションを作成します。詳細を確認する

最後に、このブログシリーズを読んで、サーバーレスアプローチを使用してホームフィットネスシステム用のストリーミングデータバックエンドを構築する方法を学んでください。ストリーミングの主要な概念と、サーバーレスワークロードでそれを処理する方法を学びます。詳細を確認する

このリファレンスアーキテクチャは、リアルタイムのストリーミングデータを AWS Lambda と Amazon Kinesis を使用して処理することで、アプリケーションのアクティビティのトラッキング、注文のトランザクション処理、クリックストリーム分析、データクレンジング、メトリクスの生成、ログのフィルタリング、インデックス作成、ソーシャルメディア分析、および IoT データのテレメトリと測定などを行います。詳細を確認する

パス 4: ユースケースを考える AWS Lambda 101 から開始

AWS Lambda は初めてですか? このパスの手順に従い、イベントトリガーを使用して初めて機能的な Lambda 関数を作成します。

AWS マネジメントコンソールにログインし、ルートアカウントをセットアップします。AWS 無料利用枠では、1 か月あたり 100 万件の無料リクエストを行うことができます。

これで、Lambda コンソールを使用してシンプルなサーバーレス Hello World 関数を作成してデプロイし、出力メトリクスを確認する準備が整います。詳細を確認する

最後に、イベントが発生したときに Lambda 関数を呼び出す Amazon S3 のイベントトリガーを設定します。詳細を確認する