Amazon Web Services ブログ

Category: AWS Lambda

Amazon Kinesis Video Streams および Amazon AI サービスを使用した注意とエンゲージメントを測定するためのボディーランゲージの自動分析の構築

この記事は、Ned T. Sahin 博士 (Brain Power LLC およびハーバード大学)、Runpeng Liu (Brain Power LLC および MIT)、Joseph Salisbury 博士 (Brain Power LLC) と Lillian Bu (Brain Power LLC および MIT) によるゲストブログです。 広告からゲーム、そして教材に及ぶコンテンツの作成者は通常、事後アンケートやテスト、またはクリックスルーやバウンスなどのユーザーアクションによってコンテンツが成功したかどうかを判断します。これらの手法では、コンテンツの作成者が測定したいもの、つまりコンテンツの知覚価値が、客観的、遅発的、略式、事後、および/または相対的な代用物になりがちです。このようなメトリクスは、視聴者がその場で示すボディーランゲージに含まれる可能性がある視聴者の経時的な注意、エンゲージメント、そして快楽に関する継続的で意味のあるデータを見逃します。しかし、ボディーランゲージを数値化する、またはしばしば圧倒的な量になるビデオのデータセット内のパターンや重要なジェスチャーを単一のメトリックに要約するための系統的な手法はありません。 私たちは、落ち着きのない動き (fidgeting) や、その他の身体の動作を行動バイオマーカーとして数値的に要約するために、「Fidgetology」と親しみをこめて呼ばれる手法を発明しました。私たちは当初、自閉症および/または ADHD を持つ子供の拡張現実感システムを使用した後での症状の改善における新しい臨床的評価指標として、これらの子供たちの臨床試験ビデオを分析するために Brain Power (www.Brain-Power.com) で Fidgetology を発明しました。このブログ記事では、より一般化されたアーキテクチャと、目的に応じてすぐに試してみることができるサンプルコードをご提供します。これは、例えばあなたのコンテンツを閲覧している人のビデオなどで身体の動作を自動的に分析するために、アマゾンから新しくリリースされた人工知能製品を使用します。この手法は、映画、広告、テレビ番組、ビデオゲーム、政治運動、スピーチ、オンラインコース、または教室での授業など、様々なコンテンツタイプに応用できます。 この手法を使用することで、視聴者のビデオをストリームまたはアップロードして、視聴者の動作のレベルとパターンのわかりやすい数学的プロットとシングルイメージのサマリーを即座に取得することができます。これらの動作は、注意、焦点、エンゲージメント、不安、または快楽などの要因を推定するために役立ちます。また、これらの要因を確認して分離したり、ユニークなユースケースおよび/または個々のユーザーのためにカスタマイズしたりするために、高度な AWS Lambda 関数や機械学習モデルを追加することもお勧めします。 仕組み システムアーキテクチャダイアグラム Kinesis Video Streams インジェスチョン ビデオストリームを作成するクライアントウェブアプリケーションは、ユーザーが 1) 事前に録画されたビデオをアップロードする、および/または 2) ウェブカムフィードを […]

Read More

複数の Amazon Redshift クラスターにわたってシステムテーブルのデータを保持する方法、およびクラスター間診断クエリを実行する方法

Amazon Redshift は、システムの履歴を STL ログテーブルに記録するデータウェアハウスサービスです。STL ログテーブルは、ログ使用状況とディスクの空き容量に応じて、2 〜 5 日間だけログ履歴を保持し、ディスクスペースを管理します。 Amazon Redshift は、監査データ用に一部の STL テーブルを Amazon S3 に自動ロギングする機能を備えています。含まれるログは、主にデータベースセキュリティとクエリの実行に関係するものです。これらの監査ログの使用については、前回の記事 「Analyze Database Audit Logs for Security and Compliance Using Amazon Redshift Spectrum」 で説明しました。 監査ログに含まれていない STL テーブルのデータからシステムデータを保持する場合は、通常、すべてのシステムテーブルに対してレプリカテーブルを作成する必要があります。次に、各レプリカテーブルに対し、システムテーブルからのデータを定期的にレプリカにロードします。STL テーブルのレプリカテーブルを管理することで、STL テーブルの履歴データに対して診断クエリを実行できます。その後、クエリの実行時間、クエリプラン、およびディスクスピルのパターンから詳細な情報を導き出し、より良いクラスターサイズを決定します。ただし、定期的な間隔で STL テーブルのライブデータでレプリカテーブルを更新するには、Cron や AWS Data Pipeline などのスケジューラが必要です。また、これらのテーブルは 1 つのクラスターに固有であり、クラスターが終了した後はアクセスできません。これは、アドホッククエリ実行が決められた期間だけ続く一時的な Amazon Redshift クラスターに、特に当てはまります。 このブログ記事では、複数の Amazon Redshift クラスターのシステムテーブルを Amazon S3 バケットにエクスポートするソリューションを紹介します。このソリューションはサーバーレスで、5 分ごとの間隔でスケジュールを設定できます。ここで使用する AWS CloudFormation […]

