Amazon Web Services ブログ

Amazon Personalize を使用して StockX でパーソナライズされたユーザーエクスペリエンスを先駆けて提供

この記事は、StockX 社の Sam Bean 氏と Nick Roberts II 氏によるゲスト投稿です。彼らの言葉を借りると、「StockX はユニークなビッド/アスク市場で e コマースに革命を起こしているデトロイトのスタートアップ企業です。当社のプラットフォームはニューヨーク証券取引所をモデル化し、スニーカーやストリートウェアなどの製品を高価値の取引可能な製品として扱っています。StockX は、透明なマーケットエクスペリエンスにより、真の市場価格で信頼性の高い、人気の高い製品を手に入れられるようにしています」。 2019 年に StockX が急成長している間に、機械学習 (ML) エンジニアの小さなグループが Amazon Personalize を使用してホームページに Recommended For You 製品行を追加しました。これが最終的にトップパフォーマンスを発揮するホームページ行になりました。この記事では、カスタマイズされたユーザーエクスペリエンスを提供するために Amazon Personalize とこれまでどのように取り組んできたかをご紹介します。 当社の市場のダイナミクスから、パーソナライズされたユーザーエクスペリエンスを提供する必要があります。サイトへのトラフィックの急上昇は、主にドロップによって引き起こされます。スニーカーやストリートウェア市場では、ドロップは人気の高い限定版アイテムを事前に伝達してリリースすることを指します。顧客の製品に対する関心の多様性は急拡大していますが、ユーザーはまだまだ最新リリースから特定の人気商品を検索することがよくあります。その結果、頻繁に大規模な DDoS のようなトラフィックがプラットフォームに流入することになり、バックエンドのスケーラビリティが最優先事項になります。さらに、当社のチームは、ブラックフライデーの直前に、Recommend For You 製品行をリリースする予定でした。このような要因により、スケーリング、リアルタイムでの変更、顧客の変化に対応できる堅牢なレコメンデーションエンジンの必要性が高まりました。 当社の取り組みも 3 年が経過し、ユーザーエクスペリエンスのパーソナライゼーションを成長の中心的な目標として優先するようになりました。当社の顧客ベースは、スニーカーコレクターのみから着実に進化し、ますますカジュアルで好奇心の強いユーザーを抱えるようになりました。感謝祭の週末は、このような新しい顧客にパーソナライズされたエクスペリエンスを提供することにより、顧客維持を図る機会になりました。2019 年の年末が近づき、計画にさらなる制約が加わりましたが、Amazon Personalize により、季節性のトラフィックの急増に合わせて、拡大し続けるユーザーのために高度に精選された魅力的なエクスペリエンスを創造することができました。 初期段階 当社のチームは当初、プラットフォームのパーソナライゼーションのギャップを埋めるためにサードパーティベンダーを模索しました。ただし、既製のソリューションを購入するのは費用がかかり、他とは一線を画す当社の e コマース市場にとっては柔軟性に欠けていました。このような既製のソリューションは、多くの場合、ML プロセスのすべての側面について融通が利きませんでした。サードパーティが提供できるものよりも高い柔軟性が必要ではありましたが、この問題に完全に自前のソリューションが必要であるとまでは考えませんでした。 次に、階層型リカレントニューラルネットワーク (HRNN) である Amazon Personalize コアリコメンダーと同等のカスタムニューラルネットワークを構築することについて調査しました。当社のチームはモデルを構築する準備ができていましたが、堅牢性、スケーラビリティ、時間など、特定の交絡変数を考慮する必要がありました。当社は、質の高いサービスを構築して、顧客に説得力のある体験をしてもらい、休日のトラフィックの急増に追いつくために、時間と戦っていました。カスタムモデルの調整に必要な開発時間および推論パフォーマンスにまつわる不確実性により、ML マイクロサービスを構築するのに相応しい要件を挙げていく必要がありました。これにより、どの部分を構築し、どの部分を購入するかを特定できました。当社の要件は次のとおりです。 データ収集 – […]

Read More

認知科学と学習 2: 時間差学習で知識の定着度を高める

