Amazon Web Services ブログ

Category: Amazon DynamoDB

Custom checkpointing walkthrough

AWS Lambda でのカスタムチェックポイントによるバッチ処理の最適化

AWS Lambdaは、Amazon Kinesis Data StreamsやAmazon DynamoDB Streamsなどのソースから取得した複数メッセージをバッチ処理できます。通常の操作では、処理を行う関数は1つのバッチから次のバッチに移動して、ストリームからのメッセージを消費します。 ただし、バッチ内のアイテムの1つでエラーが発生すると、そのバッチ内の同じメッセージ群の一部が再処理される可能性があります。新しいカスタムチェックポイント機能により、失敗したメッセージを含むバッチの処理方法をより詳細に制御できるようになりました。 このブログ記事では、バッチ失敗時のデフォルトの動作と、このエラー状態に対処するために開発者が使用可能なオプションについて説明します。また、この新しいチェックポイント機能の使用方法について説明し、ストリーム処理を行う関数内でこの機能を使用する利点についても説明します。

Read More

Amazon Route 53 アプリケーション復旧コントローラーの紹介

障害から復旧するアプリケーションの能力を継続的にモニタリングし、非常に高い可用性を提供する必要があるアプリケーションの構築を支援するために、複数の AWS アベイラビリティーゾーン、AWS リージョン、およびオンプレミス環境にわたるアプリケーションの復旧を制御するAmazon Route 53 機能のセットであるAmazon Route 53 アプリケーション復旧コントローラーを本日発表できることを嬉しく思います。 AWS では、データとワークロードのセキュリティと可用性が最優先事項です。当初から AWS グローバルインフラストラクチャでは、お客様がさまざまなタイプの障害に対して回復力のあるアプリケーションアーキテクチャを構築できるようにしています。ビジネスまたはアプリケーションが高可用性を必要としている場合、通常お客様は AWS グローバルインフラストラクチャを使用して、AWS リージョン内の AWS アベイラビリティーゾーンに冗長なアプリケーションレプリカをデプロイします。次に、Network または Application Load Balancer を使用して、トラフィックを適切なレプリカにルーティングします。このアーキテクチャは、大多数のワークロードの要件を処理します。 ただし、業界やワークロードによっては、高可用性の面でより高い要件があります。可用性率は 99.99% 以上で、目標復旧時間 (RTO) は秒または分単位で測定されます。リアルタイムの支払い処理や取引エンジンが混乱した場合、経済全体にどのような影響を与えるかを考えてみてください。これらの要件に対処するために、通常お客様は、さまざまな AWS アベイラビリティーゾーン、AWS リージョン、およびオンプレミス環境に複数のレプリカをデプロイします。次に、Amazon Route 53 を使用して、エンドユーザーを適切なレプリカに確実にルーティングします。 Amazon Route 53 アプリケーション復旧コントローラーを使用すると、非常に高い可用性と小さい RTO を必要とするアプリケーションを構築できます。通常それらはアクティブ/アクティブアーキテクチャを使用しますが、他のタイプの冗長性アーキテクチャを使用するアプリケーションも、Amazon Route 53 アプリケーション復旧コントローラーからの恩恵を受ける場合があります。それは、準備状況チェックとルーティング制御の 2 つの部分で構成されています。 準備状況チェックでは、AWS リソース設定、容量、およびネットワークルーティングポリシーを継続的にモニタリングするので、お客様は復旧オペレーションを実行する能力に影響する変更をモニタリングできるようになります。これらのチェックにより、復旧環境が拡張され、必要に応じて引き継がれるように設定されていることを確認します。それらは、Auto Scaling グループ、Amazon Elastic Compute Cloud (Amazon EC2) […]

Read More

CyberZ が Amazon DynamoDB を使用してフォロータイムラインの表示に必要な Read-Light 方式を実現した方法

