Amazon Web Services ブログ

エッジデバイス上のAWS IoT Greengrassへ顔認識モデルをインストールする方法

皆様は、リモートデバイスの通信と制御のためにAWS IoT CoreとAWS IoT Greengrassを使用する方法をすでに知っているかもしれません。 AWS IoT Greengrassの機械学習(ML)推論を使用すると、送信遅延なしにローカルデバイスで機械学習モデルを実行できます。 このブログ記事では、Raspberry PiでAWS IoT Greengrass ML推論を使用して自宅の監視のためにローカルの顔認識を実行する方法を紹介します。 Raspberry Piのカメラの制御装置として、Alexa Voice Serviceに接続されているAmazon Echo Dotを使用すると、ドアの外にいる人の写真を撮ることができ、その写真を使用して顔の検出と比較を実行できます。 Raspberry Piに展開された事前学習済みのMLモデルを使用したローカルデータセット 比較結果はドアロックや他のスマートデバイスでも使用できますが、これらの使用例はこの記事では扱いません。

Read More

たった数行のJavaScriptで作るマルチプレイヤーモバイルゲームのサーバー

Game Developers Conference (GDC) 2019でプレビューがアナウンスされたAmazon GameLift リアルタイム サーバーですが、この度正式版がリリースされました! リアルタイムサーバーを利用することで、ゲームサーバーの作成やカスタマイズを手頃な価格で実現することができます。 優れたマルチプレーヤーゲームのエクスペリエンスを構築するにあたり、ゲーム開発者によるマルチプレーヤーゲーム構築を妨げる障壁があります。その障壁を取り払うためには、時間とコストがかかり、すべてのゲーム開発者が持っているわけではないような専門知識が必要です。 GameLift リアルタイム サーバーを使えば、数行のJavaScriptでカスタマイズ可能なマルチプレイヤーゲームサーバーを作成し、プレーヤー1人あたり少額の月額課金で数百万人の規模にスケールアップすることができる。 GameLiftリアルタイムサーバーは以下の15のAWSリージョンで利用可能です。 米国東部(バージニア北部とオハイオ)、米国西武(オレゴンと北カリフォルニア州)、カナダ(モントリオール)、欧州(フランクフルト、ロンドンとアイルランド)、アジアパシフィック(ムンバイ)、アジアパフィシック(ソウルと東京)、アジアパシフィック(シンガポールとシドニー)、中国(北京)、南米(サンパウロ) 詳しく知りたい方は、Amazon GameLift製品詳細ページまたは開発者ガイドをご覧ください。 GameLift リアルタイムサーバーをすぐに使い始めるために、以下のサンプルを用意しました。ぜひご参考ください! マルチプレイヤーサーバーは難しい 従来、カスタムゲームサーバの開発はとても骨の折れる仕事です。サーバの構築にはネットワーキングシステムやバックエンド開発、サーバオペレーションに関する多くの知識が必要になります。これらのシステムを開発するために必要なリソースを持たない小規模なチームにとっては困難な状況です。ただ素晴らしいゲームを作りたいだけの場合でさえ、プレイヤーのための機能を開発することよりゲームサーバーを稼働させることに多くの時間とお金が費やされています。 ちょっと待って!いや、マルチプレイヤーサーバは簡単! ゲームプレイのサーバーがとても軽い(ライトウェイトな)場合でも、そんなに複雑なサーバを構築する必要があるでしょうか?いえ、結局のところ、答えは”No”です。これから、Amazon GameLiftリアルタイムサーバーを利用して、わずか数時間で競争力のある2人用レーシングゲームを開発する方法をご紹介します。 開発者は、GameLiftリアルタイムサーバーを利用して、お手頃なゲームサーバーを数行のJavaScriptを使って迅速に作成、更新することができます。多くのバックエンド処理能力を必要をしない、モバイル、ターンベース、メッセージングゲームなどに最適です。 サーバーの構築なしでカスタムゲームロジックを作成することがアイデアのベースとなっています。必要な作業としては、スクリプト(JavaScriptの使用)を利用して、プレイヤー間の通信やゲームの状態の変化を処理するコールバックを実装するだけです。たとえば、あるプレイヤーがゲームに参加したときの処理や、他のプレイヤーに新しいメッセージを送信したときの処理が挙げられます。GameLiftにスクリプトをアップロードするだけの単純なインテグレーションとなります。ゲームクライアント側では、.NET SDKなどのクライアント向けSDKがサーバと接続します。GameLiftはクライアントとサーバーが互いにコミュニケーションするための作業を行い、お互いメッセージを送受信するための簡単なAPIを提供し、サーバーホスティング、スケーリング、およびその他の運用上のものをすべて扱うため、ご自身で実装する必要はありません。あなたはゲームのコードのみにフォーカスできます。 “カエルのジャンプ”から始めてみよう! 私はシンプルなワンクリックで競争するレースゲームがGameLiftリアルタイムサーバーを試す素晴らしい方法だと考えていましたが、テーマが必要でした。カリフォルニアで育った子供は、エンジェルキャンプで行われている、なるべく遠くにカエルをジャンプさせるという熱狂的なイベントに参加します。誰もがジャンプするカエルと意地悪なカメが登場する古典的なアーケードゲームを知っています。 というわけで、今回は”カエル”をテーマにしたゲームを用意しました。ようこそ!”MEGA FROG RACE”の開発へ! このゲームオブジェクトはとてもシンプルです。スペースキーで2人のプレイヤーがカエルをコントロールし、どちらが早くゴールするかを競います。しかし、スペースキーを一番早く叩くだけの競争ではありません!再びスペースキーを打つ前にカエルがそのホップを完了するまで待たないといけません。また、カエルがイライラしたときは着地後しばらく動きません。これは、誰が最速のインターネット接続なのか、最速でキーを打つかによって勝者が決定しないことを意味します。 私はWindowsのUnityでゲームクライアントを開発しました。Unityの初心者向けのUnity Personalを使ってビルドすることが可能です。今回説明するすべてのテクニックは、.NET Runtimeで実行できるすべてのサービスで活用します。もしサンプルの実行や独自のプロジェクト上での設定で問題が発生した場合はフォーラム(英語)またはソリューションアーキテクトまでお知らせください。 始めるにあたり、まずは以下が必要になります。 GameLift、IAM、Amazon Cognitoにアクセス可能なAWSアカウント Microsoft Visual Studio (Community版でも可) Unity(Microsoft Visual Studioもインストールされます) “Getting Started” ページからダウンロードしたRealtime Servers SDK ステップ1: GameLiftの準備 新規プロジェクトを開始する最も簡単な方法はGameLiftにスクリプトをホストし、サーバーにコンピュートパワーを割り当てる方法です。コンピュートパワーはフリート(Fleet)と呼ばれ、ゲームサーバーを稼働させるAmazon EC2の仮想マシンの集まりです。 […]

