Amazon Web Services ブログ

Category: AWS re:Invent

Amazon Kinesis Video Streams – コンピュータビジョン・アプリケーションのためのサーバーレスな動画データの収集と保存

携帯電話、防犯カメラ、ベビーモニター、ドローン、WEBカメラ、車載カメラ、さらには人工衛星まで、これらすべては高輝度で高品質の動画ストリームを生成できます。 住宅、オフィス、工場、都市、街路、高速道路は現在、膨大な数のカメラを備えています。これらのカメラは、洪水などの自然災害時に被害状況の調査を可能にし、公共の安全性を高め、子供が安全かつ健康であることを知らせ、無限に繰り返す「失敗」動画のための一瞬を補足し(個人的な趣味の話です)、身元の判定に役立つデータを集め、交通の問題を解決するなど、様々な場面で活用されます。 この動画データの洪水を扱うことは、言い表せないほど難しいことです。 入力ストリームには、個別に、または何百万という単位でデータが到着します。 ストリームには価値あるリアルタイムなデータが含まれており、遅延したり、一時停止したり、より適切なタイミングで処理するためにデータを脇に置いておいたりすることはできません。生のデータを取得すると、他の課題が発生します。動画データの保存、暗号化、索引作成などが頭に浮かびますね。価値を引き出すこと、つまりコンテンツに深く潜って、そこにあることを理解し、行動を起こすことは、次の大きなステップです。 新しい Amazon Kinesis Video Streams 2017年11月29日、リアルタイムストリーミングサービスであるAmazon Kinesisファミリーの新しいメンバーとして、Amazon Kinesis Video Streamsをご紹介します。 これによって、独自のインフラストラクチャを構築して動かすことなく、何百万ものカメラデバイスからストリーミング動画(または時系列にエンコードされたデータ)を取り込むことができます。 Amazon Kinesis Video Streamsは、入力ストリームを受け入れ、永続的かつ暗号化された形式で保存し、時間に基づいたインデックスを作成し、コンピュータビジョン・アプリケーションの作成を可能にします。 あなたはAmazon Recognition VideoやMXNet、TensorFlow、OpenCV、または独自のカスタムコード、つまりクールな新しいロボットや、分析、あなたが考え出すコンシューマー・アプリケーションを支えるあらゆるコードを使用して、入力ストリームを処理することができます。

Read More

Amazon SageMaker – 機械学習を加速する

機械学習は多くのスタートアップやエンタープライズにとって重要な技術です。数十年に渡る投資と改善にも関わらず、機械学習モデルの開発、学習、そして、メンテナンスはいまだに扱いにくく、アドホックなままになっています。機械学習をアプリケーションに組み込むプロセスはしばしば一貫しない仕組みで数ヶ月間に及ぶエキスパートチームによるチューニングと修正を伴います。企業と開発者は機械学習に対する生産パイプラインに対するのエンド・エンドな製品を望んでいます。   Amazon SageMaker の紹介   Amazon SageMaker はフルマネージドなエンド・エンド機械学習サービスで、データサイエンティストや開発者、機械学習のエキスパートがクイックに機械学習モデルをスケーラブルにビルド・学習・ホストすることを可能とします。このサービスが機械学習に関する全ての試みを急激に加速し、プロダクションアプリケーションに素早く機械学習を追加可能とします。 Amazon SageMaker には3つの主要なコンポーネントが存在します: オーサリング:データに関する調査・クレンジング・前処理に対してセットアップ無しで利用可能な Jupyter notebook IDE をCPUベースのインスタンスやGPUを利用可能なインスタンスで実行することが可能です。 モデルトレーニング:モデルトレーニングは分散モデル構築/学習/評価サービスです。ビルトインされた共通の教師あり/教師なし学習アルゴリズムやフレームワークの利用や Docker コンテナによる独自の学習環境を作ることも可能です。学習では、より高速なモデル構築を可能とするため、数十のインスタンスにスケールすることが可能です。学習データは S3 から読み出され、モデルアーティファクト が S3 に保存されます。モデルアーティファクトはデータと分離されたモデルのパラメータであり、モデルを使って推論を可能とするような実行コードではありません。この分離により、IoT デバイスのような他のプラットフォームに SageMaker で学習したモデルをデプロイすることが容易になります。 モデルホスティング:モデルをホストするサービスで、リアルタイムに推論結果を取得するためにモデルを呼び出す HTTPS エンドポイントを提供します。エンドポイントはトラフィックに対処するためにスケールすることができ、同時に複数モデルで A/B テストすることを可能とします。加えて, ビルトインの SDK を利用してエンドポイントを構築できるだけでなく、カスタム設定で Docker イメージを利用することができます。 これらコンポーネントはそれぞれ分離して利用することができ、分離されていることが、存在するパイプラインのギャップを埋めるために Amazon SageMaker を採用することを本当に簡単にしています。故、エンド・エンドにサービスを使用するときに有効になる、本当に強力な事象がいくつも存在します。

