S3 GET リクエストに独自のコードを追加して、データがアプリケーションに返されるときにデータを変更および処理します

S3 Object Lambda を使用すると、S3 GET リクエストに独自のコードを追加して、データがアプリケーションに返されるときにそのデータを変更および処理できます。初めて、カスタムコードを使用して、標準 S3 GET リクエストによって返されるデータを変更し、行のフィルタリング、画像の動的なサイズ変更、機密データの編集などを行うことができるようになりました。AWS Lambda 関数により、コードは AWS によって完全に管理されているインフラストラクチャで実行されるため、データの派生コピーを作成して保存したり、高価なプロキシを実行したりする必要はなく、アプリケーションに変更を加える必要もありません。

S3 Object Lambda は、AWS Lambda 関数を使用して、標準 S3 GET リクエストの出力を自動的に処理します。AWS マネジメントコンソールで数回クリックするだけで、Lambda 関数を設定し、S3 Object Lambda アクセスポイントにアタッチすることができます。その時点から、S3 は自動的に Lambda 関数を呼び出し、S3 Object Lambda アクセスポイントを介して取得されたデータを処理し、変換した結果をアプリケーションに返します。S3 Object Lambda のデータ変換を特定のユースケースに合わせて調整し、独自のカスタム Lambda 関数を作成して実行することができます。

Amazon S3 Object Lambda の概要

利点

データ処理の柔軟性

S3 Object Lambda を使用すると、S3 GET リクエストから直接 Lambda 関数を呼び出して、アプリケーションの特定の要件を満たすようにデータを処理する柔軟性が得られます。S3 Object Lambda は、S3 と AWS Lambda のフルマネージドインフラストラクチャ、およびそのすべての機能を使用します。新規または既存の AWS Lambda 関数を使用して、データに対して、フィルタリング、マスキング、編集、圧縮、形式の変更、特定のアプリケーション用のオブジェクトの変更などの処理を行うことができます。

フルマネージド

AWS Lambda 関数により、コードは AWS によって完全に管理されているインフラストラクチャで実行されるため、データの派生コピーを作成して保存したり、高価なプロキシを実行したりする必要はなく、アプリケーションに変更を加える必要もありません。アプリケーションを更新して S3 Object Lambda アクセスポイントを使用することで、S3 GET リクエストで AWS Lambda 関数を実行してオブジェクトを処理できます。これにより、Lambda 関数が呼び出され、処理されたオブジェクトがリクエスト元のクライアントに配信されます。

シンプル

S3 Object Lambda を使用すると、複雑なソフトウェアやインフラストラクチャは不要となり、データの派生コピーを作成する必要がなくなるため、Lambda 関数を呼び出してさまざまなアプリケーション向けに S3 データを簡単に変換できます。アプリケーションに返す前に、S3 から取得したデータを処理する独自のコードを追加できます。S3 Object Lambda は既存のアプリケーションで動作するため、コードを変更する必要はありません。標準 S3 GET リクエストを使用して、さまざまなアプリケーションのデータについての複数のビューを簡単に提示できます。

S3 Object Lambda はどのように機能しますか?

S3 Object Lambda の仕組み

S3 Object Lambda を使用すると、プロキシレイヤーなどの追加のインフラストラクチャを構築して運用したり、データの複数の派生コピーを作成して維持したりすることなく、アプリケーションの固有のデータ形式の要件を簡単に満たすことができます。S3 Object Lambda は、AWS Lambda 関数を使用して、標準 S3 GET リクエストの出力を自動的に処理します。AWS Lambda は、基盤となるコンピューティングリソースの管理を必要とせずに、お客様が定義するコードを実行するサーバーレスコンピューティングサービスです。

AWS マネジメントコンソールで数回クリックするだけで、Lambda 関数を設定し、S3 Object Lambda アクセスポイントにアタッチすることができます。S3 Object Lambda アクセスポイントを介して行われる標準 S3 GET リクエストは、指定された Lambda 関数を呼び出すようになりました。その時点から、S3 は自動的に Lambda 関数を呼び出し、S3 Object Lambda アクセスポイントを介して取得されたデータを処理し、変換した結果をアプリケーションに返します。S3 Object Lambda のデータ変換を特定のユースケースに合わせて調整し、独自のカスタム Lambda 関数を作成して実行することができます。詳細については、S3 Object Lambda ユーザーガイドをお読みください。

S3 Object Lambda のユースケース: 機密データの編集

S3 Object Lambda の仕組み

S3 Object Lambda を使用すると、既存のオブジェクトを変更したり、データの複数の派生コピーを作成および維持したりすることなく、特定のアプリケーション用に S3 のオブジェクトから機密情報を編集できます。 Lambda 関数は、標準の S3 GET リクエストからオブジェクトを取得し、データを処理して機密情報を削除し、編集されたオブジェクトをアプリケーションに返します。他のユースケースの詳細については、S3 Object Lambda のユーザーガイドをお読みください

お客様

