Amazon Web Services ブログ

Amazon Redshift マテリアライズドビューを使用して AXS で Etleap モデルを高速化する

Amazon Redshift のマテリアライズドビュー機能は現在一般公開されており、2019 年 12 月からプレビュー中のお客様およびパートナーにメリットをもたらしてきました。当社のお客様の AXS は、米国、英国、欧州、および日本のライブエンターテインメント会場向けのチケット販売、データ、およびマーケティングの分野における主要なソリューションプロバイダーです。Amazon Redshift パートナーである Etleap は、AWS 用に構築された抽出、変換、ロード、および変換 (ETLT) のサービスです。AXS は Etleap を使用して、ファイルサーバー、Amazon S3、リレーショナルデータベース、アプリケーションなどのさまざまなソースから Amazon Redshift にデータを取り込みます。これらの取り込みパイプラインは、適切な列タイプおよび並べ替えキーと分散キーを使用して、データを分析および構造化し、Amazon Redshift テーブルにロードします。 Etleap モデルでダッシュボードのパフォーマンスを改善する データを分析するために、AXS は通常、複数のソースから発生する大きなテーブルに対してクエリを実行します。AXS による Amazon Redshift の使用形態の 1 つとして、インタラクティブなダッシュボードを強化することを挙げることができます。ダッシュボードのロード時間を短縮するために、AXS は、ダッシュボードが使用するクエリに対する部分的な回答を事前にコンピューティングします。これらの部分的な回答は、行数の点において、当該回答が基づくテーブルよりも数桁小さくなります。ダッシュボードは、事前にコンピューティングされた部分的な回答を保持する Amazon Redshift テーブルをクエリすることによって、ベーステーブルを直接クエリする場合よりもはるかに高速にロードできます。 Etleap は、models と呼ばれる機能を通じて、このような事前コンピューティングの作成と管理をサポートしています。モデルは、SELECT クエリと更新時期のトリガーで構成されます。トリガーの例は、ベーステーブル、つまりモデルを定義する SELECT ステートメントが使用するテーブルへの変更です。このようにして、モデルはベーステーブルとの一貫性を保つことができます。 次のスクリーンショットは、2 つのベーステーブルの依存関係を持つ Etleap モデルを示しています。 Etleap は、モデルを Amazon Redshift のテーブルとして表します。モデルテーブルを作成するために、Etleap は、CREATE TABLE […]

Read More

Amazon Translate、AWS Lambda、および、新しいバッチ翻訳 API を使ってのドキュメント翻訳

ビジネスや個人向けに、世界中で共有されるデジタルのテキストドキュメントの数が増加し続けている中、翻訳機能への要求はさらに強まってきています。オンライン上には、ユーザーがテキストをコピー&ペーストすればその内容を希望の言語に翻訳できるツールが複数存在します。(分量に限度があり) その場しのぎで テキストを翻訳するのであれば、これも非常に有用だと言えますが、頻繁にこれを行うとなれば、退屈で時間だけがかかる仕事になります。 各組織では、製品やサービスを説明するためのコンテンツを大いに活用することで、問い合わせの方法を顧客に知らせたり、事業上の訴求ポイントなどを広告しています。こういったコンテンツでは、しばしばテキスト量が増えがちで、また、ほとんどは母国語で記述されているでしょう。その言語についての十分な知識のないユーザーが内容を理解しようとすることはやっかいなことです。そして、企業と顧客との関係においても、直接的な影響を与える可能性があります。ドキュメント一式をある言語から別な言語に素早くコスト効率良く翻訳できる、自動化されたソリューションが求められています。 このブログ記事では、ドキュメント翻訳に関する 2 つのソリューションについて解説していきます。その 1 つは、収集したドキュメントに非同期のバッチ翻訳を行うシンプルな翻訳手法のアプローチで、もう一方は、AWS Lambda と Amazon のリアルタイム翻訳を使い、ドキュメントを入手する度に同期的に翻訳を行う、より進んだアプローチです。お客様は、必要に応じ最適な方を選び、ご使用いただけます 同期バッチ翻訳を使うシンプルなアプローチ Amazon Translate は、現実的な価格で迅速かつ高品質な翻訳を実現するニューラル機械翻訳サービスです。ニューラル機械翻訳は、深層学習モデルを応用した自動翻訳の一形態です。これによれば、従来の統計学や規則をベースにした翻訳アルゴリズムと比べて、正確かつ自然な響きのある翻訳を提供できますこの翻訳サービスは、多様なコンテンツにも適格に対応するため、異なるユースケースやドメイン間での多様な文章を使ってトレーニングされています。この詳細については、Amazon Translate の製品ページをご参照ください。 近頃、Amazon Translate では、大量に集積したテキストや HTML ドキュメントの翻訳に使える、非同期のバッチ翻訳機能を公開しました。これにより、1 回の API 呼び出しのみで、ドキュメント一式をある言語から別な言語に翻訳できます。非同期バッチ翻訳を使うことで、ドキュメントやチュートリアル素材、あるいはブログなどを、日ごとに希望の言語に翻訳しローカライズすることが可能です。さらに、バッチ翻訳ジョブの進行状況をモニタリングしたり、指定した出力フォルダーから翻訳結果を取得することもできます。それでは、非同期バッチ翻訳の使用方法を確認していきましょう。 Amazon Translate のバッチ翻訳を試すために、ここでは、次に示すような 3 つのテキストファイルを使用します。 これらのテキストファイルは、こちらからダウンロードできます。 テキストファイル 1: Amazon Translate is a neural machine translation service that delivers fast, high-quality, and affordable language translation. テキストファイル 2: Neural machine translation is […]

