米Amazon Web Services(AWS)は、クラウドでアプリケーションをビルドして実行できるプラットフォーム「AWS Lambda」のプレビュー提供を、11月13日(現地時間)にUS East(Northern Virginia)、US West(Oregon)、Europe(Ireland)リージョン限定で開始した。
「AWS Lambda」は、既存のプログラミングスキルやAWSに関する知識を活用可能で、EC2インスタンスの設定や、起動、監視などの管理が一切不要なコンピューティングプラットフォーム。OSやプログラミング言語などをインストールする必要もなく、スケールや耐障害性への考慮も不要で、キャパシティのリクエストや確保も必要ない。
利用に当たっては、シンプルにLambda functionを作成し、特定のAWSリソースへのアクセス許可を与え、Lambda functionをAWSリソースへ接続する。「Amazon Simple Storage Service(S3)」のバケットにアップロードされたファイルの変更や、「Amazon Kinesis」のストリームに届いたメッセージ、「Amazon DynamoDB」でのテーブル更新によって、ユーザーが用意したコードを自動的に実行できる。
Lambda functionはNode.jsで記述し、コンテキスト情報内で言語、必要なメモリ量、タイムアウト期間、IAMロールといった実行環境を指定するとともに、コード内で実行したい関数を指定する。コードとメタデータはAWS上で永続的に保存され、後から名前やARN(Amazon Resource Name)で参照可能で、必要なサードパーティライブラリもアップロードに含める。
アップロード後は、自分のLambda functionと、特定のS3バケット、DynamoDBテーブルまたはKinesisストリームといったAWSリソースを紐付けし、Lambda functionに対するイベントのルーティングを行う。
リソースに変更があると、そのリソースに紐付けられたLambda functionを実行し、受信リクエスト処理のため、必要に応じてEC2インスタンスを起動するので、ユーザーによるリソース管理は不要で、必要なくなればそれらをシャットダウンできる。
「AWS Lambda」は、AWS Management Console、AWS SDK、AWS Command Line Interface(CLI)からアクセス可能で、Lambda APIはすべてドキュメント化されているため、既存のコードエディタやその他の開発ツールをLambdaに接続するのに使える。
料金体系は、100ミリ秒単位のコンピュート時間と、個々のリクエストに対して支払いを行う。無料枠は、1月あたり100万リクエストと、1月あたり最大320万秒のコンピュート処理時間が含まれる。コンピュート処理時間はLambda functionごとに割り当てられたメモリの合計量による。
【関連リンク】
・Amazon Web Services
・「AWS Lambda」(英語)
この記事は参考になりましたか?
- この記事の著者
-
CodeZine編集部(コードジンヘンシュウブ)
CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です