Druva は、エンドポイント、データセンター、およびクラウドワークロード全体でデータの保護と管理を提供し、複雑なインフラストラクチャへの依存と時間のかかる管理の必要性をなくします。

「当社の 4,000 のお客様は、拡大するグローバルなデータ保護、コンプライアンス、およびセキュリティの要件を満たす必要があります。Amazon S3 Object Lambda は、コンピューティングリソースを一元化されたデータリポジトリに近づけることで、お客様がデータからより多くの価値を引き出すことを可能にする、市場に変化をもたらすイノベーションです。Druva は、完全に AWS で構築されたプラットフォームとして、AWS の最新の機能とテクノロジーでユーザーエクスペリエンスを継続的に強化していることに誇りを持っています。AWS を利用した Druva Cloud Platform と Amazon S3 Object Lambda の組み合わせにより、組織は比類のない統合の機会を得るだけでなく、ダイレクトアクセスおよび分析をもたらし、バックアップデータの可能性を最大限に引き出すことができます」

Stephen Manley 氏、最高技術責任者、Druva

Nasuni は、Amazon S3 を利用したクラウドベースのアプローチでファイルストレージにディスラプションをもたらし、従来のオンプレミスのプライマリストレージとセカンダリストレージを変容させています。Nasuni は、オブジェクトストレージを使用してファイルストレージプラットフォームを提供し、構造化されていないデータの急速な増加に対応できるようにスケールできる、よりシンプルで低コスト、かつ、より効率的なクラウドソリューションを提供します。

「S3 Object Lambda は Nasuni にとってゲームチェンジャーです。これは、当社が利用する AWS のクラウドファイルストレージサービスのコアテクノロジーとなるでしょう。当社では、S3 Object Lambda を使用して、独自のオブジェクトストレージベースのファイルシステムに対するシンプルでスケーラブルな API を作成します。当社の企業のお客様は、これを使用して、Nasuni Edge Appliance を経由せずに、S3 バケットから直接ファイルにアクセスできます。つまり、Nasuni の非構造化データを Macie や Kendra などの AWS 分析サービスに簡単に接続できるため、企業はファイルデータから洞察を得ることができるのです」

Russ Kennedy 氏、チーフプロダクトオフィサー - Nasuni

PetaGene は、ゲノミクス業界で急速に拡大しているデータ管理の問題に対処するために、ゲノミクスの発祥の地であるケンブリッジに設立されました。PetaGene は、ゲノム圧縮および暗号化ソリューションの業界をリードするパフォーマンスと使いやすさで知られるようになりました。同社のソフトウェアは、あらゆる種類のデータについての暗号化、選択的データ共有、および監査ソリューションを提供するようになりました。また、これらのソリューションは、同社のシームレスな透過的アクセス方法も活用しています。

「PetaGene を使用すると、組織はデータを保護して、ユーザーごとに表示できる内容を管理および監査できるようになり、それぞれのユーザーが表示できる各ファイル内のコンテンツのみが公開されます。 さらに、PetaGene は、いかなる種類のデータ消失も発生させることなく、圧縮済みの NGS ゲノムデータを最大 11 分の 1 に効率的に圧縮します。 
 
ユーザーは、ユーザーモードのリードバックライブラリを環境にロードすることで、保護されたデータや圧縮されたデータに元のネイティブ形式で透過的にアクセスできますが、S3 Object Lambda を使用すると、ユーザーによるライブラリのインストールを必要とせずに、標準 S3 GET リクエストを介して元のネイティブ形式のデータにアクセスできます。これにより、お客様はエンドユーザー向けに PetaGene のデータ保護、コンプライアンス、および圧縮製品をさらに簡単にデプロイできます」

Dan Greenfield 氏 (PhD)、共同設立者および CEO - PetaGene

開始方法

S3 Object Lambda は、S3 マネジメントコンソールで 3 つの簡単な手順を実行することで設定できます。まず、コンソールの [Object Lambda アクセスポイント] タブに移動します。次に、S3 Object Lambda アクセスポイントを作成し、その設定で、このリソース、Lambda 関数は、S3 GET リクエストに対して呼び出す Lambda 関数、およびサポートする S3 アクセスポイントの名前を指定します。AWS ドキュメントには、サービスの試用に役立つ Lambda 関数の実装例が記載されています。最後に、SDK とアプリケーションを更新して、新しい S3 Object Lambda アクセスポイントを使用し、任意の言語 SDK によって S3 からデータを取得します。S3 Object Lambda が標準 S3 GET リクエストの処理を開始します。ユーザーガイドで詳細をご確認いただき、サンプルの S3 Object Lambda 関数をぜひお試しください。

Amazon S3 のよくある質問
S3 Object Lambda のユーザーガイドを読む

S3 Object Lambda の詳細については、ユーザーガイドをお読みください。

詳細 
AWS アカウントにサインアップする
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
Amazon S3 を利用して構築を開始する
コンソールで構築を開始する

AWS マネジメントコンソールで Amazon S3 を使った構築を始めましょう。

サインイン