Read More

Amazon DocumentDB (MongoDB 互換) で $dateFromString と executionStats を使用する

Amazon DocumentDB (MongoDB 互換) は、MongoDB のワークロードをサポートする高速でスケーラブル、かつ可用性に優れた完全マネージドのドキュメントデータベースサービスです。Amazon DocumentDB では、JSON データの保存、クエリ、およびインデックスの作成を簡単かつ直感的に行うことができます。Amazon DocumentDB を初めて使用する場合は、「Amazon DocumentDB (MongoDB 互換) でのランプアップ」をご覧ください。 Amazon DocumentDB では、MongoDB との互換性の改善を続けています。このブログを執筆している時点で、Amazon DocumentDB には 2 つの新機能を新たにサポートしています。 $dateFromString は、ドキュメントに対して強力な集計を作成できる集計パイプライン演算子です executionStats モード (explain() 用) は、クエリプラン内の各ステージの詳細な実行統計を提供します。 Amazon DocumentDB のサポートされている MongoDB API と集計パイプライン機能の詳細については、「サポートされている MongoDB API、オペレーション、およびデータ型」をご参照ください。 この投稿では、$dateFromString と executionStats のユースケースについて解説し、サンプルコードを介してこれらの新機能の使用方法をご紹介します。 $dateFromString $dateFromString 集計パイプライン演算子は、文字列形式の日付を DATE データ型に変換できます。$dateFromString は $dateToString の逆演算子です。 $dateFromString のしくみを理解するために、この投稿では、ビデオゲーム内で発生したイベントの日時を記録するサンプルデータセットを使用しています。ビデオゲームはイベントを文字列として記録しますが、アプリケーションはイベントフィールドを DATE データ型として分析できる必要があります。文字列から日付への変換を実行するには、$dateToString 集計演算子を使用します。 […]

Read More

AWS SFTP 環境のモニタリング

世界中の組織は、セキュアシェル (SSH) ファイル転送プロトコルとも呼ばれるセキュアファイル転送プロトコル (SFTP) を使用して、ビジネスニーズを満たすためにファイルを共有します。SFTP は、既存のシステム間でのデータの簡単かつ安全な移動を可能にする確立されたプロトコルです。これがない場合、当該システムにおいて、一般的なインターフェイスメカニズムを見つけるのに問題が生じる可能性があります。特定の組織は SFTP 環境を運用していますが、エンドユーザーのアクティビティについての優れた可視性を欠いています。組織がオンボードするユーザーとアプリケーションは増加していくため、組織は、重要な運用メトリックについての適切な可視性と当該メトリクスへの迅速なアクセスを確保したいと考えています。 この機能は、AWS Transfer for SFTP (AWS SFTP) を用いることにより、簡単に実現できます。AWS SFTP はフルマネージド型のサービスであり、Amazon Simple Storage Service (Amazon S3) バケットとの間でファイルを直接転送でき、数分で起動できます。金融サービス、小売、医療などの多くの業界のお客様は、SFTP 要件に対する非常にスケーラブルで利用可能なソリューションとしてこのサービスを採用しています。 この投稿では、シンプルな Amazon CloudWatch Dashboard を作成して、SFTP サービスに関する情報を表示する方法を紹介します。接続しているユーザーの数、アップロードおよびダウンロードされたファイル、転送されたデータの量、エラーなどの情報を表示できます。CloudWatch Logs に送信されたログを解析し、CloudWatch Log Insights を使用して、ウィジェットで視覚化する動的クエリを構築します。このダッシュボードを使用することにより、ユーザーがサービスとどのようにインタラクションしているかについてより深い洞察を得て、傾向や異常をすばやく特定できます。 ステップ 1: AWS SFTP サーバーを作成する 開始する前に、AWS SFTP エンドポイントが必要です。これにより、トラフィックを生成してログを作成できます。CloudWatch ログ記録ロールで正しく設定された既存の AWS SFTP サーバーが実行されている場合、この部分をスキップできます。 AWS SFTP サーバーを作成する方法の詳細については、「AWS Transfer for SFTP を開始する」をご覧ください。 「SFTP […]