Read More

Amazon CloudFront & Lambda@Edge で画像をリサイズする

多くの画像に対してリサイズを行ったり、新しいデザインレイアウトにウォーターマークを付与したり、ブラウザのサポートのためにフォーマットの最適化を行ったことはありませんか? 画像毎に事前処理を行う必要なく、必要に応じてその場ですぐに画像を自動生成できないかとおもったことはありませんか? Lambda@Edge はそれらを可能にし、ユーザーの利便性を向上させ、帯域使用量を削減します。

Read More

プロセッサの投機的実行 – オペレーティングシステムの更新

モダンコンピュータプロセッサ上で投機的実行によるサイドチャネル分析の調査が新しく公開されたのを受け、AWS は AWS Security Bulletin(セキュリティ情報)AWS-2018-013 を先日公開しました。このセキュリティ情報では、CVE-2017-5715、CVE-2017-5753、および CVE-2017-5754 の3つのセキュリティ勧告に触れています。これらの勧告は Google Project Zero の調査に基づいたもので、Google Project Zero の発表はモダンコンピュータプロセッサ上でのサイドチャネル分析の新しい方法を発見したというものでした。これらの方法は、基礎的な技術、具体的には投機的実行に着目したもので、投機的実行は多くのベンダーのプロセッサに用いられています。そのため研究結果の対象となる範囲は幅広く、その範囲はハイパーバイザーからオペレーティングシステム、さらには Web ブラウザ、携帯電話からクラウドを構成するデータセンター内のサーバにまで及びます。   EC2 インスタンスの分離   Amazon EC2 のすべてのインスタンスは、上述の CVE に記載されたインスタンス間の既知の問題すべてから保護されています。インスタンス間での問題は、インスタンスまたは AWS ハイパーバイザーのメモリを近隣の別のインスタンスから読み取ることができると想定しています。この問題は AWS ハイパーバイザーでは解決されており、インスタンスは別のインスタンスのメモリを読み取ることも、AWS ハイパーバイザーのメモリを読み取ることもできません。 大多数の EC2 ワークロードに有意なパフォーマンスの影響は見られていません。   オペレーティングシステムへのパッチ   現代のオペレーティングシステムには、「ユーザー空間」プロセスからのカーネル分離、それぞれのプロセスの分離などの、いくつかのタイプのプロセス分離があります。影響を受けうるプロセッサ上でオペレーティングシステムが実行されている環境では、いかなる設定においても、公開された 3 つの問題すべてがプロセス分離に影響を与える可能性があります。ハイパーバイザで実装されている保護は、オペレーティングシステム内のプロセスレベルの分離にまで拡張されないため、リスクを軽減するためにオペレーティングシステムパッチが必要です。 準仮想化(PV)インスタンスでは、CVE-2017-5754 のプロセス間の問題に対処するためのオペレーティングシステムレベルの保護は無いことに注意してください。PV インスタンスは、前述のようにインスタンス間の問題について AWS ハイパーバイザーによって保護されます。しかしながら、PV インスタンスにおけるプロセスの分離(信頼できないデータ処理やコードの実行、ユーザのホスト)にご懸念をお持ちでしたら、長期的に見てセキュリティの恩恵を受けるため、HVM インスタンスタイプへの変更を強くお勧めします。PVとHVMの相違点(およびインスタンスアップグレードパスのドキュメント)の詳細については、以下の URL を参照してください。 https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/virtualization_types.html インスタンスのオペレーティングシステムにパッチを適用することで、同じインスタンス内で動作するソフトウェアを分離し、CVE-2017-5754 のプロセス間の問題を緩和することを強く推奨します。以下のオペレーティングシステムのパッチの詳細を記載します。 Amazon Linux & […]