CyberZ について CyberZ はスマートフォンに特化した広告マーケティング会社として 2009 年に設立しました。スマートフォン広告における運用・効果検証、交通広告やウェブ CM の制作など、幅広いマーケティング事業を展開しています。日本に加えて、サンフランシスコ、韓国、台湾にも支社を構え、国内広告主の海外進出および海外広告主の日本展開支援も行っています。また、メディア事業として動画配信プラットフォーム「 OPENREC.tv 」、 e スポーツ事業として、国内最大級のeスポーツイベント「 RAGE 」を運営しています。 CyberZ 100 % 子会社としては、オンラインエンタテインメント事業、プロダクション事業をおこなう「株式会社 eStream 」、 e スポーツに特化した広告マーケティング事業「株式会社 CyberE 」の事業展開をしています。 ​ ​ OPENREC.tv はゲーム配信を中心とした高画質・低遅延のライブ配信プラットフォームサービスです。 Wowza Streaming Engine / Low Latency HLS を使用した遅延の少ない配信基盤や、 Redis / Socket.io を利用したリアルタイムチャット機能などを AWS 上で構築しており、リレーショナルデータベースは Amazon Aurora を、 NoSQL は Amazon DynamoDB や Amazon ElastiCache (Redis) を使用しています。 ​ […]

Read More
athena-federated-query dynamodb quicksight hands-on

Amazon Athena Federated Query経由でAmazon DynamoDBのデータをAmazon QuickSightで可視化するハンズオンの公開

Amazon AthenaはS3上に置かれたファイルにクエリ(SQL)を実行できるサーバレスのサービスです。先日GAしたFederated Query機能を利用すると、クエリの範囲をS3に加えて多数のデータソース(例えば他のRDBやAmazon DynamoDB等)に広げ、複数のデータソースにまたがってSQL処理することが可能になります。(Federated Queryの機能説明はこちらにあります) 先日(4/17)、「AWSの基礎を学ぼう」というオンライン勉強会に講師として呼んでいただく機会があったので、このFederated Queryを使ったハンズオンキットを作成しました。今回これをダウンロード可能にしましたので、紹介します。

Read More
Play Video Store

高品質な動画配信を最速で実現するPLAY VIDEO STORESでのAWSの活用

業界を取り巻く環境 世界的なパンデミックが日本にも影を落としている中、ストリーミングを使ったライブイベントの配信が驚異的な伸びを示しています。2020年の早い段階から、大規模なイベントや対面集会が次々に中止に追い込まれました。オリンピックが延期され、プロスポーツは無観客となりました。企業においても入社式や集合教育、株主総会といったものがソーシャルディスタンスの導入により大きな影響を受けています。この流れの中、ライブイベント配信を支える企業にはこれまで無縁だったビジネスを含め、様々な業界から無数の依頼が舞い込んでおり、その全てに対応するには非常に難しい環境にあります。

Read More

サーバーレスでスケールするマルチプレイヤーゲームを構築する

本投稿は、Sr.Solutions Architect, Developer Acceleration の Tim Bruce による記事を翻訳したものです。 ゲーム開発は、要件が急速に変化するため非常に繰り返しの多いプロセスです。ゲーム開発者の多くは、可能な限り多くの時間を機能の構築のために費やしたいと思っており、サーバー設定、インフラストラクチャ管理、スケーリング技術の習得に時間を費やしたくないと考えています。 AWS のサーバーレスサービス を利用することで、4つの大きなメリットが得られます。1つ目は、運用オーバーヘッドを削減することで、企画からリリースまでのプロセスを短くします。2つ目は、運用に必要なハードウェアとソフトウェアを過剰にプロビジョニングしないため、コスト削減を実現できる可能性があります。3つ目は、サーバーレスはユーザーのアクティビティに応じてスケールします。最後は、サーバーレスサービスには組み込みの統合機能があるため、サービス統合に労力をかけることなくゲーム開発に集中できます。 AWSを利用するゲーム開発者は、これらのメリットを活用することで、チームがサーバーやソフトウェアのセットアップや保守といった差別化につながらないタスクに時間を費やすのではなく、ゲーム体験の向上やコンテンツ開発により多くの時間を費やすことができます。これにより、ゲーム体験とコンテンツがより良いものとなり、リリースまでの時間も短縮されます。 本ブログ記事では、「サーバーレスファースト」アーキテクチャを持つゲームについて紹介します。 Simple Trivia Service はウェブベースのゲームであり、貴社のゲームにも適用可能な複数のアーキテクチャパターンを持っています。

Read More

Amazon DynamoDB の使用を開始するためのゲーム開発者ガイド