Read More

Amazon CodeGuru Profiler でパフォーマンスの問題を調査する

Amazon CodeGuru (プレビュー) は、アプリケーションのパフォーマンス特性を分析し、それを改善する方法を自動的に推奨します。Amazon CodeGuru Profiler は、アプリケーションで時間が費やされている部分をインタラクティブに視覚化します。このフレームグラフは、どのコードメソッドが遅延を引き起こしているのか、CPU を過度に使用しているのかをトラブルシューティングするのに役立つ強力なツールです。この記事では、フレームグラフを解釈する方法を説明し、次の場合にどう使用したらよいかを示します。 アプリケーションのパフォーマンスプロファイルを分析し、それが既知のコードとどのように関連しているかを理解する プロファイル内の明らかな異常を見つける レイテンシーの問題を調査する CPU 使用率の最適化とコスト削減の機会を探す アプリケーションを分析する プロファイリンググループを開く アプリケーションのプロファイリングを開始する前に、デモアプリケーションのおかげで、セットアップなしで CodeGuru Profiler をすぐに使用開始できます。AWS アカウントを持っている人なら誰でもご利用いただけます。デモアプリケーションにアクセスするには、Amazon CodeGuru コンソールで、[Profiler]、[Profiling groups] を選択します。この記事では DemoProfilingGroup-WithoutIssues を使用しています。 [Profiling groups] ページから選択すると、フレームグラフが表示されます。次のスクリーンショットは、この特定のデモアプリケーションのフレームグラフを示しています。 フレームグラフとは何ですか? フレームグラフは、スタックトレースで表示される方法と同様に、階層的な方法で示されます。CodeGuru Profiler は、一定期間 (5 分など) にアプリケーションで実行されているコードからスタックトレースのスナップショットを定期的に取得し、1 度の視覚化で表示します。フレームと呼ばれる水平バーは、各メソッドを表します。CodeGuru Profiler がスタックトレース内のメソッドを頻繁に見るほど、グラフ内のフレームが広くなります。十分なサンプルを用いることで、アプリケーションが各メソッドに費やす時間の割合を確認できます。 フレームグラフには、時間に関する 2 つの概念があります。 CPU の稼働時間 – プロセッサがそのメソッドでアクティブに動作していた時間を表したもの。表示するには、CPU ビューモードを使用します。 実際の経過時間 – これは、稼働時間に加えて、プロセスが待機していた時間も考慮します。表示するには、レイテンシービューモードを使用します。 デモアプリケーションが行っていること 視覚化により何が表示されるかを理解するには、実際にプロファイルされたアプリケーションが何をしているかを知るのがよいでしょう。 このデモアプリケーションでは、2 つの個別のスレッドを実行しています。スレッドの 1 […]

Read More

AWS Educateでクラウド学習コンテンツに自宅から今すぐアクセス

