Amazon Web Services ブログ

Amazon DynamoDB スキャンパフォーマンスに対する Python バージョンの影響の分析

Amazon DynamoDB は、柔軟なスキーマを使用できる NoSQL データベースです。これは、項目それぞれにどのような属性が存在するかという点で、同じテーブル内の項目が互いに異なることを意味します。 前の AWS ブログ記事では、項目あたりの属性数の影響について検証しましたが、私たちは先日、お客様の Python アプリケーションにおけるスキャンが遅いという問題を解決するお手伝いをしていた時、Python バージョンのアップグレードがパフォーマンス向上に役立つかどうかを確認するために、異なるバージョンの Python インタプリタを調べました。 この記事では、Python インタプリタのバージョンがスキャンパフォーマンスにどのように影響し得るかをお見せしたいと思います。 手法 パーティションキーとソートキー (どちらも文字列) で構成されるプライマリキーというシンプルな構造の DynamoDB テーブルを 1 つ作成しました。また、それぞれに 7 文字のキー名 (「field01」、「field10」、など) を含む、個別の 6 文字の文字列属性 24 個 (6 x 24 = 合計 144 文字) で構成されるもうひとつの DynamoDB テーブルも作成しました。 DynamoDB には、単一のリクエストで取得するデータの量に 1 MB の上限があるので、ランダムなデータ 10,000 項目でテーブルをシードしてから、1 MB の上限内に収まるだけの項目を取得する単一のスキャンを実行します。その後、クライアント側でこれらの項目を取得し、アンマーシャルするためにかかる時間を測定します。 ウォークスルー 以下は、Python バージョンの比較に関する典型的な質問です。 Python のあるバージョンを使用する場合と、別のバージョンを使用する場合とでは、どのようにパフォーマンスが変化するのか? […]

Read More

Amazon Comprehend を使用してカスタムエンティティレコグナイザーを構築する

Amazon Comprehend は、非構造化テキストからキーフレーズ、場所、名前、組織、イベント、さらには感情の抽出などが行える自然言語処理サービスです。 お客様は通常、独自の部品コードや業界固有の用語など、ビジネスに固有の独自のエンティティタイプを追加することを望みます。2018 年 11 月、Amazon Comprehend の機能強化により、デフォルトのエンティティタイプをカスタムエンティティに拡張する機能が追加されました。さらに、カスタム分類機能により、ドキュメントを名前が付けられたカテゴリーにグループ化できます。たとえば、サポート E メールを部署ごとに、ソーシャルメディア記事を製品ごとに、または分析レポートを事業単位ごとにグループ化することができます。 概要 この記事では、カスタムエンティティレコグナイザーの構築方法について説明します。事前の機械学習の知識は必要ありません。カスタムエンティティレコグナイザーをトレーニングする前に、データを圧縮、フィルタリング、およびクリーンアップする必要がある例を示します。それ以外の場合は、次のステップバイステップの手順に従うだけで済みます。この手順は、データセットをすでに準備した状態で始めます。 この例では、Kaggle でホストされている Twitter のカスタマーサポートのデータセットを使用します。 データセットは主に短い発話で構成されています。これは、顧客とサポート担当者との間のチャット会話の典型的で一般的な例です。Twitter データセットからの発話のサンプルを次に示します。 @AppleSupport で返信が無視され、キーボードの下のタップされた通知が開きます?😡😡 @SpotifyCares ありがとう! Samsung Galaxy Tab A (2016) モデル SM-T280 のアンカー bluetooth スピーカーのバージョン 8.4.22.857 armv7 スピーカーからの距離が問題なのでしょうか? データをフィルター処理し、「TMobileHelp」と「sprintcare」を含むツイートのみを保持して、特定のドメインとコンテキストに集中できるようにしました。comprehend_blog_data.zip ファイルからコンピューターにデータセットをダウンロードして解凍します。 チュートリアル この例では、iPhone および Samsung Galaxy 携帯電話に関する情報を抽出するカスタムエンティティレコグナイザーを作成します。現在、Amazon Comprehend は両方のデバイスを「市販品」として認識しています。 このユースケースでは、より具体的にする必要があります。 特にスマートフォンデバイスを抽出できる必要があるため、抽出されたデータを一般的な市販品に制限すると効率的ではありません。この機能により、サービスプロバイダーはツイートからデバイス情報を簡単に抽出し、問題を関連するテクニカルサポートチームにルーティングすることができます。 Amazon Comprehend コンソールで、デバイスのカスタムエンティティレコグナイザーを作成します。[レコグナイザーをトレーニング] を選択します。 名前と、DEVICE などの [エンティティタイプ] […]