このブログは、認知科学の原則を使って AWS クラウドの学習効果を高める方法に関するシリーズ記事の第 2 回です。 シリーズの第 1 回では、長期学習における反復学習の重要性について取り上げました。学習にあたっては数百のアマゾン ウェブ サービス (AWS) のサービスや機能に充分に留意しておく必要があります。すべてをより効果的に学習するには、ビデオを観たりドキュメントを読んだりして情報を受動的にインプットするだけでは不充分です。クイズやメモカードを使った学習、 ラボなどのハンズオンアクティビティを通したセルフテストを実行することで、学習中の情報を能動的に活用して、記憶から引き出す必要があります。 しかし多くの場合、多忙なスケジュールの中で継続的に反復学習を行っていくのは簡単ではありません。そこで有用なのが、時間差学習 (Spaced Practice) という概念です。 時間差学習とは、ある一定の期間中に徐々に時間間隔を広げて学習時間を分散させるというやり方です。     たとえば今週初めに視聴した Amazon S3 に関するビデオの内容に合わせて自身で作成したメモカードを確認するとします。メモカードでの学習にかかる総時間は約 60 分です。時間差学習ではこの時間を複数回に分散させることで、60 分間かけてすべてを 1 回で学習するよりもはるかに高い長期的学習効果を得ようとします。 この場合にカギとなるのは、覚えようとしている情報が記憶から消えてしまうギリギリのタイミングで復習を行うことです。このスイートスポットは人それぞれで異なります。 いずれにしても、学習中の情報が脳内の長期記憶に関連する部分に統合されるまでには時間が必要です。脳内からその情報を取り出すタイミングを遅らせる(または間隔を空ける)と、その情報は長期記憶を司るニューラルネットワークへより強く取り込まれます。間隔を空けずに行う反復学習は、この記憶の取り込みに要する時間を考慮しておらず、結果的に学習内容が短期記憶の範疇にとどまりやすくなります。   間隔を空けた反復学習は、長期記憶を格納する脳の領域に統合した後、記憶痕跡を活性化します。内側側頭葉は短期的な記憶を保存します。大脳新皮質は長期的な記憶を保存します。   Amazon S3 ビデオの例に戻りましょう。ビデオを見た直後に聞いたことをセルフテストすると、質問に回答する際には短期記憶の中から情報を引き出していることになります。情報を長期記憶に取り込むのに十分な時間がなかったためです。   ラーニングセッションまたはプレゼンテーションの直後に復習を行うと短期記憶が使用される。   時間差学習では、セルフテストを数時間あるいは数日の間隔を空けて行います。この時点で、情報を長期記憶に統合する時間があったことになります。テストへの回答は難しくなりますが、長期的には学習効果に大きな効果をもたらします。   ラーニングセッションまたはプレゼンテーションから間隔をおいて復習を行うと長期記憶が使用される。   では、AWS クラウドの学習に時間差学習を活用するにはどうしたらよいでしょうか。 以下にいくつかのアイデアを示します。 集中詰め込み式をやめ、学習を小さなチャンクに切り分ける。 1 週間休むことなく勉強すると短期的には有効に感じられるかもしれませんが、長期的には学習効果が低くなってしまいます。そのかわりに数百におよぶ AWS トレーニングを活用してください。トレーニングの多くはオンラインで受講できるショートトレーニングコースで、これを活用するとインプットからある程度の間隔 (数日間というよりは数週間程度の期間にわたって) をおいて簡単に学習内容を復習できます。 ラーニングパスを選択し、独自の間隔で学習スケジュールを立てる。 AWS のラーニングパスは一連のコースと試験で構成されており、このパスに従って学習を進めることで AWS […]

Read More

Ubuntu 18 DLAMI、P3dn インスタンスの EFA、Amazon FSx for Lustre を使用した大規模なマルチ GPU 分散深層学習トレーニング