Read More

Amazon Elastic Container Service for Kubernetes

私の同僚 Deepak Singh が、コンテナに関してたくさんお伝えしたいことがあります! – Jeff; AWS 上で Kubernetes を利用している多くのお客様がいます。実際、Cloud Native Computing Foundationによると、Kubernetes のワークロードの63%が AWS 上で動作しています。AWS は Kubernetes を実行するうえで人気の場所ですが、お客様が Kubernetes クラスターを管理するためには、依然として多くの手動設定が必要となります。Kubernetes のマスターをインストールして運用し、Kubernetes のワーカーのクラスターを構成する必要があります。Kubernetes クラスターで高可用性を実現するには、異なる AZ 間で少なくとも三つの Kubernetes マスターを実行する必要があります。各マスターは、それぞれで対話し、障害が発生した場合に備え情報を共有し、負荷分散、フェールオーバーを他のマスターに確実に実行するように構成する必要があります。そして、すべての設定と実行が完了しても、マスターとワーカーのソフトウェアのアップグレードとパッチ適用を行う必要があります。これらは運用の専門家とその努力必要としており、我々はお客様からもっと簡単にしてほしいと言われてきました。 Amazon EKS の紹介 Amazon Elastic Container Service for Kubernetes (Amazon EKS) は、Kubernetes クラスターの専門家でなくてもKubernetesを AWS 上で簡単に使用することができるフルマネージドサービスです。開発者の皆様にこのサービスを気に入ってもらえるいくつかの点があります。まず、Amazon EKS は オープンソースの Kubernetes を基に実行されますので、Kubernetes コミュニティの全ての既存のプラグインとツールを使用できます。Amazon EKS 上で動作するアプリケーションは、オンプレミスのデータセンターやパブリッククラウドで動作しているかにかかわらず、標準の Kubernetes 環境で動作するアプリケーションと完全に互換性があります。つまり、コード変更なしで簡単にあなたの Kubernetes アプリケーションを […]

Read More

AWS Fargate: サービス概要

AWS上でコンテナを運用管理するお客様の手助けになるようAmazon Elastic Container Service(Amazon ECS)をアナウンスしたのは約3年前でした。Amazon ECSを利用することで、クラスター管理やオーケストレーション用ソフトウェアを運用することについて心配する必要がなくなり、大規模に高い可用性を持ってワークロードを稼働させることが可能になりました。 2017/11/29、AWSは AWS Fargateをアナウンスしました。下回りとなるインスタンス群の管理をせずとも、コンテナを基本的な計算単位として利用することができる技術です。Fargateをご利用いただくことで、コンテナを動かすためにクラスター内の仮想マシンのプロビジョニング、設定やスケールを行う必要はもうありません。Fargateは現在Amazon ECSから利用可能ですが、将来的にはAmazon Elastic Container Service for Kubernetes (Amazon EKS)もサポートする予定です。 Fargateでは、アプリケーションの要件に対して最も近い設定を柔軟に行うことができ、請求は秒単位となります。 Amazon ECSとFargate Amazon ECSは、コンテナを大規模に稼働させることを可能にします。また、このサービスは、VPC networking、load balancing、IAM、Amazon CloudWatch LogsやCloudWatch metricsといったAWSプラットフォームとネイティブに連携しています。これらの連携により、ECSタスクはAWSプラットフォームの中でファーストクラスオブジェクトとして扱うことができます。 タスクを起動するためには、適切なインスタンスタイプと数を選び、Auto Scalingを設定し、パフォーマンス向上のためにクラスターのサイジングを管理するといったクラスターの立ち上げが必要ですが、Fargateでは、それらを全て忘れることができ、アプリケーションの定義、権限やスケーリングについてのポリシー設定に専念することができます。

Read More

In The Works – Amazon Aurora Serverless