Read More

[AWS Black Belt Online Seminar] Amazon Aurora with PostgreSQL Compatibility 資料及び QA 公開

先日 (2019/8/28) 開催しました AWS Black Belt Online Seminar「Amazon Aurora with PostgreSQL Compatibility」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。   20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatibility from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. サブネットグループで、AZを2つだけグルーピングしていた場合でも、ストレージ(データ)は、3つのAZに書込みされるのでしょうか? A. はい。サブネットグループの設定に関わらず、Amazon Aurora は自動的に 3 つのアベイラビリティーゾーンにかけて 6 個のデータコピーを保持します。サブネットグループには、プライマリインスタンス(Writer), Aurora レプリカ(Reader)を配置するために利用します。 Q. リードレプリカについては、追加インスタンス毎に、インスタンスタイプを変えることは可能という認識であっていますか? A. はい。ご認識の通り可能です。ただし、プライマリインスタンスとリードレプリカは同じインスタンスクラスを利用することを推奨しています。レプリカの追加方法についてはこちらのドキュメントをご確認ください。 Q. RDS for PostgreSQL を選択するメリットは、どういうものがあるでしょうか? A. […]

Read More

[発表] Lambda 関数が VPC 環境で改善されます

本投稿は AWS サーバーレス アプリケーションのプリンシパルデベロッパーアドボケートであるChris Munnsによる寄稿です。 元の投稿からの更新情報: 2019年11月28日(PST):  次のリージョンに対して、元の投稿に記載されている改善を完全に展開しました:中東(バーレーン)。 2019年11月25日(PST):次のリージョン、米国東部(バージニア北部)、米国西部(オレゴン)、カナダ(中央)、EU(ロンドン)、EU(ストックホルム)、およびアジア太平洋(香港)に対して、これらのリージョンのすべてのAWSアカウントには、元の投稿で概説した改善を展開しました。 2019年11月6日(PST):次のリージョン、米国西部(北カリフォルニア)、EU(アイルランド)、EU(パリ)、アジア太平洋(ムンバイ)、アジア太平洋(ソウル)、アジア太平洋(シンガポール)、アジア太平洋(シドニー)、南アメリカ(サンパウロ)に対して、これらのリージョンのすべてのAWSアカウントには、元の投稿で概説した改善を展開しました。 2019年9月27日(PST):米国東部(オハイオ)、欧州(フランクフルト)、およびアジア太平洋(東京)の地域へ完全に展開しました。これらのリージョンのすべてのAWSアカウントには、元の投稿で概説した改善を展開しました。 既知の問題(2019年10月4日(PST)に更新): HashiCorp Terraformを使用している場合、サブネット、セキュリティグループ、VPCなどのVPCリソースは、この新しいモデルでのENIの動作方法の変更により破棄に失敗する可能性があります。この問題を解決するための手順と、詳細についてはこちらをご覧ください。 2019年9月3日(PST)の元の投稿: AWS Lambda 関数が Amazon VPC ネットワークでどのように機能するかが大幅に改善されたことをお知らせします。 2019年9月3日(PST)のローンチ機能により、関数の起動パフォーマンスが劇的に改善され、Elastic Network Interface がより効率的に使用されるようになります。 これらの改善は、すべての既存および新しい VPC 接続の関数に追加費用なしで展開されています。 ロールアウトは 2019年9月3日(PST)から始まり、すべてのリージョンで今後数か月にわたって徐々に展開されます。 Lambda は2016年2月に初めて VPC をサポートし、AWS Direct Connect リンクを使用して VPC またはオンプレミスシステムのリソースにアクセスできるようになりました。 それ以来、お客様が VPC 接続を広く使用して、さまざまなサービスにアクセスしているのを見てきました。 Amazon RDS などのリレーショナルデータベース Redis 用 Amazon ElastiCache または Amazon Elasticsearch Service などのデータストア Amazon EC2 または […]