多くのゲームでデータベースが不可欠の部分であることは周知の事実です。けれども、ゲーム開発者としては、データベースのエンジニアリングではなく、優れたゲームの構築にすべての時間と専門知識を捧げたいでしょう。 わかります。私も、データストレージについて考えるのではなく、コリジョンボリュームの修正、フレームレートの引き上げ、あるいは完璧な制御システムの作成に気をかけたいです。では、それを簡単に行いましょう。この記事では、AWS の高速で柔軟な NoSQL サービスである Amazon DynamoDB を使用して、ゲームにデータベースを追加するのがいかに簡単であるかを示します。 DynamoDB は、キーをデータに関連付ける非リレーショナルデータベースです。データベース、特にゲームでの使用に詳しくない場合は、ゲームでのデータベースの基本的な使用法と、リレーショナルデータベースと非リレーショナルデータベース (ときに SQL と NoSQL と呼ばれる) の違いについて説明したこの記事「素晴らしいゲームのためのマネージドデータベース」をご覧ください。 Dynamo DB テーブルの作成 DynamoDB は、NoSQL データベースですが、SQL データベースから借用した用語テーブルを使用します。この場合のテーブルは、実際にはデータベースに格納されるアイテムの主要な機能を定義したものにすぎません。 DynamoDB には、テーブルを識別するためのテーブルのプライマリキーが常にあり、このキーはデータベースに保存されているすべてのアイテムに対して一意である必要があります。 便利なヒントは、プライマリキーが複数の値のハッシュになる可能性があることです。したがって、単一の一意の属性がない場合は、異なる属性を組み合わせて一意の値を作成できます。たとえば、名前とバージョン番号を持つアイテムです。「broadsword」という名前のアイテムは 10 個あり、「version 1」のアイテムは 100 個ありますが、「broadsword version 1」は 1 個しかありません。 DynamoDB には、オプションで、アイテムをすばやく並べ替えることができるソートキーもあります。たとえば、プレイヤーのソートキーはプレイヤークラスであるかもしれません。これにより、ゲーム内のすべてのファイタークラスのリストを取得するクエリが高速化されることでしょう。データベース内のアイテムを一意に識別するための代替方法でするセカンダリキーを持つこともできます。 このデモでは、プレイヤーキャラクターの属性を表す非常にシンプルなオブジェクトを作成します。オブジェクトには一意のプレイヤー ID、プレイヤーレベル、強さと知力の 2 つの統計が含まれます。プレイヤー ID がプライマリキーになり、このデモ用のソートキーやセカンダリキーはありません。 注意: 自分で練習したい場合は、ソートキーとして機能するプレイヤークラスを追加できます。 DynamoDB テーブルを作成する手順は次のとおりです。 AWS コンソールを開きます。 DynamoDB を検索して選択します。 DyanamoDB コンソールのホームページから [テーブルの作成] を選択します。 […]

Read More

クラウドで「投票」をアップグレード。「投票率」も向上させる

AWS 公共部門ブログチームより、 米国のNPOがどのようにクラウドを用いて「投票」という伝統的行為をアップグレードし、「投票率」の向上に繋げているか ──その事例を以下にご紹介します。 * * * * 生まれ育った実家から遠く離れた街に住んでいるために、選挙での投票機会をこれまで何度か逃したことのある大学院生 Seth Flaxman は、友人でありクラスメートでもある Kathryn Peters と一緒に、投票期日の予告をしてくれる「リマインダーシステム」を構築しました──これで、再び選挙を逃すことはありません。投票をシンプルでシームレスな体験にするというビジョンをかかげ、Seth と Kathryn は、多くの若者が投票機会を逸してしまうという”現状”を変えるための無党派のNPO(非営利組織)である 「Democracy Works」を立ち上げました。 Democracy Works は、民主主義のインフラストラクチャをアップグレードし、有権者と選挙管理人の双方にとって「投票者エクスペリエンス」を向上させるために必要な「ツール」の構築に着手しました。Democracy Works のフラッグシップ・プロジェクトである 「TurboVote」 は、地方自治体から全国規模まで、あらゆる種類の選挙で「有権者自身の登録~そしてその登録の管理~実際の投票」までの流れを支援する取り組みです。国内最大規模の大学、NPO、そして投票率を高めたいと願う多数の企業が連帯した効果もあり、2018 年には TurboVote に登録した有権者は 600 万人に達しました。 AWS によりTurboVoteはスケール TurboVote の取り組みが、初めて 100 万人のユーザーに到達するまでに、Democracy Works は 5 年を費やさねばなりませんでした。しかしその後、AWSクラウドを活用したスケーリングにより、2018 年だけで記録的な 500 万人の新規ユーザーにサービスを提供することができました。 TurboVote のように特定のイベントで利用がスパイクしがちなツールにおいては、長期間にわたり訪問者数が少ない時期もありますが、他方で連邦選挙が近づく時期には、1 週間で数百万人のサイト訪問者を受け入れることになります。Amazon EC2 と Amazon DynamoDB を使用するとオンデマンドでリソースを拡張できるため、TurboVote は、年間を通じて専用のインフラストラクチャに料金を支払うことなく、アクセスが多い日にのみ、数万人もの同時ユーザーのアクセスを処理することができます。 前回2018年の中間選挙があった11 月 6 日に向け、 […]