Read More

CES におけるコネクテッドカーのための AWS IoT、Greengrass、および AWS Machine Learning

わたしは先週、シアトルを拠点とする INRIX 社社長、ブライアン・ミストル氏の講演を聞きに行きました。ブライアンの講演は、しばしば ACES と略される 4 つの主な属性を中心として、交通機関の将来を垣間見せてくれました。ACES は以下の言葉の頭文字です。 Autonomous (自動) – 車とトラックは、スキャンを行って周囲の状況を理解し、人為的操作なく移動するための機能を備えつつあります。 Connected (接続) – あらゆるタイプの車両に、他の車、およびクラウドベースのリソースへの双方向接続 (常時または断続的) を活用する機能があります。車両は道路とパフォーマンスのデータをアップロードし、群れとなって走る (run in packs) ために互いに通信して、交通と気象データを活用することができます。 Electric (電気) – バッテリーとモーターテクノロジーの継続的な開発は、電気自動車をますます便利でコスト効率がよく、環境にやさしいものにしていきます。 Shared (共有) – ライドシェアサービスは、車の使用を所有型からアズ・ア・サービス型に変えて行きます (聞き覚えがあるのではないでしょうか)。 これらの新たな属性は、個々に、および組み合わせとして、今後10年の間にわたしたちが目にし、使用する車とトラックがこれまでとは著しく異なるであろうことを意味します。 AWS と歩む道 AWS のお客様は、この未来を実現させるために AWS IoT、エッジコンピューティング、Amazon Machine Learning、および Alexa 製品をすでにお使いです。自動車メーカー、それらの一次サプライヤー、そして AutoTech 新興企業はすべて、ACES イニシアチブのために AWS を使っています。AWS Greengrass は、ここで重要な役割を担っており、デザインウィンを引き付け、エッジに処理能力と機械学習インターフェイスを追加するためにお客様を支援しています。 AWS のお客様である Aptiv (旧Delphi) 社は、AWS re:Invent […]

Read More

プロセッサの投機的実行に関する調査の公開について

【日本語訳】日本時間 2018年02月14日19:30 関連する CVE: CVE-2017-5715, CVE-2017-5753, CVE-2017-5754 日本時間 2018年02月06日09:30 以下は本件に関するアップデートです。 Amazon Linux 用の更新されたカーネルは、Amazon Linux のリポジトリにて入手できます。2018年1月13日以降にデフォルトの Amazon Linux 設定で起動された EC2 インスタンスには自動的に最新のパッケージが含まれています。 最新のパッケージでは、 CVE-2017-5715 に対処するための安定版オープンソース Linux セキュリティの改善がカーネル内に組み込まれています。また 以前取り込まれた CVE-2017-5754 に対処するカーネルページテーブルアイソレーション(KPTI)にもとづいて作成されています。インスタンス内の CVE-2017-5715 のプロセスープロセス間の問題と CVE-2017-5754 のプロセスーカーネル間の問題を効果的に軽減するには、最新の Amazon Linux カーネルまたは AMI にアップグレードする必要があります。詳細は「プロセッサの投機的実行 – オペレーティングシステムの更新」を参照してください。 para-virtualized(PV)インスタンスについては、以下の「PV インスタンスガイダンス」の情報を参照してください。   Amazon EC2   Amazon EC2 のすべてのインスタンスは、CVE-2017-5715、CVE-2017-5753、および CVE-2017-5754 に記載されたインスタンス間の既知の問題すべてから保護されています。インスタンス間での問題は、インスタンスまたは AWS ハイパーバイザーのメモリを近隣の別のインスタンスから読み取ることができると想定しています。この問題は AWS ハイパーバイザーでは解決されており、インスタンスは別のインスタンスのメモリを読み取ることも、AWS ハイパーバイザーのメモリを読み取ることもできません。 […]

Read More