AWS Deep Learning AMI (Ubuntu 18.04) は、EC2 Accelerated Computing インスタンスタイプの深層学習用に最適化されており、複数のノードにスケールアウトして分散ワークロードをより効率的かつ簡単に実行できます。同 AMI は、分散型深層学習のトレーニング向けにビルド済み Elastic Fabric Adapter (EFA)、Nvidia GPU スタック、および多くの深層学習フレームワーク (TensorFlow、MXNet、PyTorch、Chainer、Keras) を備えています。深層学習ソフトウェアとドライバーのインストールや機械学習 (ML) インフラストラクチャの構築に時間を費やす必要はありません。代わりに、より短時間で大規模なジョブのトレーニングに集中し、ML モデルでより速く反復することができます。 この記事では、AWS High Performance Computing (HPC) アーキテクチャで大規模な高性能、ネットワーク依存、低レイテンシー、高度に結合された ML 分散トレーニングを簡単に実行できることを示します。HPC アーキテクチャには、Ubuntu 18 DLAMI、P3dn インスタンス上の Elastic Fabric Adapter (EFA)、および Amazon FSx for Lustre が含まれます。また、マルチノード GPU クラスターで PyTorch フレームワークを使用して Bidirectional Encoder Representations from Transformers モデルを実行する方法について説明します。さらに、この記事では、AWS ParallelCluster […]

Read More

Amazon Forecast がサポートする自動補完機能による、ターゲットおよび関連データセット内での欠落した値の管理

