Amazon Web Services ブログ

[AWS Black Belt Online Seminar] Amazon API Gateway 資料及び QA 公開

先日 (2019/5/14) 開催しました AWS Black Belt Online Seminar「Amazon API Gateway」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20190514 AWS Black Belt Online Seminar Amazon API Gateway from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. API GatewayかLambdaのどちらかの採用を検討するにはどのようにしたらいいでしょうか (とくにコスト面で) A. Web APIとして公開する場合は、AWS Lambdaの手前にAmazon API Gatewayを配置することによって疎結合化がなされ、実装を隠蔽化できるという利点があります。 ただシンプルにAWS SDK等を利用し直接Lambdaを呼び出したいケースであれば、必要な権限を呼び出し元のアプリケーションに付与した上でLambdaのみを利用する構成もご検討頂けます。 (例:呼び出し元がAmazon Elastic Compute Cloud (EC2) であればそのIAMロール、呼び出し元がブラウザやモバイルアプリであれば、Amazon CognitoのIDプールを利用したAWS Credentialsを利用)。 また、Lambda関数をバックエンドとしてHTTPリクエストを受け付ける他の方法としては、Elastic Load Balancing (ELB) の一種である Application Load […]

Read More

週刊AWS – 2019/5/13週

みなさん、こんにちは!ソリューションアーキテクトの小林です。 AWSでは日々新しいサービスや機能をリリースしていますが、数が多く全体像を把握するのが難しいというお声を頂くケースがあります。そこで、日本チームの取り組みとして「週刊AWS」というブログポストを始めることにしました。週刊AWSでは毎週火曜日か水曜日に、前の週に発表された主要なアップデートや、日本のお客様に興味を持っていただけそうなものをピックアップして、その概要をご紹介していきます。「これを見れば先週のアップデートが大体わかる」を目標に、分量が多くなりすぎないように注意しながら(書きたくなってしまうのですが……)やっていきますので、どうぞおつきあいください。 それでは、先週(5/13週)の主なアップデートについて振り返っていきましょう。 2019年5月13日の週の主要なアップデート 5/13(月) Amazon EMR now supports Multiple Master nodes to enable High Availability for HBase clusters Amazon EMRで複数のマスターノードが利用可能になり、HBaseクラスタの高可用性構成を取ることができるようになりました。 5/14(火) Performance Insights Supports Amazon Aurora Global Database Performance InsightsはAmzon RDSで利用できる、性能問題の解析や対処を容易にする機能です。今回、Amazon Aurora Global DatabaseでもPerformance Insightが利用できるようになりました。 Amazon DynamoDB transactions are now available in the Asia Pacific (Osaka-Local) Region DynamoDBでACIDなトランザクションを実現するAmazon DynamoDB transactionsが大阪ローカルリージョンでも利用可能になりました。機能の詳細についてはドキュメントを確認することをおすすめします。 5/15(水) AWS Lambda adds […]

Read More

AWS が行うグローバル化支援 – 韓国からの報告

Amazon Web Services Korea LLC (AWS 韓国) は 2012 年に、韓国のソウルに事務所を開設しました。この事務所ではスタートアップ企業から大企業まで、多くのお客様を教育しサポートしてきました。お客様のご要望に応えて、2016 年 1 月には 2 つのアベイラビリティーゾーンと 2 つのエッジロケーションを持つアジアパシフィック (ソウル) リージョンを開設しました。このリージョンでは韓国の AWS のお客様に、弊社一連の AWS インフラストラクチャサービスを低レイテンシーで提供しています。 アマゾン ウェブ サービス CEO、Andy Jassy が AWS クラウド 2016 でソウルリージョンの開設を発表。 この開設に続いて、Amazon CloudFront は 2 つの新しいエッジロケーションと 1 つのエッジキャッシュを発表しました (2016 年 5 月に 3 番目、2018年2月 に 4 番目を開設)。韓国での CloudFront の拡大により、このリージョンのユーザーはさらに向上したコンテンツ配信の可用性とパフォーマンスを期待できます。 本日より、AWS アジアパシフィック (ソウル) リージョンに […]

Read More

Deequ で大規模なデータ品質をテスト