既にご存知の通り、Amazon AuroraはMySQL互換とPostgreSQL互換があり、マネージドサービスで自動的に64TBまでスケールアップするデータベースストレージ’を備えています。Auroraデータベースインスタンスを作成する際に必要なインスタンスサイズの選択や、リードスループットを向上させるためにリードレプリカを作成するかどうかのオプションを選択します。処理の需要やクエリ数の増減に応じて、インスタンスサイズやリードレプリカの数を必要に応じて変更可能です。このモデルはリクエスト数や負荷などのワークロードが予測し易い場合はうまくいきます。 しかし、場合によっては1日や1週間の間に数時間、もしくは数分間だけリクエストがスパイクするようなワークロードの割り込みがあったり予測が難しいケースがあります。セールや1回だけもしくは不定期イベント、オンラインゲームや日時・週次のレポーティング、dev/test、新規アプリケーションなどが当てはまります。適切なキャパシティに調整し続けるためには多くの作業が必要です、そのため安定している状態を基準として支払いを行うほうが懸命です。

Read More

AWS Fargateの紹介 – インフラストラクチャの管理不要でコンテナを起動

コンテナは、開発者がアプリケーションを開発・パッケージ・デプロイするのに強力な手法の1つです。AWSでは、十万以上のアクティブなECSクラスタが稼働しており、毎週数億の新しいコンテナが起動しています。これは、2016年からすると400%を超えるお客様成長率です。Amazon ECSやKubernetesといったコンテナのオーケストレーションソリューションは、コンテナワークロードのデプロイ・管理・スケールをより容易にし、敏捷性を増します。しかし、それらのどのソリューションも下回りとなるインフラストラクチャの可用性、キャパシティやメンテナンスを行う必要が依然としてあります。AWSにおいて、私たちはこれを差別化とならない重労働を取り除く機会と考えました。私たちは、コンテナがもたらすスピード、敏捷性や不変性のメリットを十分にお客様にご利用いただき、インフラストラクチャの管理ではなくアプリケーションの構築に注力いただきたいと思っています。 AWS Fargate AWS Fargateは、コンテナをデプロイする最も簡単な方法です。端的に言うと、FargateはEC2に似ていますが、仮想マシンを提供する代わりに、コンテナを提供します。これにより、下回りとなるインスタンス群の管理をせずとも、コンテナを基本的な計算単位として利用することができる技術です。やるべきことは、コンテナイメージ構築し、CPUやメモリの要件を指定し、ネットワークやIAMポリシーを定義し、そしてコンテナを起動することです。Fargateでは、アプリケーションの要件に対して最も近い設定を柔軟に行うことができ、請求は秒単位となります。

Read More

ハードウェアにダイレクトアクセスを提供するAmazon EC2 Bare Metal (ベアメタル)インスタンス

お客様からAWSへの優れたリクエストをいただく際、私達は詳細に要望をお聞きし、多くの質問をし、理解をしてニーズに応えられるようベストを尽くしています。これらの活動の結果として私達はサービスや新機能をリリースしています。 一方で私達は決して特定のお客様専用の一度きりの仕組みを作りこんだりはしません。その方法は混乱を生み、スケールさせる事を困難にしますし、私達のやり方ではありません。 そうではなく、全てのAWSのお客様は私達が作ったもの全てにアクセスでき、全員が利益を得ることが出来ます。VMware Cloud on AWSがこの戦略での良い実例でしょう。VMware社は私達に、VMwareの仮想化スタックをAWSクラウドのハードウェア上で直接稼働させたい、それによってお客様がAWSがオファーする拡張性、セキュリティ、信頼性を手に入れることが出来るとリクエストしました。 私達は仮想化層をネストする事によるパフォーマンス低下を望んでいない他のお客様からもベアメタルハードウェアに興味があると聞いていました。お客様は物理リソースにアクセスし、パフォーマンスカウンターやIntel® VTといった、仮想化環境では通常サポートされないローレベルのハードウェア機能を利用したいと考えていました。また、非仮想化環境でしか稼働できないライセンスのソフトウェアを稼働させるために必要としている方もいました。 ネットワーク、ストレージ、その他EC2関連機能を仮想化プラットフォームの外に出して、専用ハードウェアに移動させる努力を数年間に渡って続けてきており、より良い環境を提供できるための下地が出来ています。この活動は以前のこのブログ(今すぐご利用可能 – Amazon EC2 コンピューティング最適化インスタンス C5)で紹介しており、ハードウエアアクセラレーターでの性能向上を提供できています。 そして現在ではVMware社からのリクエストにあったように、ベアメタルのハードウェアをVMwareハイパーバイザーとともに用意し、これまで通り全てのAWSのお客様に提供しています。では次は何が出来るようになるのか、ぜひ見てみましょう!