Read More

新登場 – 次世代 (I3en) の I/O 最適化 EC2 インスタンス

Amazon の Customer Obsession リーダーシッププリンシパルでは次のように述べています。 リーダーは逆向き解決法に取り組むことで、お客様とともに作業を始めます。お客様の信頼を得て、維持するために積極的に働きます。リーダーは競合他社に注意を払う一方で、お客様にも気を配り続けます。 逆向き解決法に取り組んでお客様とともに作業を始めるということは、他と関わりを持たない状態を意味するものではありません。その代わりに、私たちは直接お客様と話し合い (外部と内部の両方)、具体的な内容について質問し、私たちが学んだことに注意を向けます。AWS 側では、お客様が AWS で行っている内容についての理解を深めるために役立つ新しいユースケースについてよく耳にします。たとえば、大規模な EC2 ユーザーは、ドル、vCPU、メモリサイズ、ストレージサイズ、およびネットワークスループット間の比率で表現されることが多い、別の一連の興味深いデータポイントを提供しています。 私たちは約 2 年前に I3 インスタンス (現在入手可能 – 要求の多い I3 インスタンス、I/O 集約型ワークロード) を立ち上げました。私たちのお客様は、分散型ファイルシステム、リレーショナルデータベースと NoSQL データベース、インメモリキャッシュ、キー値ストア、データウェアハウス、そして MapReduce クラスターをホストするために I3 インスタンスを使います。私たちのお客様は常に (Jeff Bezos の言葉によると)「聖なる不満」を抱いているので、より多くの電力とストレージを備えた I/O 最適化インスタンスを望んでいます。具体的には、次のことを求めています。 ストレージ 1 TB あたりの低価格 ワークロードの統合とスケールアップ処理を可能にするストレージ密度の向上 高比率のネットワーク帯域幅と vCPU に対するインスタンスストレージ ここで重要な要素は、私たちのお客様が詳細かつ具体的な方法でニーズを表現しているということです。単純により良く、より速く、そしてより安いものを求められるだけでは、私たちが情報を十分に集めた上で決断を下すことができません。 新しい I3en インスタンス 本日は、I3en インスタンスについてお知らせします。これらのニーズを満たし、前述のユースケースに対処することで、さらに優れた作業を行えるように設計されています。これらのインスタンスは、3.1 GHz の持続的な全コアターボパフォーマンス、最大 60 TB の高速 […]