一般的に、コード用のユニットテストを書くと思いますが、お使いのデータもテストしているのでしょうか? 不正確または不正なデータは、本番システムに大きな影響を与える可能性があります。データ品質問題の例は次のとおりです。 値がない場合は、本番システムで null 以外の値を必要とするエラー (NullPointerException) が発生する可能性があります。 データ分布が変化すると、機械学習モデルで予期しない出力につながることがあります。 データの集計を誤ると、ビジネスでの判断を下す際に誤った意思決定につながる可能性があります。 このブログ記事では、Amazon で開発し、使用されているオープンソースツールである Deequ を紹介したいと思います。Deequ では、データセットのデータ品質メトリクスを計算したり、データ品質の制約を定義および確認したり、データ分布の変化について通知を受け取ったりすることができます。確認や検証のアルゴリズムを直接実装する代わりに、データの外観を記述することに集中できます。Deequ は確認を提案することでお客様をサポートします。Deequ は Apache Spark に実装されています。通常は分散型ファイルシステムまたはデータウェアハウスに存在する大規模なデータセット (数十億行の規模と考えられる) に合わせて拡張するように設計されています。 Amazon での Deequ Deequ は、多くの大規模な本番データセットの品質を検証するために Amazon で内部的に使用されています。データセットの製作者は、データ品質の制約を追加および編集できます。このシステムは、定期的に (データセットの新しいバージョンごとに) データ品質メトリクスを計算し、データセットの製作者によって定義された制約を検証し、成功した場合にはデータセットをコンシューマーに公開します。エラーが発生した場合、データセットの公開は中止され、製作者はアクションをとるように通知を受けます。データの品質問題はコンシューマーのデータパイプラインに伝播しないため、問題が発生したときの影響範囲が減少します。 Deequ の概要 Deequ を使用するために、その主要コンポーネントを見てみましょう (図 1 も参照)。 メトリクス計算 — Deequ はデータ品質メトリクス、つまり完全性、最大値、相関関係などの統計情報を計算します。Deequ は、Spark を使用して Amazon S3 などのソースから読み取り、最適化された一連の集計クエリを通じてメトリクスを計算します。データに基づいて計算された未加工メトリクスに直接アクセスできます。 制約の検証 — ユーザーは、一連のデータ品質において検証する制約を定義することに集中できます。Deequ は、データに対して計算される、必要な一連のメトリクスを導き出します。Deequ は、制約の検証結果を含むデータ品質レポートを生成します。 制約の提案 — 独自のカスタムデータ品質の制約を定義するか、有用な制約を推測するためにデータをプロファイルする自動制約提案方法を使用することを選択できます。 図 […]

Read More

SimilarWeb が Couchbase から Amazon DynamoDB に移行し、70% 節約した方法

今回は AWS ソリューションアーキテクトの Leonid Koren、および AWS シニアテクニカルアカウントマネージャーの Ziv Shenhav との共同著作による、SimilarWeb のソフトウェア開発者 Doron Grinzaig 氏のゲストブログ投稿です。 NoSQL データベースはスケーラブルで適応性があり、高機能のデータベースを必要とする現代のモバイル、ウェブ、ゲーム用アプリケーションに最適です。しかしながら、NoSQL データベースは分散型の性質を持つため、特に大きな規模になると管理が難しく、多くのリソースとかなりの注意が必要になります。SimilarWeb は数年の間、2 つの Couchbase クラスターを運用していましたが、コストと運用オーバーヘッドは高くついていました。そのため SimilarWeb は、安定性の向上とコストおよび運用オーバーヘッドの削減を目指して、Amazon DynamoDB に移行したのです。DynamoDB は完全マネージド型のデータベースサービスで、現在では複数の AWS リージョンで SimilarWeb の顧客にデータを提供している信頼性の高いデータベースの 1 つです。 このブログ投稿では、SimilarWeb が DynamoDB への移行を決めた理由を詳しく説明します。移行プロセスについて説明し、コスト削減に役立った最適化の方法についても解説します。 SimilarWeb について SimilarWebは、デジタル世界全体の動向に関する洞察を提供するマーケットインテリジェンス企業です。何千にもおよぶ顧客が同社の洞察を基に、マーケティング戦略の改善、販売促進、さらに投資に関する重要な決定を下しています。重要な意思決定に SimilarWeb が関わっていることが、データを効果的に収集かつ利用し、最終的にはユーザーに提供する SimilarWeb の能力を証明しています。 SimilarWeb はさまざまなソースから大量の生データを継続的に収集し、取り込みます。Cloudera クラスター (Apache Spark を実行している) を使って、これらのデータを並び替えて構造化します。データを Apache HBase クラスターにロードし、Amazon S3 ベースのデータレイクに保存します。過去にはデータの一部を […]

Read More

AWS DeepRacer League の仮想サーキットが進行中。re:Invent 2019 への参加旅行を獲得しよう!

誰でも参加できる、世界初のグローバル自走型レーシングリーグ、AWS DeepRacer League がますますヒートアップしています。ファーストラウンドは、現在ほぼ中間地点をむかえ、Summit サーキットのスケジュールの 21 レースのうち 9 レースが終了しています。開発者が継続的に新しい機械学習のスキル向上を目指し、ラップタイムをリーダーボードに投稿します。こちらで、今週の動きからのニュースをまとめました。

Read More

エッジデバイス上の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