今、多くの学生の皆さんが長い時間を家で過ごされていると思います。私達も同じです。そういう時間を利用してクラウドの学習を始めてみませんか?AWSは無料で利用できる学習リソースを数多く提供しています。特に学生の方には手厚いプログラムが用意されています。 ここでは教員・学生(14才以上)の方が自由に参加できる学習プログラムAWS Educateでできること、在宅学習や在宅勤務に活用いただけるAWSのサービスを紹介します。 オンライン学習コースでクラウドを学ぶ AWS Educateに参加し学生のポータルにログインすると、将来就きたい職業に合わせてデザインされたオンライン学習コース(パスウェイ)があります。クラウドの基本をゼロから学ぶCloud Computing101から始め、マシンラーニング、データサイエンティストといったコースを選択して学習することができます。また特定のテクノロジー(IoT、DeepRacer、Alexaなど)に特化した学習(バッジのコース)を行うこともできます。パスウェイは日本語を含む10の言語に対応しています(所要時間は各パスウェイで30〜40時間程度)。バッジはわかりやすい英語の学習コンテンツになっています。(所要時間10時間程度) パスウェイとバッジのご紹介ページ 【パスウェイの例】       【バッジの例】         学生がパスウェイまたはバッジでの学習を終了すると、デジタル資格が学生のポートフォリオに表示されます。 またAWS Educateのメンバーにはクレジットカードの登録をせずに利用できる学習用のAWSアカウント(スターターアカウント)が提供され実際にクラウドを使ってみることも可能です。           AWS Educateのクラスルーム機能 教員用ポータルのクラスルームとクレジット機能を使うと、学生が実践的な環境でクラウドについて学ぶための仮想スペースを作成できます。各教室は、クラウドの基本、ビッグデータ、機械学習など、さまざまなトピックに合わせて用意された環境(特定のサービスを使う環境、クラス専用の追加クレジット)をクラスの参加者に提供できます。クラスルーム機能の他に学生をAWS Educateに招待したり、自身のクラス運営のための追加クレジットをリクエストする機能もご利用いただけます。 その他、在宅学習や在宅勤務に活用いただけるAWSのサービス 在宅勤務や在宅学習をできるサービスとして、以下のようなサービスがあります。 Amazon Chime 組織の内外で会議、チャット、および業務上の音声・ビデオ通話や画面シェアを行うことを可能にする従量課金制のサービスです。一度に100名まで会議に参加することができますので説明会やセミナーなどにもご利用いただけます。 Amazon WorkSpaces 自宅からのリモート業務をサポートするセキュアな仮想デスクトップサービスです。ユーザーは、時間と場所を問わず、ほぼすべてのコンピュータから職場・学校内のコンピューティングのデスクトップにアクセスできます。 Amazon AppStream 2.0 アプリケーションへのリモートアクセスを提供する必要がある場合、Amazon AppStream 2.0 を使用すれば、コンピュータ支援設計 (CAD)、メディア編集、統計処理などをデータを移動させずに自宅のコンピュータにアプリケーションを配信できます。 Amazon Connect 簡単にクラウド上に電話用のコンタクトセンターを構築できるサービスです。 AWSでは学術機関向けの助成や契約方法に関するご相談を承っています。お気軽にお問い合わせください。 在宅勤務全般のご支援についてより詳しく書かれたこちらのポストも是非ご参照ください。 問い合わせ窓口:aws-jpps-qa@amazon.com パブリックセクター エデュケーションプログラム担当 澤

Read More

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

みなさんお元気ですか? 今年からゲーム開発のコンサルティングパートナーや ISV といったテクノロジーバートナーと AWS との連携強化を担当している AWS ソリューションアーキテクトの保里 善太です。 ところでみなさん、Perforce Helix Core はお使いですか? Perforce は高速な同期操作を特徴とする商用のバージョン管理システムであり、主にゲーム業界等の開発現場で多く利用されています(導入企業)。 多くの現場では Perforce はオンプレミスのマシンで稼働していますが、この記事では AWS 上で Perforce を構築することの利点を解説し、実際の構成案と構築方法を紹介します。構築にあたっては AWS CloudFormation テンプレートも用意しています。Perforce の導入にあたっては無料の Perforce Helix Core Studio Pack for AWS というプログラムも用意されてます。 3回に分けてシリーズ化してお送りします。   Perforce Helix Core とは? バージョン管理システム (VCS) の代表的なものとして、Git、Subversion (SVN)、CVS、Mercurial、そして Perforce などがありますが、それぞれには特徴的な性質があります。バージョン管理システムには、大きく分けてソースコード等を中央集権的にマスターサーバで管理する集中型 (Subversion、CVSなど) と各開発者のローカル PC にソースコードを保存し必要な時に共有する分散型 (Git、Mercurialなど) とに大きく分かれます。この中で Perforce Helix Core […]

Read More