AWS Lambda および Tensorflow を使用してディープラーニングモデルをデプロイする方法

ディープラーニングは、実際のデータを処理する方法に革命をもたらしました。ディープラーニングアプリケーションの種類は、ユーザーの写真アーカイブの整理から、本のレコメンド機能、不正な動作の検出、自動運転車周辺の認識まで、多岐にわたります。 この投稿では、AWS Lambda で独自にトレーニングしたモデルを使用して、単純なサーバーレスのコンピューティング手法を大規模に活用する方法を段階的にご説明します。このプロセスの中で、サーバーレスを使って推論を実行するために使用できる AWS の主要なサービスをいくつかご紹介します。 ここでは、イメージ分類について取り上げます。パフォーマンスが高いオープンソースモデルを多数利用できます。イメージ分類では、ディープラーニングで最も一般的に使用されている畳み込みニューラルネットワークと全結合ニューラルネットワーク (Vanilla Neural Networks としても知られる) の 2 種類のネットワークを使用することができます。 トレーニングされたモデルを配置する AWS の場所や、AWS Lambda が推論のためのコマンドで実行できる方法でコードをパッケージ化する方法についてご紹介します。 このブログ投稿では、AWS のサービス (AWS Lambda、Amazon Simple Storage Service (S3)、AWS CloudFormation、Amazon CloudWatch、AWS Identity and Access Management (IAM)) についてご説明します。使用する言語フレームワークおよびディープラーニングフレームワークには、Python や TensorFlow などがあります。ここで説明するプロセスは、MXNet、Caffe、PyTorch、CNTK などの他のディープラーニングフレームワークを使用して適用できます。 全体的なアーキテクチャ AWS アーキテクチャ プロセスの視点から、ディープラーニングの開発およびデプロイは、従来のソフトウェアソリューションの開発やデプロイと同じように行う必要があります。 以下の図は、開発ライフサイクルの一例です。 図を見て分かるように、通常のソフトウェア開発プロセスは、アイデア開始や開発環境のモデリングから、本番稼働用のモデルの最終デプロイまで複数の段階があります。ほとんどの場合、この開発段階では、環境を絶えず、繰り返し変更する必要があります。通常、この反復は、ソフトウェア/モデルの開発時に使用されるリソースの性質や量に影響を及ぼします。アジャイル開発では、環境をすばやく構築/再構築/解放できることが不可欠です。構築されているソフトウェアにすばやく変更を加えるには、インフラストラクチャの調整が必要です。アジャイル開発やイノベーションの加速の前提条件のひとつに、コードによってインフラストラクチャを管理できること (IaC: infrastructure as code) があります。 ソフトウェア設計の管理、構築およびデプロイの自動化は、継続的な統合および継続的な配信 (CI/CD) の一環です。この投稿では、綿密に計画された CI/CD パイプラインの詳細には触れていませんが、開発/デプロイの俊敏性およびプロセスの自動化を促進する反復可能プロセスを構築する開発チームは、念頭に置いておくべきです。 […]

Read More

AWS Lambdaファンクション毎の同時実行数の上限設定

2017年11月30日、個別のAWS Lambdaファンクションに対して同時実行数の上限を設定することができるようになりました。実行数上限数の設定は、アカウントレベルの同時実行上限の一部を特定のファンクションに対して予約する事になります。この機能によって、特定のファンクションを事前に設定した最大同時実行数に到達した場合にスロットルさせることが出来ます。この機能は、Lambdaによって呼び出されるダウンストリームリソース(例えばデータベースのような)に対するトラフィックレートを制限したい場合や、プライベートVPCにアクセスするファンクションでのElastic Network Interface(ENI)とIPアドレスの消費を制御したい場合に役に立ちます。 あるファンクションの同時実行上限を数値で指定できます。こちらは、そのアカウント全体の同時実行上限($ACCOUNTで定義)から割り当てられます。1アカウントに対して、リージョンあたりの全てのファンクションのデフォルトの同時実行数は1000となっています。デフォルトでは、全てのファンクションの同時実行数が、このアカウントレベルの上限(つまり$ACCOUNT)に対してカウントされます。特定のファンクションに対して上限を設定すれば、同時実行上限の割当は、共有プールから取りされ、その特定のファンクションに割り当てられます。そのファンクションのその後全ての呼び出しは、ファンクションレベルの上限に対してのみカウントされます。個々のファンクションの同時実行数と、アカウントレベルの同時実行数は、この機能と同時に利用可能となった新しいAmazon CloudWatchメトリクスで追跡することが出来ます。 この機能についてより詳しく知りたい方はドキュメントをご参照ください。また、プロダクトページを訪れてさらなる情報を取得ください。 この機能は、 US East (N. Virginia), US East (Ohio), US West (N. California), US West (Oregon), AWS GovCloud (US), Canada (Central), South America (São Paulo), EU (Frankfurt), EU (Ireland), EU (London), Asia Pacific (Mumbai), Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), China (Beijing)のリージョンでご利用可能です。   翻訳はSA布目が担当しました。原文はこちら