Read More

Amazon SageMaker と Apache Airflow でエンドツーエンドの機械学習ワークフローを構築する

機械学習 (ML) ワークフローは、データの収集と変換を可能にすることによって、一連の ML タスクを調整して自動化します。続いて、成果を達成する ML モデルのトレーニング、テスト、および評価が行われます。たとえば、Amazon SageMaker でモデルをトレーニングし、そのモデルを本番環境にデプロイして推論呼び出しを行う前に、Amazon Athena でクエリを実行するか、AWS Glue でデータ集約の準備を行うことがあります。これらのタスクを自動化し、複数のサービスにわたって調整を行うことで、繰り返し可能で再現可能な ML ワークフローを構築することができます。これらのワークフローは、データエンジニアとデータサイエンティストの間で共有できます。 概要 ML ワークフローは、モデルの精度を向上させ、より良い結果を得るために、循環的かつ反復的なタスクで構成されています。私たちは、最近、Amazon SageMaker との新しい統合を発表しました。統合により、これらのワークフローを構築および管理できます。 AWS Step Functions は、エンドツーエンドのワークフローで Amazon SageMaker 関連のタスクを自動化および調整します。  Amazon S3 への公開データセットの自動化、Amazon SageMaker でデータの ML モデルのトレーニング、予測にモデルのデプロイすることができます。AWS Step Functions は、Amazon SageMaker およびその他のジョブが成功または失敗するまでモニタリングし、ワークフローの次のステップへ移行するか、ジョブを再試行します。それには内蔵エラー処理、パラメータ渡し、状態管理、実行中のMLワークフローの監視可能なビジュアルコンソールが含まれています。 現在、多くのお客様が Apache Airflow を使用しています。これは、複数ステージにわたるワークフローの作成、スケジューリング、およびモニタリングを行うための一般的なオープンソースフレームワークです。この統合により、モデルのトレーニング、ハイパーパラメータの調整、モデルのデプロイメント、バッチ変換など、複数の Amazon SageMaker 演算子が Airflow を利用できます。これにより、同じ調整ツールを使用して、Amazon SageMaker で実行されているタスクで ML ワークフローを管理できます。 このブログ記事では、Amazon Sagemaker と Apache […]

Read More

SAPとAWSにより、企業はスタートアップのように革新が可能

SAPとAWSは、お客様のSAP S/4HANAへの道のりを簡略化し、イノベーションを加速させることを目的とした新しいパートナーシッププログラムである、プロジェクト “Embrace”を発表しました。 フロリダ州オーランド – 2019年5月9日 – 本日、SAPは、Amazon Web Services (AWS)とグローバルサービスインテグレーター (GSI)とのコラボレーションプログラムであるプロジェクト “Embrace”を発表しました。Embraceは、リファレンスアーキテクチャを通じて、お客様の業界の用語やコンテキストの中で、SAP S/4HANA on AWSへの移行を促します。

Read More

Amazon S3 path-style 廃止予定 – それから先の話 –