AWS License Managerをつかってライセンス使用数を管理する方法

AWS License Manager を使うことで、ソフトウェアライセンスを効率的にクラウドに持ち込むことができます。AWSでサードパーティのライセンスを使ったアプリケーションを構築したり、オンプレミスのワークロードをAWSに移行したりする際、BYOL(bring-your-own-license)を用いてコストを節約可能です。これはすでにお持ちのソフトウェアライセンスをクラウドリソースとして再利用することによって実現されます。今回は、AWS License Manager を使用して、一元的にこれらのライセンス使用数を管理する方法についてご説明します。

Read More

時系列データ可視化のための InfluxDB、Grafana、AWS IoTの連携

IoTには様々な種類の実装がありますが、多くのアプリケーションでは、大量のテレメトリーデータ収集します。インダストリアルやヘルスケア、コンシュマー製品、ロジスティクスなどにおいて、IoT のテレメトリーデータは非常に時刻に依存しています。 多くの IoT ソリューションでは、データの収集やレポートのタイミングが重要になります。例えば、アノマリー検出や予兆保全のための属性分析においては、異常発生時や発生の予兆が出たときのイベントが、正確に保存され、わかりやすく資料化されることが必要です。 時系列システムは、個々の IoT デバイスレベルで考えるだけでなく、 IoT アプリケーション全体で考えることが重要です。 たとえば、工場のフロアでは、ベルトコンベアの速さと、その瞬間の搬送力と、それに伴う部品の重量が、ベルトドライブから得られるデータのみを利用するよりも、より良いベルト故障の指標を提供することができることがあります。 また、特定の障害が起こる直前のイベント/データは、データの時間変化をチャートにすることでより多くの洞察が得られることもあります。 こういった時系列データを扱う IoT アプリケーションでは、デバイス間、またはセンサーとゲートウェイソフトウェア(AWS Greengrassなど)間の時間ドリフト(進みや遅れなど)を考慮した管理が不可欠です。 IoT アプリケーション全体の時間ドリフトを管理する効果的な方法としては、各テレメトリデータのペイロードの取り込みに AWS IoT Core を使用し、取り込み時のタイムスタンプを付加することです。 覚えておくべき点として、AWS IoT Core は取り込まれたデータの順序を保証しません。そのため、取り込み時にタイムスタンプを付加する場合においても、IoT デバイス/センサーから送られるデータペイロードに対して、純増するシーケンス番号(可能であればタイムスタンプも)を付加することがベストプラクティスです。 このブログでは、時系列データを扱う IoT ソリューションの開発方法の例として、基本的な AWS IoT コンポーネントと時系列データに最適化された InfluxDB インスタンスを使用し、テレメトリデータを保存する方法を紹介します。また、Grafana と呼ばれる時系列視覚化ツールもセットアップします。 なお、InfluxDB と Grafana はどちらもオープンソースです。 AWS IoT Device Simulator は、高頻度の時系列データを生成します。 データは AWS IoT Core に取り込まれ、Lambda 関数がルールエンジンによってトリガーされて、データを時系列専用データベースに挿入します。 この例では、AWS CLI と InfluxDB […]

Read More

AWS Snowball デバイスの更新 – エッジがさらに進化

2015 年以来、AWS Snowball サービスを利用して、大量のデータを AWS クラウドに移行してるお客様がおられます。サービスはますます進化しており、今回、新しい機能を導入しました。これには、オンボードコンピューティングとストレージ容量の増加を特徴とする AWS Snowball Edge デバイスを含んでいます。AWS Snow ファミリーは、お客様のニーズを満たすためにも革新を続けています。こうした革新の中に、古いハードウェアデバイスから新しいハードウェアデバイスへ計画的に移行できる機能があります。たとえば、初期の AWS Snowball ハードウェア設計の使用を止め、より高度な Snowball Edge ハードウェアデバイスを選択しました。この新しいデバイスは、2020 年 4 月 7 日より、アジアパシフィック (シンガポール) と中国本土リージョンを除いた、すべての商用 AWS リージョンおよび AWS GovCloud (US) リージョンで開始予定です。 AWS Snowball コンソールでお知らせしているとおり、2020 年 4 月 7 日以降、AWS Snowball サービスはデータ転送ジョブに Snowball Edge Storage Optimized デバイスを使用します。第一世代の 50 TB および 80 TB の Snowball ハードウェアは、2020 年 […]

Read More