Read More

AWS Serverless Application Repository が登場します

私が想像していた以上に早くサーバレスアプリケーションはメインストリームになりました。毎日毎秒、数え切れないほどの AWS Lambda ファンクションが起動され、ビジネスクリティカルな処理を実行しています。ユーザの皆さんは その柔軟性、安定性、コスト効率の良さを好きだと言ってくれます。 私たちはすべてのAWSのお客様がサーバレスな未来へ向かえるようにしたいと考えています。AWS Lambdaのサービス提供開始後、サーバレスアプリケーションのデプロイおよび管理プロセスを簡素化するため Serverless Application Model (SAM) を提供しました。さらにサーバレスのリファレンスアーキテクチャを公開しました。現在、Web アプリケーション、モバイルバックエンド、画像認識&処理、リアルタイムファイル処理、IoTバックエンド、MapReduce、リアルタイムストリーミング処理、そしてチャットボット向けの画像加工 を公開しています。 2017年11月30日、私たちは次のステップをお伝えします。AWS コンソールからサーバレスアプリケーションを可能な限り容易に探し、見つけ、デプロイできるようにします。加えて Lambda、SAM、サーバレスアプリケーションに関するオープンソースコミュニティをサポートするため、誰もが共有し、参加し、メリットを得られる場を提供します。

Read More

Amazon DynamoDB からのデータストリームを AWS Lambda と Amazon Kinesis Firehose を活用して Amazon Aurora に格納する

Aravind Kodandaramaiah は AWS パートナープログラムのパートナーソリューションアーキテクトです。 はじめに AWS ワークロードを実行するお客様は Amazon DynamoDB と Amazon Aurora の両方を使用していることがよくあります。Amazon DynamoDB は、どのような規模でも、一貫した、数ミリ秒台にレイテンシーを抑える必要のあるアプリケーションに適した、高速で柔軟性の高い NoSQL データベースサービスです。データモデルの柔軟性が高く、パフォーマンスが信頼できるため、モバイル、ウェブ、ゲーム、広告、IoT、他の多くのアプリケーションに最適です。 Amazon Aurora は、MySQL と互換性のあるリレーショナルデータベースエンジンで、オープンソースデータベースのコスト効率性と簡素性を備えた、高性能の商用データベースの可用性とスピードをあわせもったエンジンです。Amazon Aurora は、MySQL よりも最大 5 倍のパフォーマンスを発揮するだけでなく、商用データベースのセキュリティ、可用性、および信頼性を 10 分の 1 のコストで実現します。 DynamoDB と Aurora を連携させるために、カスタムウェブ解析エンジンを構築して、毎秒数百万のウェブクリックが DynamoDB に登録されるようにしたとします。Amazon DynamoDB はこの規模で動作し、データを高速に取り込むことができます。また、このクリックストリームデータを Amazon Aurora などのリレーショナルデータベース管理システム (RDBMS) にレプリケートする必要があるとします。さらに、ストアドプロシージャまたは関数内で SQL の機能を使用して、このデータに対してスライスアンドダイスや、さまざまな方法でのプロジェクションを行ったり、他のトランザクション目的で使用したりするとします。 DynamoDB から Aurora に効率的にデータをレプリケートするには、信頼性の高いスケーラブルなデータレプリケーション (ETL) プロセスを構築する必要があります。この記事では、AWS Lambda と Amazon […]

Read More