メインコンテンツに移動

AWS Lambda

AWS Lambda の機能

基本的な機能

すべて開く

AWS Lambda は、受信リクエストのレートに合わせて自動的にスケーリングし、アイドル期間中はゼロまでスケールダウンするため、手動での設定は不要です。各 Lambda 関数は、アカウントの同時実行数の制限に達するまで、10 秒ごとに最大 1,000 回の同時実行まで段階的にスケールできます

AWS Lambda は 220 を超える AWS サービスと 50 種類以上の SaaS アプリケーションとネイティブに統合されているため、カスタムコードを記述しなくても、アプリケーションの構成とイノベーションをより迅速かつ簡単に行うことができます。

AWS Lambda は可用性の高い AWS インフラストラクチャ上で稼働するため、AWS は複数のアベイラビリティーゾーンとリージョンにわたって耐障害性を管理できます。組み込みのエラー処理、自動再試行、および障害後の復旧機能を備えた AWS Lambda の永続関数により、アプリケーションの回復力をさらに強化し、進行状況を維持できます。

デベロッパーエクスペリエンス

すべて開く

AWS Lambda は、Java、Go、PowerShell、Node.js、C#、Python、Ruby コード、およびカスタムランタイム をネイティブにサポートしているため、新しいツールやフレームワークを学習することなく、お好みのランタイムや任意のプログラミング言語を使用できます。コードを ZIP ファイルまたはコンテナイメージとしてパッケージ化し、AWS コンソール、Infrastructure as Code (IaC)、CI/CD パイプラインなどの複数の方法でデプロイできます。

AWS Lambda は、セキュリティ、オブザーバビリティ、コンプライアンスサービスの包括的なセットと統合されているため、セキュリティ脅威のアラートや自動修復が可能になります。AWS Lambda には、ログ、メトリクス、トレースを自動的にキャプチャして、Amazon CloudWatchAWS X-Ray などの AWS モニタリングとオブザーバビリティサービスに送信する、モニタリング機能が内蔵 されています。AWS Lambda の Application Signals では、サーバーレスアプリケーションのスループット、可用性、レイテンシー、障害、エラーを追跡するためのすぐに使用できるアプリケーションパフォーマンス モニタリング (APM) ツールが提供されます。さらに、AWS Lambda は、Lambda 拡張機能 を通じて サードパーティの監視ツール とのシームレスな統合をサポートしており、サーバーレスアプリケーションの監視とトラブルシューティングにお好みのツールを簡単に使用できます。

AWS Lambda は、ローカル開発エクスペリエンスを強化する包括的なツールと機能を提供します。「Visual Studio Code で開く」機能を使用すると、コンソールからローカル環境にコードをシームレスに移動できます。一般的な IDE (VS Code など) 専用の ツールキット を使用して、IDE から Lambda 関数を直接作成、ビルド、デバッグ、テスト、デプロイできます。AWS Lambda は、クラウド機能の リモートデバッグ とローカルテストもサポートしており、ローカル環境から変化するビジネスニーズに合わせてアプリケーションを迅速に反復できます。

AWS Lambda では、AI 支援のツールと機能により、記述するコードを削減し、アプリケーションをすばやく構築できます。AWS Lambda 用のモデルコンテキストプロトコル (MCP) サーバー を使用すると、生成 AI モデルが Lambda 関数にアクセスしてツールとして実行できるため、コードを変更せずにプライベートリソースや AWS サービスと安全にやり取りできます。Amazon Q CLI は、AI 支援のデプロイおよび開発機能を提供することで、ローカル開発の体験を向上させます。さらに、Kiro のようなツールは AI 機能で Lambda 開発ワークフローをさらに強化します。

セキュリティとガバナンスコントロール

すべて開く

AWS Lambda は、AWS Nitro System 上の Firecracker が作成した Micro Virtual Machines (MicroVM) を使用して関数を実行し、関数間、顧客、AWS アカウント間で共有されることのない専用のコンピューティングリソースを提供します。テナントの分離モードを有効にすると、Lambda は関数を呼び出す個々のテナントまたはエンドユーザーのリクエスト処理を分離し、個々のテナントレベルで実行環境の分離を必要とするマルチテナントアプリケーションを簡単に構築できます。これらの実行環境は、Lambda が管理するネットワークから分離されたAmazon VPC 内で動作し、ネットワークへの進入は Lambda が所有するサービスとアカウントに厳しく制限されています。この包括的な組み込み型分離機能により、安全な境界線が作成され、潜在的なセキュリティ脆弱性や不正アクセスが最小限に抑えられます。詳細については、ドキュメント をご覧ください。

AWS Lambda は定期的にサードパーティ監査を受けており、SOCHIPAAPCIISO などの幅広いコンプライアンスプログラムの認定を受けています。Lambda 認定とコンプライアンス対応の最新情報については、すべての サービス対象範囲 を参照してください。

パフォーマンスの最適化

すべて開く

AWS Lambda は プロビジョニングされた同時実行数 を備えているため、Lambda 関数の初期化とハイパーレディの状態を維持できるため、コールドスタートのレイテンシーを最小限に抑えながら一貫した起動パフォーマンスを確保できます。

AWS Lambda SnapStart は、関数コードの変更を最小限またはまったく行わずに、Java の場合は最大 10 倍、Python と .NET の場合は数秒から 1 秒未満という低い起動パフォーマンスを実現します。

Lambda イベントソースマッピング (ESM) の プロビジョンドモード を使用すると、イベントソースコネクタのスループットを設定して、Amazon MSK やセルフマネージド Kafka などの Apache Kafka イベントソースのパフォーマンスを最適化できます。

コスト管理

すべて開く

AWS Lambda では、x86 ベースと ARM ベースのプロセッサアーキテクチャを柔軟に選択できるため、パフォーマンスとコストの両方を最適化できます。コードを変更せずにアーキテクチャを簡単に切り替えることができるため、特定のワークロード要件に最も費用対効果の高いオプションを選択できます。

AWS Lambda マネージドインスタンス は、さまざまな EC2 コンピューティングインスタンスで関数を実行するための Lambda の運用をさらにシンプルにして、専門的なワークロードを実現可能にし、コスト効率を向上させます。このマネージドインスタンスは、インスタンスのライフサイクルから、OS やランタイムのパッチ適用、組み込みルーティング、負荷分散、選択したスケーリングパラメータに基づく自動スケーリングまで、あらゆるインフラストラクチャタスクを完全に管理します。使い慣れた Lambda プログラミングモデルを維持することで、コストの効率性と予測性を向上させるという EC2 の料金面でのメリットを活かしながらコードに集中できます。