先週(4/30)、私たちは非常に静かな(実際には静かすぎる)発表を行いました。S3 バケット内のオブジェクトのアドレスを指定するために使用される、パスベースのアクセスモデルについて、ゆっくりとそして慎重に廃止するという計画です。私はこのブログ記事を書くために、状況をよりよく理解すべく、S3チームと話し合うことに時間を費やしました。私が学んだことは以下です… S3 は、2006年の始めにサービスが開始されました。S3 における Jeff Bezosの考える元々の仕様は、非常に簡素なものでした。彼はインターネットにおける malloc (C言語プログラムにおけるキーメモリ割り当て関数)に相当するようなものを望んでいました。その出発点から、S3 は何兆ものオブジェクトを格納し、毎秒数百万のリクエストを処理するところまでに成長しました。 13年間にわたり、S3 には多くの新しいストレージオプション、機能、およびセキュリティ制御が追加されました。 Old vs. New S3は現在、2種類のアドレスモデルを提供しています。path-style と virtual-hosted styleです。一つずつ見てみましょう。まず、path-style モデルでは、次のように見えます(グローバルなS3エンドポイントです): https://s3.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg https://s3.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png もしくは、次のような形です(リージョナルなS3エンドポイントです): https://s3-us-east-2.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg https://s3-us-east-2.amazonaws.com/jeffbarr-public/classic_amazon_door_desk.png この例では、jbarr-public と jeffbarr-public がバケット名であり、/images/ritchie_and_thompson_pdp11.jpeg と /jeffbarr-public/classic_amazon_door_desk.png がオブジェクトキーとなります。 仮に、オブジェクトが別々の AWS アカウントによって所有されたり、異なる S3 バケット(また場合によっては異なる AWS リージョン)にあったとしても、どちらも同じ DNS サブドメイン s3.amazonaws.com にあります。次に、対応する virtual-hosted style の参照方法を見てみましょう(これらは「新しい」と思われるかもしれませんが、少なくとも2010 年以降に存在しています): https://jbarr-public.s3.amazonaws.com/images/ritchie_and_thompson_pdp11.jpeg https://jeffbarr-public.s3.amazonaws.com/classic_amazon_door_desk.png これらの URL は同じオブジェクトを参照しますが、オブジェクトは別々の DNS サブドメインにあります (それぞれ […]

Read More

Amazon SageMaker Ground Truth を使ったカスタムデータラベリングワークフローの構築

優れた機械学習モデルは大量の高品質トレーニングデータで構築されていますが、このようなトレーニングデータの作成は高額かつ複雑で、時間もかかります。モデルが正しい判断を行う方法を学べるように助けるには、通常、人に手動でトレーニングデータへのラベル付けを行ってもらう必要があります。 Amazon SageMaker Ground Truth は、人が画像とテキストの分類、物体検出、およびセマンティックセグメンテーションのラベリングジョブに取り組むためのラベリングワークフローを提供します。また、データラベリングジョブ用のユーザーインターフェイス (UI) を定義するためのカスタムワークフローを構築することもできます。これらを開始できるようユーザーを援助するために、Amazon SageMaker は画像、テキスト、および音声データのラベリングジョブのためのカスタムテンプレートを提供します。これらのテンプレートは、データラベリング UI の構築をシンプル化する Amazon SageMaker Ground Truth の crowd HTML 要素を使用します。UI には独自の HTML を指定することも可能です。 カスタムワークフローは、以下にある理由のために構築するとよいでしょう。 カスタムデータラベリング要件がある。 入力データが複雑で、タスクごとに複数の要素 (例えば、画像、テキスト、またはカスタムメタデータ) がある。 タスクの作成時に特定のアイテムがラベラーに送信されないようにしたい。 ラベリング出力を統合し、精度を向上させるためのカスタムロジックが必要。 IEEE が後援する学会のような科学学会には何千編ものアブストラクトが届き、これらは手作業でレビューされます。科学論文の典型的なアブストラクトには、背景、目的、手法、結果、限界、および結論といった情報が含まれます。何千編ものアブストラクトについてこれらのセクション、つまりエンティティをレビューすることは、手間のかかる作業になり得ます。 必要なエンティティのすべてに自動でタグ付けすることによってレビューアーを助けることができる自然言語処理 (NLP) モデルがあったとしたらどうでしょう? テキストラベリングツールが投稿されたアブストラクトからエンティティを抽出できるととしたらどうでしょうか? Amazon Comprehend は、テキスト内のインサイトと関係性を見つけるために機械学習を使用する自然言語処理 (NLP) サービスですが、この記事では、固有表現抽出 (NER) モデル用のトレーニングデータセットを構築するための、科学論文アブストラクトから名前付きエンティティを抽出するカスタムテキストラベリングワークフローの構築について段階的に説明していき、ユーザー独自の既存のウェブテンプレートを Amazon SageMaker Ground Truth に簡単に取り入れる方法を紹介します。 ソリューションの概要 カスタムワークフローの構築には、arxiv.org のご厚意により提供された科学論文 10 編の最初のページからの入力画像を使用しました。 論文からのテキストの抽出には、Amazon Textract […]

Read More

サポートが終了する VMware Clous on AWS の SQL Server インスタンスを簡単にアップグレードする