Read More

Amazon SageMaker RL で継続的な学習を使用してコンテキストバンディットを強化する

Amazon SageMaker は、開発者やデータサイエンティストがあらゆる規模の機械学習モデルを短期間で簡単に構築、トレーニング、デプロイできるようにするモジュラー式完全マネージド型サービスです。 トレーニングモデルは、組み込みの高性能アルゴリズム、構築済みのディープラーニングフレームワークのセットや、独自のフレームワークを使用して、迅速かつ簡単に構築できます。 機械学習 (ML) アルゴリズムの選択を支援するために、Amazon SageMaker には、インストール済みでパフォーマンスが最適化された最も一般的な ML アルゴリズムが付属しています。 教師ありおよび教師なし学習手法を使用した機械学習モデルの構築に加えて、Amazon SageMaker RL を使用して Amazon SageMaker で強化学習モデルを構築することもできます。Amazon SageMaker RL には、強化学習の開始を容易にする、事前に構築された RL ライブラリとアルゴリズムが含まれています。GitHub には、Amazon SageMaker RL をロボットと自律走行車のトレーニング、ポートフォリオ管理、エネルギー最適化、自動容量スケーリングに使用する方法を示した例がいくつかあります。 このブログ記事では、Amazon SageMaker RL を使用してコンテキストを考慮したマルチアームバンディット (または略してコンテキストバンディット) を実装し、ユーザー向けにコンテンツをパーソナライズする方法を紹介します。コンテキストバンディットアルゴリズムは、おすすめをクリックしたかどうかなどのおすすめに対するユーザーの応答から学習することにより、ユーザー (ゲーマーやハイキング愛好家など) にさまざまなコンテンツオプションをおすすめします。このアルゴリズムでは、データの変化に適応するために機械学習モデルを継続的に更新する必要があり、Amazon SageMaker で反復トレーニングとデプロイループを構築する方法を説明します。 コンテキストバンディット パーソナライズされたウェブサービス (コンテンツレイアウト、広告、検索、製品のおすすめなど) のような多くのアプリケーションは、多くの場合、いくつかのコンテキスト情報に基づいて、継続的に決定を下す必要に迫られます。これらのアプリケーションは、ユーザー情報とコンテンツ情報の両方を利用して、個人向けにコンテンツをパーソナライズする必要があります。たとえば、彼女がゲーム愛好家であることに関連するユーザー情報と、そのゲームがレーシングゲームであることに関連するコンテンツ情報です。これらのアプリケーションを可能にする機械学習システムには、2 つの課題があります。ユーザーの好みを学習するためのデータはまばらで偏っています (多くのユーザーはほとんどまたはまったく履歴を持たず、過去におすすめされた製品も多くありません)。また、新しいユーザーとコンテンツが常にシステムに追加されています。パーソナライゼーションに使用される従来の Collaborative Filtering (CF) ベースのアプローチは、まばらで偏っているデータセットと現在のユーザーとコンテンツのセットに対して静的な推奨モデルを構築します。一方、コンテキストバンディットは、既知の情報の exploiting (ゲーム愛好家へゲームをおすすめすること) と、おすすめの exploring (ゲーム愛好家にハイキング用具をおすすめすること) との間でトレードオフを行うことで、戦略的な方法でデータを収集および増強します。これにより、高い利益が得られる可能性があります。バンディットモデルはユーザー機能とコンテンツ機能も使用するため、同様のコンテンツとユーザーの好みに基づいて、新しいコンテンツとユーザーにおすすめを作成できます。 先に進む前に、いくつかの用語を紹介しましょう。コンテキストバンディットアルゴリズムは、反復プロセスによって特徴付けられます。agent が選択できる (arm または […]

Read More

AWS CloudFormation を使用して Amazon Redshift クラスターの作成を自動化する

この投稿では、AWS アカウントで Amazon Redshift クラスターのデプロイを自動化する方法について説明します。セキュリティと高可用性に関する AWS のベストプラクティスに基づいてクラスターの設定を促進することで、AWS CloudFormation を使った設定を速やかに行うことができるようになります。 必要に応じてカスタマイズできる CloudFormation の一連のサンプルテンプレートを見ていきます。 Amazon Redshift は、高速かつスケーラブルで完全マネージド型の ACID と ANSI SQL に準拠したクラウドデータウェアハウスサービスです。新しいデータウェアハウスの設定とデプロイをほんの数分で行い、Amazon Redshift に保存されているペタバイト規模の構造化データに対してもクエリを実行できます。Amazon Redshift Spectrum を使用すると、データウェアハウジング機能が Amazon S3 に構築したデータレイクに拡張されます。Redshift Spectrum では、データをロードすることなく、エクサバイトの構造化および半構造化データをネイティブ形式でクエリできます。Amazon Redshift は、機械学習、巨大な並列クエリ実行、高性能ディスクのカラムナストレージを使用することで、他のデータウェアハウスデータベースよりも高速なパフォーマンスを実現します。Amazon Redshift を設定すれば、数分でスケールの拡大縮小が行えるだけでなく、コンピューティング能力を自動的に拡張して、無制限の同時実行を確実に行うことができます。 Amazon Redshift から開始し、AWS Well-Architected フレームワークの推奨ベストプラクティスに基づいて AWS リソースを設定する場合には、こちらで提供する CloudFormation テンプレートを使用できます。モジュラーアプローチでは、AWS インフラストラクチャをゼロから構築するか、既存の仮想プライベートクラウド (VPC) に Amazon Redshift をデプロイするかのいずれかを選択できます。 CloudFormation テンプレートを使用する利点 AWS CloudFormation テンプレートを使用すれば、何百にもおよぶ手動での手順を、テキストファイルにある少しの手順にまとめることが可能です。ファイル内の宣言コードは、作成するリソースの意図した状態をキャプチャし、数百の AWS […]

Read More

GoldenGate を使用したリアルタイムでの Oracle OLTP データの抽出と Amazon Athena からのクエリ

この記事では、レポート作成ワークロードをオンライントランザクション処理 (OLTP) データベースから Amazon Athena および Amazon S3 にオフロードすることによってパフォーマンスを向上させ、コストを削減できる方法について説明します。説明するアーキテクチャはレポート作成システムを実装するもので、到着時にクエリできるようにして、受け取るデータを理解することを可能にします。このソリューションでは以下が行われます。 ソース上で変更が行われるたびに、Oracle GoldenGate がターゲットに新しい行を生成し、緩やかに変化するディメンションのタイプ 2 (SCD タイプ 2) データを作成します。 Athena が SCD タイプ 2 データでのアドホッククエリの実行を可能にします。 最新のレポート作成ソリューションの原則 高度なデータベースソリューションは、コスト効率の良いレポート作成ソリューションを構築できるように原則のセットを使用します。これらの原則には以下のようなものがあります。 OLTP からレポート作成アクティビティを分離する。このアプローチは、リソースの分離を提供し、データベースがそれぞれのワークロードをスケールできるようにします。 Hadoop Distributed File System (HDFS) および Amazon S3 などのクラウドプロジェクトストアといった分散ファイルシステムの上で実行されるクエリエンジンを使用する。オープンソース HDFS とクラウドオブジェクトストアの上で実行できるクエリエンジンの到来は、専用レポート作成システムの実装コストをさらに削減します。 また、レポート作成ソリューションの構築時にはこれらの原則を使用できます。 商用データベースのライセンスコストを削減するため、レポート作成アクティビティをオープンソースデータベースに移動させる。 ソースシステムからの OLTP データをレプリケートでき (リアルタイムモードが望ましい)、データの現行ビューを提供する、ログベースでリアルタイムの変更データキャプチャ (CDC) を使用したデータ統合ソリューションシステムを使用する。ソースおよびターゲットのレポート作成システム間におけるデータレプリケーションは、CDC ソリューションを使用して有効化できます。トランザクションログベースの CDC ソリューションは、ソースデータベースから非侵襲的にデータベースの変更をキャプチャし、それらをターゲットデータストアまたはファイルシステムにレプリケートします。 前提条件 GoldenGate と Kafka を併用しており、クラウド移行を検討しているという場合は、この記事が役に立ちます。この記事では、GoldenGate に関する予備知識も前提としており、GoldenGate […]

Read More

コンテナとコンテナ化されたアプリケーションに対する運用上の洞察

コンテナ化されたアプリケーションとマイクロサービスの適応が増えるに従い、監視と管理の負担がますます増えます。ビルダには Amazon Elastic Compute Cloud (EC2) のインスタンスなどのより長期にわたるインフラすトラクタに使用されるため、同じレベルの監視が期待され、要求されています。対照的に、コンテナは比較的短命で、通常は継続的なデプロイが求められます。これにより、信頼性をもって監視データを収集し、パフォーマンスやその他の問題を分析することが困難になり、このことが修復時間に影響を与えます。さらに、ビルダはさまざまなツールを使用してこの分析と検査を実行し、一連のインフラストラクチャとアプリケーションのメトリック、ログ、およびその他のトレース全体でコンテキストを手動で関連付ける必要があります。 Amazon CloudWatch Container Insights の一般的な利用状況の通知 本年 7 月に開催されたニューヨークの AWS Summit で、Amazon CloudWatch Container Insights のAmazon ECS および AWS Fargate のサポートは、新しいクラスタに対するオープンプレビューとして発表されました。本日より、Container Insights は既存のクラスタも監視する機能が追加されて、一般に利用可能になります。コンテナ管理サービスから、新規および既存のクラスタインフラストラクチャとコンテナ化されたアプリケーションの両方のコンピューティング使用率と障害に関する即時の分析情報を簡単に取得できます。これは、Kubernetes、Amazon Elastic Container Service for Kubernetes、Amazon ECS、および AWS Fargateが含まれます。 Amazon CloudWatch が一度有効になると、クラスタで実行中のすべてのコンテナを検出し、コンテナスタックの各レイヤのパフォーマンスと運用データを収集します。また、環境の変化に応じて継続的に監視と更新を行い、コンテナのメトリックとログの収集、監視、行動、分析に必要なツールの数を簡素化し、完全なエンドツーエンドの可視性を提供します。 このデータに簡単にアクセスできるということは、顧客が開発者の生産性の向上に焦点を移し、ダッシュボードを管理および構築するメカニズムの構築から離れることを意味します。 Amazon CloudWatch Container Insights の開始方法 ドキュメントの手順に従い、Container Insightsを有効にできます。一度有効になると、新しいクラスタが開始され、自分のリージョンのCloudWatch コンソールにアクセスすると、利用可能なダッシュボードのリストの中に Container Insights のオプションが表示されます。 これをクリックすると関連するダッシュボードに移動し、そこで観察対象となるクラスタをホストするコンテナ管理サービスを選択できます。 下の画像では、AWS Fargate […]

Read More

AWS DevDay Tokyo 2019 セッションのご紹介

ソリューションアーキテクトの鈴木哲詩 (@studio3104) です。 先日のブログエントリでお伝えいたしました 2019/10/3, 4 にて開催予定の AWS DevDay Tokyo 2019 ですが、皆様 Save the date にはご登録いただいておりましたでしょうか!? 先のエントリ中でもお伝えしておりますが、改めてサラッと概要を。AWS DevDay は世界主要都市で開催されているアプリケーション開発者のためのイベントです。2019年の東京開催では、規模を拡大して神田明神ホールをお借りして開催します。無料です。アプリケーション開発者のための無料イベントです!!!!!!!1 そして、皆様、大変お待たせいたしました、本日本登録サイトをオープンしました!! https://aws.amazon.com/jp/about-aws/events/2019/devday/ つきまして、本ブログエントリでは、予定しているコンテンツの一部をご紹介していきます。   ゼネラルセッション まずはゼネラルセッションをご紹介します。ゼネラルセッションでは、トークセッションとパネルディスカッションの2部構成となります。 トークセッションでは、Ruby の父まつもとゆきひろ様、株式会社ソニックガーデンの創業者で代表取締役社長の倉貫義人様をお招きして、今研究や開発に取り組んでおられること、注目しているテクノロジー、エンジニアがもっと輝くために必要なことなど、ソフトウェアエンジニアの皆様へのメッセージを、それぞれお話しいただきます。 パネルディスカッションでは、Amazon Web Services Japan の岡嵜禎がモデレーターを務めさせていただき、引き続き倉貫様とまつもと様をパネリストとして、 エンジニアがさらに輝いていくにはどうしていけばよいのかというテーマについてディスカッションをしていただきます。ソフトウェアとそれらを取り巻くパラダイムは常に目まぐるしく変化・進化をしてきていますが、このような厳しい環境下でどのようにキャリアを培ってこられたのか、これからのエンジニアが新しいパラダイムの荒波をどう乗りこなしていけばいいのか、といったようにエンジニアの生き様について熱く語っていただく予定です。 ゲストセッション 続いてはゲストスピーカーセッションのご紹介です。ワークロードやサービス種別によって様々な課題があり、それに対する取り組み方や考え方についても同じようにそれぞれ多種多様です。多岐に渡る課題に対して、ソフトウェアのちからでどのように解決出来るのか、どのような考え方が必要であるのかという点で、ゲストスピーカーセッションでは、あらゆる業種からそれぞれの分野のエキスパートの皆様にご登壇いただき、それぞれの観点でのお話をしてただきます。 なお、本日はすべてのゲストスピーカーセッションをご紹介していませんが、今後のアップデートは随時本登録サイトにて行っていきますので、続報に是非ご期待ください。 AWS上に構築するセルラーコアネットワークシステム 株式会社ソラコムの川上大喜様 (@moznion) のセッションでは、日常では意識することが少ないセルラーネットワークの裏側にアーキテクチャレベルで Dive Deep して、先進的な技術と挑戦的なアーキテクチャの採用によって従来のセルラーネットワークシステムと比較して大きくパフォーマンス改善させた取り組みをご詳解いただきます。 AWSの「隙間」を埋める隙間家具OSS開発 Perl, Go のハッカーとして著名な株式会社カヤックの藤原俊一郎様 (@fujiwara) からは、これまで開発して OSS としてメンテナンスを継続されているソフトウェアについてお話しいただきます。”ないものを作る”マインドや、なぜOSSにするのか、どのような思想で設計、開発、運用をされているのかを、実例をもとにご紹介いただきます。 「ブロックチェーン×フルサーバレス」での開発について 〜システム構成・運用の全て〜 契約のスムーズな検証、執行、実行、交渉を意図したコンピュータプロトコルであるスマートコントラクトを司るシステムを開発する実例について、株式会社ALISの富樫圭樹様 (@keillera) からお話しいただきます。ブロックチェーンとサーバーレスアーキテクチャを活用した実際の例をもとに、開発から運用について、なんとすべての知見を共有いただけるそうです。 オープンソースコミュニティで加速するサーバーレスの未来 Serverless […]

Read More

AWS Black Belt オンラインセミナーのご案内 (2019 年 09月)

こんにちは。9 月の AWS Black Belt オンラインセミナーについてご案内させて頂きます。 9 月は、3本のWebinarを実施いたします!ぜひお役立てください。 視聴方法: オンラインセミナー登録ページよりお申し込みください 9月のスケジュール AWS Batch 2019 年 9 月 11 日 (水) | 18:00 – 19:00 | IT 知識レベル:★★★☆☆ | AWS 知識レベル:★★★☆☆ AWS Batchは、HPCなど大規模な分散処理を行う際に必要となるバッチコンピューティング環境を、フルマネージドで提供するサービスです。AWS Batchを活用することで、分散処理におけるノード管理の負担を減らすだけでなく、より効率的なリソース活用が可能になります。本セッションではAWS Batchの基本的な使用方法、ユースケースに加え、GPUやマルチノード対応、起動テンプレート活用などの主要なアップデートについてもご紹介いたします。 対象者 技術者の方 本セミナーで学習できること バッチコンピューティングの基礎とAWS Batchの活用方法と新機能 AWS Batchのユースケース スピーカー 宮本 大輔 Solutions Architect   AWS AI Services 2019 年 9 月 24 日 […]

Read More