Amazon Forecast は、機械学習 (ML) を使用する完全マネージド型サービスです。このサービスでは、ML の経験を必要とせずに非常に正確な予想を生成できます。Forecast が利用可能なユースケースは多岐にわたります。たとえば、製品需要の見積り、サプライチェーンの最適化、人事計画、エネルギー需要の予測、クラウドインフラストラクチャの使用状況の算定などが考えられます。 Forecast では、プロビジョニングすべきサーバー、あるいは手動で構築すべき機械学習モデルなどは存在しません。また、お支払いは実際に使用した分のみであり、最低料金や前払い料金を求められることはありません。Forecast の使用には、予想すべき数値に関する履歴データと、その予想に影響を与える可能性のある関連データが必要がなだけです。この関連データとしては、価格、行事、天候など、時間的に変化するデータや、色、ジャンル、地域など分類に関するデータなどがあります。このサービスは、用意されたデータに基づき、機械学習モデルのトレーニングとデプロイを自動的に行います。また、予想結果を取得するためのカスタム API も利用できます。 現実世界で予想を実施する際に一般的に見られる事象として、生データにおける値の欠落が挙げられます。履歴 (あるいは時系列の) データから値が欠落しているということは、すべての時点において対応した値が利用可能とは限らない、ということを意味します。値が欠落するには、多くの理由があります。たとえば、特定の時点でトランザクションが発生しなかったり装置にエラーがある場合、あるいは、測定自体が適切に実施されなかった場合などに、値の欠落が生じます。 Forecast では、関連あるいはターゲットの時系列データセット、および履歴上や予想期間における、欠落データ (既存の NaN も含みます) の自動補完機能をサポートしています。関連時系列 (RTS) データには、通常、プロモーションや価格もしくは在庫切れなどの、ターゲットの数値 (製品需要) と相関性がある情報が含まれています。これらにより、予想結果の精度が向上することが期待できます。欠落した値に関しては、value、median、min、max、zero、mean、および nan (対象が時系列の場合のみ) といった各種のロジックを、特定のユースケースに合わせ適用できます。Forecast では、CreatePredictor API の FeaturizationConfig により、これらの機能を提供しています。 今回の記事では、Forecast の GitHub レポジトリ からサンプルノートブックを入手して、関連がある、あるいはターゲットの時系列 (TTS) データセットに対し、欠落した値の補完機能を適用していきます。 Forecast における欠落した値の処理 時系列上で値が欠落しているということは、結局、多くの理由により、それ以降の処理のために対応した値が利用不可能になるということを意味します。製品セールスを表している時系列データが欠落していることは、その製品が販売不可能な状態にあると解釈できます。この状況としては、製品が存在しない期間 (リリース前や非推奨となった後など) 、もしくは、製品は存在するものの販売できない期間 (部分的な在庫切れ) などが挙げられます。また、ある期間にセールスデータが記録されなかった場合も、値の欠落が生じます。 「(not available for sale (販売中止)」というユースケースでは、一般的にターゲットの値が zero となりますが、そこで失われたはずの値 (nan) […]

Read More

新規 – 第 2 世代 AMD EPYC™ プロセッサを搭載した Amazon EC2 C5a インスタンス

過去 18 か月間において、当社は、お客様に汎用およびメモリ集約型のワークロードを実行するための追加の選択肢を提供するため、AMD を搭載した M5a と R5a/M5ad と R5ad、および T3a インスタンスをリリースしました。AWS Nitro System 上に構築されたこれらのインスタンスは、カスタムの第 1 世代 AMD EPYC™ プロセッサを搭載しています。これらのインスタンスは、同等の EC2 M5、R5、および T3 インスタンスよりも 10% 低い料金で利用可能で、コストとパフォーマンスに基づいてインスタンスミックスのバランスをとるためのオプションを提供します。 本日より、最大 3.3 GHz の周波数で動作する、第 2 世代 AMD EPYC™ プロセッサを搭載したコンピューティング最適化 C5a インスタンスの一般提供が開始されます。C5a インスタンスは、Amazon EC2 のコンピューティング最適化 (C5) インスタンスファミリーのバリアントであり、同等のインスタンスよりも 10% 低いコストで高性能な処理を提供します。C5a インスタンスは、バッチ処理、分散分析、データ変換、ログ分析、ウェブアプリケーションなど、コンピューティングを多用する幅広いワークロードに最適です。 現在、C5a インスタンスは、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、欧州 (フランクフルト)、アジアパシフィック (シドニー)、およびアジアパシフィック (シンガポール) リージョンにおいて、オンデマンド、スポット、およびリザーブドインスタンス、または Savings […]

Read More

Slack などのお客様が、リアルタイムコミュニケーションのために Amazon Chime SDKを選択しています

Amazon Chimeは、ミーティングやビデオ会議を行うためのサービスです。開発者は、Amazon Chime SDKを使うことで、Amazon Chimeと同じコミュニケーションインフラストラクチャを利用して、音声、ビデオ、画面共有などの機能をアプリケーションに直接追加できます。re:Invent 2019でAmazon Chime SDKが発表されて以来、多くのお客様がこのSDKを使用して音声やビデオを自社のビジネスプロセスに組み込んできました。例えば、オンラインコンサルティング、オンライン診療、不動産のオンライン内見会といったユースケースにこのSDKを使用しているお客様がいます。このようなお客様にとって、ビデオ映像は、単にビデオ会議で使われるものではなく、自社のアプリケーションコンテキストに深く組み込まれる重要な機能となっています。最近、Slack社は リアルタイムコミュニケーションを強化するため、Slackコールの機能要素として Amazon Chime SDKを選択し、今週ロールアウトを開始しました。

Read More

Perforce Helix Core を AWS 上に構築する (Part3)

イントロダクション 3回にわたるAWSでのPerforce構築シリーズもこれで最後になりました。 Part1ではAWS 上で Perforce Helix Core を構築することの利点と技術的ポイントを俯瞰しました。 前回のPart2では AWS CloudFormation を用いてPerforceサーバーを構築する方法を解説しました。 今回のPart3では、Part2の手順7、CloudFormationの設定において「Enable Replica」をYesにしてReplica Serverの構築を有効にした場合のReplica ServerのSetup手順を紹介します。 Part2の手順で、Master Serverのみの構築を希望した場合は、こちらの手順は必要ありません。 もちろん、もう一度前回の記事の手順を最初からやり直して、Replica構築を有効にして、本記事の手順を実行していただくこともできます。 さて、実際の Replica server の構築手順ですが、これはAWS特有というわけではなく、Perforceの通常の構築手順に従って手動でコマンドを実行して行くというものになります。 それでは実際に手順を見ていきましょう! 事前準備 こちらのPart2の手順を実行していることが前提になります。実行されていない方はまずは前回の記事の手順を実行し、その際に必ず「手順7」の「Enable Replica」をYesにして有効にします。 こちらを参考にして東京リージョンで任意の名前のS3バケットを用意しておいてください。S3バケットの名前は全世界で一意の名前にする必要があります。 例えば次のようなS3バケットの名称にすると他のバケット名との衝突を避けることができます。 (例) perforce-test-[自分の名前]-[日付] など Replica Serverをセットアップする Replicaの動作を定義するには、Perforceのコマンドである“p4 configure set”コマンドを使用して、Master serverのdb.configファイルに構成情報を入力する必要があります。Replicaを作るにはまず最初にMaster serverを設定します。Master serverの設定が、後でReplica serverに複製されます。 Mater Server側で設定を行う まずは、Master Serverにsshログインします。下記では適宜、自分のssh keyとEIPアドレスに置き換えてください。 $ ssh -i ~/.ssh/general-key.pem p4admin@18.180.250.162 前回Part2でp4adminユーザーをサーバー側に作成していない場合は作成します。作成済みの場合はスキップして次に進みます。下記のコマンドを実行するとviが起動しますので内容を確認して、「:wq」をタイプして保存します。 [p4admin@master ~]$ p4 […]

Read More

AWS上でどのようにゼロトラストアーキテクチャを考えていくか

2021年7月追記: AWSにおけるゼロトラストに関するアップデートされた情報は、以下をご参照ください。 https://aws.amazon.com/jp/security/zero-trust/ また、本Blogを詳細にアップデートしたBlog記事もありますので適宜ご参照ください。 「ゼロトラストアーキテクチャ: AWS の視点」 https://aws.amazon.com/jp/blogs/news/zero-trust-architectures-an-aws-perspective/ —————————————————————– 厳しい規制への対応やリスク回避を考慮事項として擁するお客様は、レガシーアプリケーションのリファクタリングや新しいアプリケーションのデプロイに際し、ゼロトラストアーキテクチャに関心を向けることがあります。このブログでは、お客様がお客様のアプリケーションを評価し、ゼロトラストの原則とAmazon Web Services (AWS)を利用して安全でスケーラブルなアーキテクチャを構築するための手助けを行います。 ゼロトラストとは? ゼロトラストセキュリティとは、アプリケーションのコンポーネントやマイクロサービスが互いに分離しており、どのコンポーネントやマイクロサービスも他のコンポーネントやマイクロサービスを信頼していないというモデルです。これは、あらゆるソースからの入力を潜在的に悪意のあるものとみなすように設計されたセキュリティの考え方です。基礎となる内部ネットワーク・ファブリックを信頼しないことから始まり、さらにすべてのマイクロサービスにおける入力と出力の評価におよびます。加えて、個々のコンポーネント、マイクロサービス、またはアイデンティティの侵害から保護するために、多層防御アプローチを設計することも含まれます。 (訳者注:ゼロトラストは特定の製品やソリューションを指すものではなく多層的なセキュリティ手法を踏まえた概念として、現在アメリカ国立技術標準研究所(NIST)においても、SP800-207(本blog執筆時点においてはドラフト)として定義化が進められています。) 伝統的なネットワークセキュリティの設計は、セキュリティの境界に依拠します。境界内のすべてのものは信頼され、境界外のものは信頼できないものとみなされます。ゼロトラストネットワークは、ビジネスデータや機密リソースへの意図しないアクセスのリスクを低減するために、リアルタイムですべてのアクションとリソースを評価します。 ゼロトラストの原則を用いたAWS上での設計 ゼロトラストアーキテクチャをよりよく理解するために、脅威モデリングにより、従来のアーキテクチャやクラウドネイティブアーキテクチャとを比較してみましょう。脅威モデリングは、ユーザーはすべての潜在的な攻撃の可能性を評価してリスクを定義し、管理策を決定するための試みです。脅威モデルの一つであるSTRIDEでは、以下のようなカテゴリの脅威を特定しています。 ユーザーIDのなりすまし(Spoofing) データの改ざん(Tempering) ソースの否認(Repudiation) 情報漏洩(Information Disclosure) サービスの拒否(Denial of Service) 特権の昇格(Elevation of Privilege) AWSのベストプラクティスアーキテクチャ AWSでは、AWS上でWell-Architectedなアプリケーションを設計するための基礎となるツールを提供しています。AWS Well-Architected Frameworkは、AWSのベストプラクティスとワークロードを比較し、安定的かつ効率的なシステムを構築するためのガイダンスを得るための戦略を紹介しています。Well-Architected Frameworkには、セキュリティを含む5つの明確な柱が含まれています。このフレームワークを基に、ゼロトラストをAWSアーキテクチャに適用した例としてWebアプリケーションを考えてみましょう。 図1: Webサイトホスティングの例 表現されているアーキテクチャは、セキュリティを考慮したWell architectedの一例です。システムは、以下のサービスを活用して一般的な攻撃ベクターから保護されています。 Elastic Load Balancing (ELB)/Application Load Balancer (ALB)による負荷分散により、複数のアベイラビリティゾーンとAmazon Elastic Compute Cloud (Amazon EC2) Auto Scalingグループに負荷を分散し、サービスの冗長化と疎結合を実現します。 AWSのSecurity Groupを利用した仮想ファイアウォールでは、インスタンスにセキュリティを移動させ、Webサーバとアプリケーションサーバの両方にステートフルなホストレベルのファイアウォールを提供します。 […]

Read More

【開催報告】ISV/SaaS事業社向けAWS研修 : 今日から一緒にはじめよう!IT基礎知識 & AWS超入門セミナー

こんにちは!アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクトの加治(@Anorlondo448)です。 6/5, 6/12, 6/17, 6/25の4回に渡って、ISV/SaaS事業社向けAWS研修の第1弾となる「今日から一緒にはじめよう!IT基礎知識 & AWS超入門セミナー」を開催しました!こちらの開催報告と合わせてセミナーの内容の紹介や、今後開催される予定の研修内容について紹介したいと思います。 ISV/SaaS事業社向けAWS研修とは? 「SaaSと言えばAWS!」をスローガンに、複数回に渡ってISV/SaaS事業者様に向けてのAWS研修を実施します。 AWSでSaaSとして事業を展開されているお客様、これから構築を検討されているお客様が「SaaS on AWS」でさらに価値のあるサービスを提供できるようにサポートしていきます! まずは第1弾、6月は超入門編として「今日から一緒にはじめよう!IT基礎知識 & AWS超入門セミナー」を開催しました。 7,8月にはAWSの初級ハンズオンを企画中です。是非同僚お誘いあわせの上ご参加くださいませ!この6〜8月のセミナーは職種を問わず、AWSを今後ご利用される可能性のある方全てに向けたセミナーとなっておりますので、エンジニア職以外のマーケティング担当の方や営業担当の方もご参加頂けるとAWSについてご理解頂けると思います。 9月以降はエンジニア職の方に向けた中級〜上級ハンズオンを実施予定です。こちらはAWS上でスケーラブルなWebアプリを構築するハンズオンや、Container/Serverless/Mobileに特化したハンズオンを実施する予定です。 全てを受講していただくことをお勧めしますが、必ずしも全てを受講頂く必要はございません。 ご希望に合わせてコンテンツを選択頂ければと思います。 第1弾はWebサービス入門とAWS超入門 前半のWebサービス超入門はこれからクラウドを学んでいく方のために、Webサービスの概要や、基礎的な知識、発生する課題、クラウドの魅力について、Webサービスを支える基盤の目線から解説しています。もしかしたら参加者の中にはデータセンターやサーバラックを見たことが無い、という方もいたかもしれません。実際にこれらを知らなくても、クラウドがなぜ生まれたのか、クラウドが解決できる課題についてご理解頂けるようにイメージしてもらえる内容にしております。 後半のAWS超入門は、AWSがどのように生まれたのか?どのように進化しているのか?という点から、様々な業界で実際にAWSを利用してサービスを提供されている事例、AWSのサービスの紹介など、AWSをこれから知っていただくための第一歩の内容となっております。また今後どのようにAWSを活用していけばよいのか?どのように学んでいけばよいのか?わからない場合にどうすればよいのか?など、具体的な次の一歩についても紹介しております。 当日の模様 6月の4回開催でトータル626名の方にご参加いただきました。セミナー中には多くの質問も頂き、またSNS上(#SaaSonAWS)でも多くの投稿がありました^^ オンライン開催では中々皆様の顔が見えにくいところではありますが、今後のセミナーをより良いものにしていきたいと考えておりますので、バンバンFeedbackを頂ければと思います! たくさんのご質問をいただき皆様からの強い興味や熱い想いを感じることができました!回答を行ったISV/SaaS SAチームも大変大盛り上がりでした! 参加されたお客様の声 “難しい内容をわかりやすく説明していただき、技術担当ではない自分でもAWSを身近に感じることができました。” – 株式会社ゼンリンデータコム 人事部 副部長 藤田 綾子様 – “AWSでどんな事が出来るのか、可能性があるのかを説明していただき、 導入後も機能の成長、技術的な支援(コミュニティなど含む)が充実し安心して進めれると感じました。 是非、導入検討時には選定対象のサービスにします。ありがとう御座いました。” – 大興電子通信株式会社様 – “デモの実演や実際の構築例の話、AWSの勉強方法などイメージが掴みやすく、 有益に感じました。質疑応答時間とチャットで質問できることが一番面白かったです。 今後、初級・中級〜と進んでいくハンズオンがあるらしいので今から楽しみです” – 株式会社スカラコミュニケーションズ様 –   第2弾はAWS初級ハンズオン! 次回は7,8月に「AWS初級ハンズオン」を予定しております。 ハンズオンとなっておりますが、エンジニア職以外の方も対象とし、AWS上で簡単なアプリケーションを構築しながらAWSの楽しさを体感していただくことを目的としております。 こちらも複数回開催される予定ですので、ご都合の合う日程にて参加頂ければと思います!   […]

Read More

ユーティリティにおけるAWS IoTを用いた分析・可視化(北海道ガス株式会社の事例)

電気ガス水道などの公共事業において、設備をIoT化しクラウドと連携する動きは、日々加速しています。 ユーティリティ設備においてクラウドに繋がることによるメリットとしては、主に以下のようなものが挙げられます。 省人化によるコスト削減 点検、保守など、人が行っている作業の自動化・半自動化することによって、コスト削減が図られるケースがあります。例としては、保守が必要なタイミングをシステムが判断することで、施設への訪問回数の削減を行ったり、設備のリモート操作を可能にすることにより、訪問自体を無くすことが挙げられます。 新たな付加価値を利用者に提供 ガスの使用量などの情報を紙ではなく、電子化し、スマートフォンやPC上でいつでも確認できるようにしたり、ユーザーの利用傾向をインテリジェントに分析し、最適なプランや利用料を下げる方法があります。 この投稿では、一つの事例として、北海道ガス株式会社(以下、北ガス(読み方:キタガス))様の例を取り上げます。北ガス様は、AWS IoTのサービスを活用することで、大規模なインフラ構築の投資不要で、高速にPoCを実施しています。北ガス様の抱える課題と、その課題解決のためにどのようにAWS IoT のサービスを活用しているかについて、技術的な視点でご紹介したいとおもいます。 エネルギーサービス事業における課題 北ガス様は、北海道エリア内にて都市ガス事業・電力事業を主なビジネスとして手がける総合エネルギーサービス事業者です。持続可能な社会を支え、北海道に最適なエネルギー社会を創造するべく、ガス、電気、熱、再生可能エネルギーの最適利用と、デジタル技術の高度活用を通じて「持続性」「環境性」「経済性」に優れた新たなエネルギーシステムの構築を目指しています。近年では、デマンドサイドのエネルギーマネジメントによる省CO2・省エネルギーの推進を図るとともに、電気・冷温水を供給するエネルギーセンターを構築し、特定エリア内におけるエネルギーマネジメントを行うCommunity Energy Management System (CEMS)を導入・運用するなど、エネルギーに関わる広範なサービス事業を展開しています。 総合エネルギーサービス事業の展開にあたり、業務用分野においては、お客さまのガスや電気の使用量実績を把握するだけではなく、ボイラーや空調機器、暖房機器等、お客さまが実際に機器をどのように使い、室内環境がどのように変化したのかを把握するデマンドサイド(需要家側)のデータ収集が求められていました。 業務用機器を含むエネルギーシステムは、機器単体の性能・効率向上だけではなく、エネルギーシステム全体として、需要家側の最適利用や省エネを図る必要があり、こうした運用は需要家側に任されております。しかし、積雪寒冷地の北海道では、季節によってエネルギー負荷が大きく変化するため、需要家側で最適な運用ができていないケースが散見されていました。 お客さまの最適運用・省エネを支援するため、機器データや室内環境データを把握することは重要な取り組みと位置付けておりましたが、測定した様々なデータをクラウドにどのように集め、蓄積し、可視化するかに関しては、知見に乏しく、多くの課題がありました。 アーキテクチャの検討 この件に限らず、データ分析や機械学習のワークロードを進めるうえでは、過去の大量のデータが必要となる場合が多くあります。一方で、これからIoT化を進めるケースでは、過去のデータが存在しないケースがほとんどです。さらに、エネルギーサービスなどで分析に使える実データを集めるためには、季節変化等も考慮する必要があるため、データ収集には長い期間が必要となります。 今回のケースにおいても、最初に着手するべき事項として、データを集めて蓄積する部分に焦点を絞り、データ収集・分析基盤のアーキテクチャ設計と構築をすすめました。設計議論における観点は以下のようなところです。 保守・運用にかかる作業を最小化したい。コストを抑え、短期間でPoCを完了させ、次のステップへ進みたい。 蓄積したデータに対して、今後様々な活用が可能な状態にしたい。例えば機械学習やBIツール等を使う可能性を視野に入れる。(具体的な活用方法はこれから考えたい。) デバイスの設置場所は、Wi-Fiなどのインターネット環境が無い場合を想定している。 これらのポイントを考慮したうえで、以下のようなアーキテクチャを設計しました。 ハードウェア・通信環境 このPoCでは、上述のとおり、データの蓄積を主眼としているため、新たなハードウェアの開発は行わず、市販のデバイスを組み合わせてハードウェア環境を構築しています。クラウドへの通信、およびエンドポイントにはSORACOMを用い、そこからAWS IoT Coreへすべてのデータを送信しています。1つのゲートウェイに接続されている複数のセンサー情報が、1つのJSONドキュメント形式でまとめられており、それが一定時間間隔で送られます。 SORACOMからIoT Coreへのデータ送信では、クラウドリソースアダプタであるSORACOM Funnelを利用しています。ゲートウェイからのデータは、SORACOM Funnelを介して、アクセスキー認証によるHTTPS通信によりIoT Coreへ送信しています。本構成では、SORACOM Platform 上で認証情報を管理することで、物理的なハッキング対策を講じるとともに、ゲートウェイからSORACOM Platformまでは閉域網で通信することで、セキュアなIoTシステムを構築しています。 IoT Coreに送られたデータは、IoT Coreのルールエンジンによって、AWS IoT Analyticsへと送信されます。ルールの設定は数クリックで可能であり、SORACOMからIoT Coreへ送られるすべてのメッセージをIoT Analyticsに送る設定を行いました。今回のPoCで作成したルールは1つのみですが、ルールを増やすことによって、例えば、IoTデバイスから届いたデータの値が一定値を越えた場合にE-mailなどでアラートを通知したり、アプリケーション用のデータベースを更新するなど、柔軟に拡張することが可能です。 さて、IoT Analyticsにデータが届くと、IoT Analyticsは内部で、送られてきたJSONをパースし後段の分析で利用可能な形式への変換を行います。ここでは、IoT Analyticsのパイプラインに Lambda Activity を追加し、データが一定量もしくは一定期間蓄積されたら自動的にLambdaを呼び出す設定を行いました。Lambda関数の中で、JSONオブジェクトから必要なデータのみを抽出し、1つのオブジェクトに含まれる複数のセンサーデータの情報を配列に変換し、データストアに保存するようにしました。 分析 IoT Analyticsでは、データソースおよびデータセットの保存先としてS3を選択しています。S3を選択することにより、将来的にAthenaやGlueなどの分析系のサービスや外部ツールを利用し、より高度な分析も行うことが可能になります。 […]

Read More