S3 GET、HEAD および LIST リクエストに独自のコードを追加して、データがアプリケーションに返されるときにデータを変更および処理します
S3 Object Lambda を使用すると、S3 GET、HEAD および LIST リクエストに独自のコードを追加して、データがアプリケーションに返されるときにそのデータを変更および処理できます。カスタムコードを使用して、S3 GET リクエストによって返されるデータを変更し、行のフィルタリング、画像の動的なサイズ変更、機密データの編集などを行うことができるようになりました。また、S3 Object Lambda を使用して、バケット内のオブジェクトのカスタムビューを作成する S3 LIST リクエストの出力や、オブジェクト名やサイズなどのオブジェクトメタデータを変更する S3 HEAD リクエストの出力を変更することができます。AWS Lambda 関数により、コードは AWS によって完全に管理されているインフラストラクチャで実行されるため、データの派生コピーを作成して保存したり、高価なプロキシを実行したりする必要はなく、アプリケーションに変更を加える必要もありません。
S3 Object Lambda は、AWS Lambda 関数を使用して、標準 S3 GET、HEAD および LIST リクエストの出力を自動的に処理します。AWS マネジメントコンソールで数回クリックするだけで、Lambda 関数を設定し、S3 Object Lambda アクセスポイントにアタッチすることができます。その時点から、S3 は自動的に Lambda 関数を呼び出し、S3 Object Lambda アクセスポイントを介して取得されたデータを処理し、変換した結果をアプリケーションに返します。S3 Object Lambda のデータ変換を特定のユースケースに合わせて調整し、独自のカスタム Lambda 関数を作成して実行することができます。
メリット
データ処理の柔軟性
S3 Object Lambda を使用すると、S3 GET、HEAD および LIST リクエストから直接 Lambda 関数を呼び出して、アプリケーションの特定の要件を満たすようにデータを処理する柔軟性が得られます。S3 Object Lambda は、S3 と AWS Lambda のフルマネージドインフラストラクチャ、およびそのすべての機能を使用します。新規または既存の AWS Lambda 関数を使用して、データに対して、フィルタリング、マスキング、編集、圧縮、形式の変更、特定のアプリケーション用のオブジェクトの変更などの処理を行うことができます。
フルマネージド
AWS Lambda 関数により、コードは AWS によって完全に管理されているインフラストラクチャで実行されるため、データの派生コピーを作成して保存したり、高価なプロキシを実行したりする必要はなく、アプリケーションに変更を加える必要もありません。アプリケーションを更新して S3 Object Lambda アクセスポイントを使用することで、S3 GET、HEAD および LIST リクエストで AWS Lambda 関数を実行してオブジェクトを処理できます。これにより、Lambda 関数が呼び出され、処理されたオブジェクトがリクエスト元のクライアントに配信されます。
シンプル
S3 Object Lambda を使用すると、複雑なソフトウェアやインフラストラクチャは不要となり、データの派生コピーを作成する必要がなくなるため、さまざまなアプリケーション向けに S3 データを簡単に変換できます。アプリケーションに返す前に、S3 から取得したデータを処理する独自のコードを追加できます。S3 Object Lambda は既存のアプリケーションで動作するため、コードを変更する必要はありません。標準 S3 GET、HEAD および LIST リクエストを使用して、さまざまなアプリケーションのデータについての複数のビューを簡単に提示できます。
S3 Object Lambda はどのように機能しますか?
S3 Object Lambda を使用すると、プロキシレイヤーなどの追加のインフラストラクチャを構築して運用したり、データの複数の派生コピーを作成して維持したりすることなく、アプリケーションの固有のデータ形式の要件を簡単に満たすことができます。S3 Object Lambda は、AWS Lambda 関数を使用して、標準 S3 GET、HEAD および LIST リクエストの出力を自動的に処理します。AWS Lambda は、基盤となるコンピューティングリソースの管理を必要とせずに、顧客定義のコードを実行するサーバーレスコンピューティングサービスです。
AWS マネジメントコンソールで数回クリックするだけで、Lambda 関数を設定し、S3 Object Lambda アクセスポイントにアタッチすることができます。S3 Object Lambda アクセスポイントを介して行われる標準 S3 GET、HEAD および LIST リクエストは、指定された Lambda 関数を呼び出すようになりました。その時点から、S3 は自動的に Lambda 関数を呼び出し、S3 Object Lambda アクセスポイントを介して取得されたデータを処理し、変換した結果をアプリケーションに返します。S3 Object Lambda のデータ変換を特定のユースケースに合わせて調整し、独自のカスタム Lambda 関数を作成して実行することができます。詳細については、S3 Object Lambda ユーザーガイドをお読みください。
S3 Object Lambda のユースケース: 機密データの編集
S3 Object Lambda を使用すると、既存のオブジェクトを変更したり、データの複数の派生コピーを作成および維持したりすることなく、特定のアプリケーション用に S3 のオブジェクトから機密情報を編集できます。 Lambda 関数は、標準の S3 GET リクエストからオブジェクトを取得し、データを処理して機密情報を削除し、編集されたオブジェクトをアプリケーションに返します。他のユースケースの詳細については、S3 Object Lambda のユーザーガイドをお読みください。
お客様
Pixieset は、フォトクライアントギャラリー、ウェブサイト、オンラインストア、スタジオ管理ソフトウェアツールを提供する、モダンフォトグラファー向けのオールインワンプラットフォームです。
「Pixieset の使命は、世界中の写真家やクリエイターがビジネスを運営し成長させるのをサポートすることです。お客様は写真をアップロードし、スマートフォン、タブレット、デスクトップなどのさまざまな視聴デバイスでクライアントと共有します。写真の配布を最適化するために、現在、AWS Lambda を使用して画像が Amazon S3 にアップロードされた直後に、さまざまな解像度のコピーが生成されます。Amazon S3 Object Lambda が Amazon CloudFront と統合されることをとても嬉しく思っています。Amazon CloudFront から画像にアクセスするときに、その場で変換やウォーターマークを適用できるからです。グローバルキャッシュの利点を活用できると同時に、同じイメージの複数のコピーを保存する必要がなくなりました。」
Pixieset、エンジニアリング部長、Sam Lin 氏
Audible は、プレミアムオーディオストーリーテリングの大手作成者およびプロバイダーであり、お客様に日々の生活をより豊かにする新しい方法を提供しています。Audible コンテンツには、79 万冊以上のオーディオブック、ポッドキャスト、Audible オリジナルが含まれています。Audible には世界中に数百万人のメンバーがおり、オーストラリア、カナダ、フランス、ドイツ、インド、イタリア、日本、スペイン、英国、米国のお客様向けに設計された 10 のローカライズ版サービスのいずれかを購読しています。
「ユーザーは、インターネット接続が強いものから限られたものまで、さまざまなデバイスや地域から Audible のコンテンツにアクセスしてストリーミングします。Amazon S3 Object Lambda を使用してマニフェストとセグメントサイズを動的に変更し、自宅でも外出先でも、最もパフォーマンスが高く高品質のストリーミングとオーディオエンターテイメントエクスペリエンスをユーザーに提供します。S3 Object Lambda を使用することで、再生パフォーマンスを向上させることができ、ひいては技術革新と優れたプログラミングを通じてカスタマーエクスペリエンスをさらに向上させることができます。」
Audible、ソフトウェア開発ディレクターSaurabh Gandhi 氏
サイバーセキュリティの世界的リーダーである Trend Micro は、デジタル情報を安全にやりとりできる世界の実現に貢献しています。数十年にわたるセキュリティの専門知識、グローバルな脅威調査、継続的なイノベーションに支えられた Trend Micro のサイバーセキュリティプラットフォームは、クラウド、ネットワーク、デバイス、エンドポイントにわたって数十万の組織と数百万の個人を保護しています。Trend Micro のサイバーセキュリティプラットフォームは、AWS 向けに最適化された強力で高度な脅威防御技術の数々を提供します。
「簡単に始めることができて喜んでいます。当社のファイルストレージセキュリティソリューションに S3 Object Lambda を使用することで、1 日足らずで概念実証を完了できました。その 1 日後に既存のプラグインセットへの統合を含む最初のフルバージョンを完成させることができました。」
Trend Micro - 製品管理ディレクター、Mike Milner 氏
Druva は、エンドポイント、データセンター、およびクラウドワークロード全体でデータの保護と管理を提供し、複雑なインフラストラクチャへの依存と時間のかかる管理の必要性をなくします。
「当社の 4,000 のお客様は、拡大するグローバルなデータ保護、コンプライアンス、およびセキュリティの要件を満たす必要があります。Amazon S3 Object Lambda は、コンピューティングリソースを一元化されたデータリポジトリに近づけることで、お客様がデータからより多くの価値を引き出すことを可能にする、市場に変化をもたらすイノベーションです。Druva は、完全に AWS で構築されたプラットフォームとして、AWS の最新の機能とテクノロジーでユーザーエクスペリエンスを継続的に強化していることに誇りを持っています。AWS を利用した Druva Cloud Platform と Amazon S3 Object Lambda の組み合わせにより、組織は比類のない統合の機会を得るだけでなく、ダイレクトアクセスおよび分析をもたらし、バックアップデータの可能性を最大限に引き出すことができます。」
Druva - 最高技術責任者、Stephen Manley 氏
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 Object Lambda のブログ
使用開始
S3 Object Lambda は、S3 マネジメントコンソールで 3 つの簡単な手順を実行することで設定できます。まず、コンソールの [Object Lambda Access Point] (Object Lambda アクセスポイント) タブに移動します。次に、S3 Object Lambda アクセスポイントを作成し、その設定で、このリソース、Lambda 関数は、S3 GET、HEAD および LIST リクエストに対して呼び出す Lambda 関数、およびサポートする S3 アクセスポイントの名前を指定します。AWS ドキュメントには、サービスの利用開始に役立つ Lambda 関数の実装例があります。最後に、SDK とアプリケーションを更新して、新しい S3 Object Lambda アクセスポイントを使用し、任意の言語 SDK によって S3 からデータを取得します。S3 Object Lambda が標準 S3 GET、HEAD および LIST リクエストの処理を開始します。S3 Object Lambda 入門チュートリアルにアクセスし、ユーザーガイドを読んで開始方法の詳細を確認してください。