Read More

AWS AppSyncの紹介 – リアルタイムおよびオフライン機能を備えたデータ駆動型アプリケーションの構築

現在、モバイルデバイスや便利なアプリケーションは私達の生活にとって欠かせないものになっています。モバイルデバイスへの依存が高まるにつれ、私たちの注目を集めて何百万ものアプリケーションが爆発的に増加しています。これはモバイルデベロッパーにとって、高品質かつリアルタイムなユーザーが求めるアプリケーションを構築する必要があることを意味します。これにより、モバイルアプリケーションは、ユーザー間でのデータ同期、オフラインサポート、データディスカバリーなどの機能が実装されていることが必須になってきています。いくつかの記事、(InfoQ、DZone、モバイル開発ブログAlleviateTech)によると前述の機能を提供するうえで重要な要素の1つはクラウド型モバイルアプリケーションと言われています。 モバイルデータの同期やデータストレージなどに関しては特にこれが言えるようです。 このような背景から、クラウド上のデータ集約サービスを使って革新的なモバイルアプリケーションを開発するための新サービスを発表するのに最適なタイミングだと考え、AWS AppSync を紹介します。AWS AppSync は、フルマネージドなサーバーレスGraphQL サービスで、リアルタイムデータクエリ、同期、通信、およびオフラインプログラミングの機能を提供します。使い慣れていない人たちのために、GraphQL 仕様に関する情報を簡単に紹介しましょう。

Read More

Amazon Sumerianの紹介:簡単な方法で VR、AR、3D体験を作成

私の過去のブログの投稿を読んだり、様々なカンファレンスで行ったセッションに出席したことがあれば、私がGeekな女の子だと分かっているかもしれません。クラウド、人工知能、IoT、Makerスペースなどの技術分野で行われた最新の進歩、そしてバーチャルリアリティ(VR)と拡張現実(AR)には大変興味を持っています。私の考えでは、Geekになるのはすばらしい時期です。スターウォーズやスタートレックを見て驚いたアルゴリズムや離散数学のクラスや技術を汗ばみながらビルドを夢見ていたことのすべてが今や成果を上げています。うまくいけば、私が宇宙の他の銀河に超光速移動できるようになるまでは時間の問題に過ぎません、しかし、それまでは好きな番組やショーの中に登場するようなキャラクターや画像の3Dバーチャルリアリティや拡張現実を構築することができます。 Amazon Sumerianは誰でも簡単に拡張現実(AR)、仮想現実(VR)、3Dアプリケーションを作成し実行できるツールとリソースを提供します。Sumerianを使用すると、Oculus 、HTC Vive 、iOSデバイスなどのハードウェアでWebVR互換のブラウザを使用し、Androidデバイス上でARCoreをサポートできるマルチプラットフォームエクスペリエンスを構築できます。 現在プレビュー中のこのエキサイティングな新サービスは、ブラウザから非常に没入型でインタラクティブな3D体験をデザインできるようにする機能を提供します。これらの機能の一部は次のとおりです。 Editor: クロスプラットフォームパブリッシングを使用して、3Dシーンを構築し、アセットをインポートし、インタラクションや特殊効果をスクリプティングするWebベースのエディタ。 Object Library: 事前にビルドされたオブジェクトとテンプレートのライブラリ。 Asset Import: シーンで使用する3Dアセットをアップロードします。SumerianはFBX、OBJをインポートし、すぐにUnityプロジェクトを導入することをサポートしています。 Scripting Library:高度なスクリプト機能を提供するために、3Dエンジンを介してJavaScriptスクリプトライブラリを提供します。 Hosts: 性別、声、言語に合わせてカスタマイズ可能な、生き生きとしたリアルなアニメーション3Dキャラクター。 AWS Services Integration:Amazon PollyとAmazon Lexとの統合され、スピーチや自然言語をSumerian hostsに追加します。さらに、AWS Lambdaでスクリプトライブラリを使用すると、AWSサービス全般を使用することができます。 Amazon Sumerianでは、リッチでインタラクティブなVRおよびARシーンを構築するために3Dグラフィックスやプログラミング体験を必要としないため、Sumerian Dashboardをすぐに実行して見てみましょう! Sumerian Dashboardから、ボタンを押して新しいシーンを簡単に作成できます。 新しいシーンのデフォルトビューが開き、Sumerian Editorが表示されます。EditorでTara Blog Sceneを開いて、自分のシーンにアセットを簡単にインポートできます。 Import Assetボタンをクリックしてアセットを選択して、View Roomを選択してシーンにインポートします。開きたいアセットを選択した状態で、[Add]ボタンをクリックしてインポートします。 素晴らしい!持っていたアセットはSumerian Editorに正常にインポートされ、Asset panelに表示されます。さて、View RoomオブジェクトをView Roomで選択し、それをEditorのキャンバスにドラッグすることで、View Room objectをシーンに追加することができます。 インポートアセット処理を繰り返し、今度はマネキンアセットをシーンに追加します。 さらに、Sumerianでは、エンティティにScriptComponentを追加してスクリプトを作成し、シーンをさらにエキサイティングにするために、Entityアセットにスクリプトを追加することができます。提供された組み込みのスクリプトを使用するか、独自のカスタムスクリプトを作成することができます。新しいカスタムスクリプトを作成すると、下のコードに似た基本のJavaScriptコードを含む空白のスクリプトが表示されます。 ‘use strict’; /* global sumerian */ //This is Me– trying out […]