Read More

Amazon DynamoDB 向け NoSQL Workbench を使用したデータモデリング

 Amazon DynamoDB などの NoSQL データベースを使用する場合、リレーショナルデータベースで慣れているものとは異なる最適化を選択する傾向があります。リレーショナルデータベースの経験から、最初は別の方法で実行するように指示されていたため、簡単ではありませんでした。 これを支援するために、AWS は Windows および macOS で利用可能なクライアント側アプリケーションである Amazon DynamoDB 向け NoSQL Workbench をリリースしました。これを使用して、スケーラブルで高性能なデータモデルを構築し、クエリの開発とテストを簡素化できます。NoSQL Workbench を使用すると、次のことができます。 1 つ以上のテーブルを使用してデータモデルを定義します。 データモデルを視覚化して、さまざまなシナリオでどのように機能するかを理解します。 複数のプログラミング言語用のデータプレーン操作を構築します。 このブログ記事では、一般的に利用可能になった NoSQL Workbench を使用して、複数の顧客の URL ブックマークの管理という一般的なユースケースのデータモデルを設計しています。比較的ユースケースが単純な場合でも、多くの興味深い考慮事項があります。 データモデラー このアプリケーションでは、ブックマークと顧客アカウントに関する情報を保存する必要があります。まず、保存したい属性のリストを、保存する予定の簡単な説明とともに書き留めます。 顧客 customerId – ユニバーサル一意識別子 (UUID) email fullName ­– 例: “Shirley Rodriguez” userPreferences – アプリのユーザー設定を記述する JSON オブジェクト creationDate updateDate ブックマーク URL – “https://…” customerId […]

Read More

DynamoDB の CloudWatch Contributor Insights が一般公開されました

Amazon DynamoDB では、1 か月あたり数リクエストから 1 秒あたり数百万のリクエストまで、簡単にスケーリングできる完全マネージド型のキーバリューデータベースサービスをお客様に提供しています。DynamoDB は、あらゆる規模で一貫した 1 桁のミリ秒の応答時間を実現することにより、世界最大規模のアプリケーションを複数サポートしています。実質的に無制限のスループットとストレージでアプリケーションを構築できます。DynamoDB グローバルテーブルは、データを複数の AWS リージョンにレプリケートして、グローバルに分散されたアプリケーションのデータにローカルで高速にアクセスできるようにします。マイクロ秒のレイテンシーでさらに高速なアクセスが必要なユースケースでは、DynamoDB Accelerator (DAX) が完全マネージド型のインメモリキャッシュを提供しています。 2019 年 11 月に、Amazon DynamoDB の Amazon CloudWatch Contributer Insights をプレビューとして発表しました。本日、すべての AWS リージョンで一般的にご利用いただけるようになったことをお知らせします。 Amazon DynamoDB の Amazon CloudWatch Contributer Insights 2019 年 11 月に開始された Amazon CloudWatch Contributor Insights は、ログデータを分析し、時系列視覚化データを作成して、システムパフォーマンスに影響を与える上位のコントリビューターを確認できるようにしています。これを行うには、Contributor Insights ルールを作成して、CloudWatch Logs (AWS のサービスからのログを含む) と、自社のサービスまたはオンプレミスサーバーから送信されたカスタムログを評価します。たとえば、不良ホストを見つけたり、最も重いネットワークユーザーを特定したり、エラーを最も多く生成している URL を見つけたりできます。 DynamoDB の上にアプリケーションを構築する開発者にとっては、トラフィックの傾向や頻繁にアクセスするキーなどのデータベースアクセスパターンを理解して、DynamoDB のコストとパフォーマンスを最適化するのに役立ちます。DynamoDB […]

Read More