Microsoft SQL Server 2008 と 2008 R2 のインスタンスをまだデプロイしているなら、今こそアップグレードするべきです。これらの Microsoft のサポート終了日 (EoS) は 2019 年 7 月 9 日。もうすぐです。つまり、それ以降はセキュリティの問題やコンプライアンス上の問題があるため、これ以上セキュリティの更新は行われません。実行するなら今です! 今日は、SQL Server インスタンスのアップグレードの自動化を支援する新しいオープンソースのツールを GitHub で公開できることを大変うれしく思っています。この自動化により、アップグレードの実行が迅速になり、重要なデータを格納しているアプリケーションに対するセキュリティ体制を維持しつつ、EoS の前にこのプロジェクトを完了できるようになります。 開始方法 新しいツールは Upgrade-SqlServerStandaloneDatabaseEngineInstance.ps1 という名前で、GitHub で入手できます。これは vSphere インフラストラクチャにアクセスできない可能性があるデータベース管理者 (DBA) などによってローカルで開始されるか、仮想システム管理者などによってリモートで開始されることがあります。アップグレードは Microsoft Windows PowerShell と PowerShell Core の両方でテストが行われました。したがって、macOS、Linux、Windows からリモートアップグレードの起動が可能です。 この記事では、スタンドアロンの SQL Server 2008 R2 SP3 インスタンスを SQL Server 2016 にリモートでバッチアップグレードします。これを AWS の VMware […]

Read More

AWS のサービスやソリューションについて学ぼう – 5 月の AWS オンラインテックトーク

この5 月、AWS のサービスとソリューションについて学んでみてはいかがでしょうか。AWS オンラインテックトークは、幅広い技術レベルで幅広いトピックをカバーするライブでのオンラインプレゼンテーションです。AWS のソリューションアーキテクトやエンジニアがリードするこれらのテックトークでは、テクニカルディープダイブ、ライブのデモンストレーション、顧客事例、AWS の専門家との質疑などが行われます。今すぐ登録しましょう! 注意 – すべてのセッションは無料で、太平洋時間です。 今月のテックトーク: コンピューティング 2019 年 5 月 30 日 | 11:00 AM~12:00 PM PT – 初めて使う AWS の HPC クラスター – AWS の HPC クラスターを初めてセットアップする時のため、一連の手順をステップバイステップでご説明します。 コンテナ 2019 年 5 月 20 日 | 11:00 AM ~ 12:00 PM PT – AWS Service Operator を使いアプリケーションのデプロイを管理する – kubectl CLI […]

Read More

高度な Amazon CloudWatch メトリクスと AWS Lambda を使用したアイドルチェックとリソースの自動終了による Amazon EMR コストの最適化

多くのお客様が、その開発環境で Apache Spark および Apache Hive のクエリなどのビッグデータワークロードを実行するために Amazon EMR を利用しておられます。データアナリストとデータサイエンティストは、分析 EMR クラスターとして知られるこれらのタイプのクラスターを頻繁に使用しますが、ユーザーは、作業終了後にクラスターを終了し忘れることがしばしばあります。これはクラスターのアイドル実行につながり、不必要なコストが生じることになります。 このオーバーヘッドを避けるため、EMR クラスターのアイドル状態を追跡し、アイドル状態で長時間にわたって実行される場合にクラスターを終了する必要があります。YARN ジョブが実行されているかどうかをチェックすることによってクラスターのアイドル状態を判断する Amazon EMR ネイティブの IsIdle Amazon CloudWatch メトリックがありますが、クラスターがアイドル状態かどうかを判断するためにも、接続されている SSH ユーザー、または実行中の Presto ジョブなどの追加のメトリクスを検討するべきです。また、Apache Zeppelin で Spark ジョブを実行する場合、ジョブの実行が終了した後でも、IsIdle メトリックが長時間アクティブ (1) 状態のままとなります。このような場合、IsIdle メトリックはクラスターの非アクティブ状態を判断するには適切ではありません。 このブログ記事では、このオーバーヘッドコストを削減するソリューションを提案します。このため、EMR クラスターのマスターノードにインストールされるバッシュスクリプトを実装しました。このスクリプトは 5 分ごとに実行されるようにスケジュールします。スクリプトはクラスターを監視し、5 分ごとにカスタムメトリック「EMR-INUSE」 (0 = 非アクティブ、1 = アクティブ) を CloudWatch に送信します。CloudWatch が事前定義されたデータポイントセットの一部に対して 0 (非アクティブ) を受け取ると、CloudWatch がアラームをトリガーし、アラームがクラスターを終了する AWS Lambda 関数を実行します。 […]

Read More