Read More

Lambda@Edge – プレビュー

ちょうど先週、私が Hacker News上で書いたコメントがきっかけでAWSのお客様から興味深いメールを頂きました。 彼はS3上でホストしているシングルページのアプリケーションを動作させていて(こちらについてはAmazon S3で静的なWebサイトの運用が可能に をご覧下さい。)、Amazon CloudFrontを経由して少ないレイテンシーで提供していると教えてくれました。そのページは、AWS Elastic Beanstalk上でホストしているAPIを使って、それぞれのユーザー向けにカスタマイズして表示するいくつかの動的な要素を含みます。 彼が説明してくれた彼の課題はこちらです。 適切に検索エンジンのインデックスを取得するために、またFacebookやTwitterないで正しく表示するためのコンテンツのプレビューをするためには、それぞれのページが事前に表示されたバージョンを提供する必要があります。こちらを実現するには、一般ユーザーがヒットするたびに、私たちのサイトはノーマルのフロントエンドをCloudFrontから提供する必要があります。しかし、もしユーザーエージェントがGoogle / Facebook / Twitter等にマッチする場合は、その代りに私たちは事前に表示されたバージョンへリダイレクトさせる必要があります。 私たちはこのユースケースについてよく分かっており、興味深いソリューションを準備中であることを彼に秘密を漏らすことなく伝えました。他のお客様もまた、エッジにおいてクイックな判定によりカスタマイズしたいと伝えてくれてました。 お客様に近いロケーションでHTTPリクエストを”賢く”処理しなければならないユースケースがあることがわかりました。これらには、HTTPヘッダの検査および変更、アクセスコントロール(特定のcookieを必要とする)、デバイス検出、A/Bテスト、クローラーまたはbotsのための処理または特別な対応、レガシーシステムに適応させるためにユーザーフレンドリーなURLを書き換えるユースケースを含みます。多くのこれらのユースケースは、シンプルなパターンマッチングやルールによって表現可能なユースケースよりも多くの処理や判定を必要とします。 Lambda@Edge これらのユースケースのサポートを提供するために、私はLambda@Edgeのプレビューをラウンチしています。この新しいLambdaベースの処理モデルにより、ますます増加するAWSエッジロケーションのネットワーク内で動作するJavaScriptコードを書くことが出来ます。 CloudFrontのディストリビューションを通して流れるリクエストやレスポンスを処理する軽量なロジックを書くことができます。4つの異なるイベントに対するレスポンスの中でコードを実行できます。 Viewer リクエスト – あなたのコードは、コンテンツがキャッシュされるか否かに関わらず、あらゆるリクエストにおいて動作します。こちらがシンプルなヘッダ処理用のコードです。 exports.viewer_request_handler = function(event, context) { var headers = event.Records[0].cf.request.headers; for (var header in headers) { headers[“X-“.concat(header)] = headers[header]; } context.succeed(event.Records[0].cf.request); } Origin リクエスト – リクエストされたコンテンツがエッジでキャッシュされていない時に、Originに転送される前にコードを実行します。ヘッダを追加したり、既存のヘッダを編集したり、URLを編集したりすることが可能です。 Viewer レスポンス – キャッシュされているか否かに関わらず、すべてのレスポンスにおいてコードを実行します。Viewerに戻す必要のないヘッダをクリーンアップするためにこちらを利用できます。 Origin レスポンス – […]

Read More