Amazon Web Services ブログ

Category: Amazon DynamoDB

2019 年に最も閲覧された Amazon DynamoDB ドキュメントページのトップ 20

以下の 20 のページは、2019 年に最も閲覧された Amazon DynamoDB のドキュメントページです。このリストには、各ページの内容を説明するために、簡単な記述とそれぞれのリンクが含まれています。このリストを使用して、AWS の他のお客様が何を読んでいるかをご覧ください。前から知りたいと思っていたトピックに対する興味が湧くかもしれません。 クエリの操作 DynamoDB のクエリオペレーションは、プライマリキー値に基づいて項目を検索します。複合プライマリキー (パーティションキーおよびソートキー) がある任意のテーブルまたはセカンダリインデックスを照会することができます。 Amazon DynamoDB とは この DynamoDB についての簡単な紹介は、DynamoDB 開発者ガイドのウェルカムページとしても役立ちます。 DynamoDB ローカル (ダウンロード可能バージョン) のセットアップ ダウンロード可能なバージョンの DynamoDB によって、DynamoDB ウェブサービスにアクセスすることなくアプリケーションを記述してテストすることができます。本番用にアプリケーションをデプロイする準備が整うと、コードを若干変更するだけで DynamoDB ウェブサービスを使用できるようになります。 DynamoDB のベストプラクティス DynamoDB を使用する際に、パフォーマンスを最大化し、スループットコストを最小化するための推奨事項をすばやく見つけることができます。 DynamoDB での制限 特に指定のない限り、これらの現在の DynamoDB の制限 (または、場合によっては欠如) は、リージョンごとに適用されます。 クエリ KeyConditionExpression パラメータを使用して、パーティションキーに特定の値を指定します。クエリオペレーションは、そのパーティションキーの値を持つテーブルまたはインデックスからすべての項目を返します。 読み取り/書き込みキャパシティーモード DynamoDB には、テーブルの読み取りと書き込みを処理するために、オンデマンドとプロビジョンドの 2 つの読み取り/書き込みキャパシティーモードがあります。 DynamoDB コアコンポーネント DynamoDB で用いる主要なコンポーネントは、テーブル、項目、属性です。テーブルは項目の集合であり、それぞれの項目は属性の集合です。 DynamoDB の使用開始 […]

Read More

Amazon DynamoDB の使用開始

Amazon DynamoDB は、任意の規模で 1 桁のミリ秒のパフォーマンスを実現するために構築されたキーと値およびドキュメントデータベースです。これは、マルチリージョンでマルチマスターのフルマネージドデータベースで、組み込みのセキュリティ、バックアップとリストア、およびインターネット規模のアプリケーション用のメモリ内キャッシュを備えています。 この記事では、開始するために知っておく必要がある基本的な事項を確認します。テーブルを作成し、DynamoDB テーブルを設計するときの主な考慮事項について学習します。次に、いくつかのサンプル項目を挿入し、最後にそれらをクエリします。サンプル項目は実際の例で、AWS のオープンデータのレジストリからの Amazon Customer Reviews Dataset です。このガイドでは、データセットのビジネス要件および技術要件が DynamoDB 設計にどのように通知されるかについて説明します。この記事は読者に前提知識がないことを想定しています。 まず、ユースケースを分析しましょう。この記事のこのデータセットは、1 日数百万人のユーザーにサービスを提供している e コマースウェブサイトの本番レビューを表しています。特定の製品のレビューにすばやくアクセスし、投稿したすべてのレビューをユーザーが見られるようにしたい場合があるでしょう。 これらの条件は両方とも、大規模なデータセットへの高速アクセスを必要とします。DynamoDB は、それに対する完璧なソリューションです。 テーブルの作成 最初のステップは、テーブルを作成することです。 以下のスクリーンショットのプレビューに示すように、AWS マネジメントコンソール のサービスの検索で、DynamoDB を入力して選択します。 以下の画像に示すように、[テーブルの作成] を選択します。 テーブル名 には、product_reviews などの名前を入力します。ここで、重要な決定を行います。DynamoDB は、キーを使用して、複数のインスタンスにデータを整理および配布します。キータイプには、次の 2 つの基本的なタイプがあります。 – パーティションキー – これは、DynamoDB が内部ハッシュ関数に使用して、保存するアイテムの物理的な保存場所を決定する値です。 – ソートキー – これは、一致するパーティションキーを持つアイテムをソートするために使用します。複数の値を連結して、複合ソートキーを作成できます。 ホットキーを回避するために、データが可能な限り均等に分散されるパーティションキーを選択します。パーティションキーの設計とホットキーの回避の詳細については、ドキュメントの「ワークロードを均等に分散するためのパーティションキーの設計」を参照してください。DynamoDB でさらに読み取りを行い、hash と ranges キーを参照する場合、これらはパーティションキーおよびソートキーの以前の用語です。 DynamoDB テーブルには、テーブル内の各アイテムを一意に識別するプライマリキーが必要です。プライマリキー には以下の 2 つのタイプがあります。 – […]

Read More

運用上の認識を高めるための Amazon DynamoDB のモニタリング

Amazon DynamoDB はサーバーレスデータベースです。このサービスは、この分散システムの背後にあるインフラストラクチャの運用と保守に関連する、未分化の困難な作業を扱います。お客様は、API を使用して、テーブルのモニタリングと操作に使用できる操作データをキャプチャします。この記事では、DynamoDB を運用するためにダッシュボードとアラームを構築する際に考慮する一連のメトリクスについて説明します。 DynamoDB によって公開された Amazon CloudWatch メトリクスを使用すると、データモデルのコンテキストで進化するワークロードと DynamoDB の相互作用を理解するのに役立ちます。メトリクスは、適用されるリソースレベルに基づいて、次の 3 つのカテゴリーに分類されます。 DynamoDB で箱から出してすぐに使用できるメトリクス (「箱から出してすぐに」と注記)。 メトリクス計算 によるコンピューティングを必要とするメトリクス (「メトリクス計算が必要」と注記)。 カスタム AWS Lambda 関数を使用して Amazon CloudWatch に自己公開する必要があるメトリクス。 本番環境に移行すると、DynamoDB で運用の卓越性を実現するための推奨事項も取得できます。 この例で必要なカスタムメトリクスを公開するコードをダウンロードするには、「GitHub リポジトリ」を参照してください。カスタム CloudWatch メトリクスを公開するための Lambda 関数は、デフォルト設定をオーバーライドするための多くの環境変数を受け入れます。詳細については、README を確認してください。この記事の公開時点で、環境変数は次のとおりです。 CLOUDWATCH_CUSTOM_NAMESPACE – デフォルトでは、AWS Lambda 関数は「Custom_DynamoDB」名前空間にメトリクスを公開します。変更する場合は、CLOUDWATCH_CUSTOM_NAMESPACE 環境変数を設定します DYNAMODB_ACCOUNT_TABLE_LIMIT – デフォルトでは、AWS Lambda 関数は DynamoDB アカウントテーブルの制限が 256 であると想定します。アカウントテーブルの制限を決定する API 呼び出しはないため、AWS にアカウントのこの制限を増やすように依頼した場合は、DYNAMODB_ACCOUNT_TABLE_LIMIT を […]

Read More

Kinesis と DynamoDB をイベントソースにする際の AWS Lambda の新しいスケーリング管理

AWS Lambda は、Amazon Kinesis Data Streams と Amazon DynamoDB ストリームのイベントソースで利用可能な、新しいスケーリングパラメータを導入しました。Parallelization Factor は、各シャードにおける Lambda 関数呼び出しの同時実行数を増やす設定を可能にします。このパラメータは、デフォルトでは 1 です。これによって、処理されるレコードの順序を保証しながら、シャード数を過大にスケールすることなく、より高速なストリーム処理が可能になります。

Read More

【開催報告】ビルシリーズ@住友不動産六本木グランドタワー 第1回

みなさんこんにちは!アマゾンウェブサービスジャパン株式会社 ソリューションアーキテクトの木村公哉です。 11月21日に「ビルシリーズ@六本木一丁目住友不動産六本木グランドタワー 第1回」を開催いたしました。今回は「初めてのサーバレスWebアプリケーションハンズオン」を実施しました。こちら「ビルシリーズとは?」とお思いの方も多いかと思いますので、開催報告と合わせてご説明いたします。 「ビルシリーズ」とは? このイベントは、日頃AWSをご利用いただいているお客様に、AWSからの情報発信はもちろん、同じビルに拠点を構えるお客様同士の活発な意見交換と交流の場を定期的に作ることを目的としたものです(同じビルなので移動が楽!)。 今回、住友不動産六本木グランドタワーのFringe81様、BASE様、エブリー様、ディップ様で同じようなニーズがあり、このようなビル単位でのイベントを開催する運びとなりました。場所はFringe81様の素敵な大会場をお借りいたしました。Fringe81様ありがとうございました。 来月には住友不動産麻布十番ビルでも開催を予定しており、今後もこのようなビル単位で交流ができるようなイベントを開催していきたいと考えております。 当日の様子 当日は約40人のお客様にお越しいただき、イベントは終始盛り上がりを見せておりました。   まずはAWSJ 植本より、今回のビルシリーズの趣旨などを説明いたしました。   次に、AWSJ 木村より「サーバレスのご紹介 – ユースケースパターンを切り口に」というタイトルで、AWSのサーバレスプラットフォームについてご紹介いたしました。   続けてAWSJ 木村より「初めてのWebアプリケーションハンズオン」を実施いたしました。   ハンズオンの終了後、ご参加いただいた皆様と共に、簡単な懇親会を開催いたしました。   今回、AWSJより、アカウントマネージャー植本、藤田、細木、ソリューションアーキテクト上原、石見、小宮、木村がビルシリーズをサポートいたしました。こちらはソリューションアーキテクトの集合写真です。 貴社担当のアカウントマネージャから「ビルシリーズ」のお誘いがあるかもしれませんが、是非ご検討いただければと思います。それでは、次回のビルシリーズでお会いしましょう!   著者について 木村 公哉(Kimura, Koya) 香川県出身のソリューションアーキテクトです。好きなサービスはAWS AmplifyとAWS Lambda、Amazon Kinesisです。好きな食べ物はうどんです。   上原 誠(Uehara, Makoto) アマゾンウェブサービスジャパン株式会社のソリューションアーキテクトとして、主にメディア系のお客様に対する技術支援を担当。技術的な得意/興味領域としては、アナリティクス系テクノロジー、広告系ソリューションなど。

Read More

AWS AppSyncキャッシングとAmazon DynamoDBトランザクションのサポートによりGraphQL APIのパフォーマンスと一貫性が更に向上します

AWS AppSyncはGraphQLのマネージドサービスで、単一または複数のデータソースのデータに安全にアクセスしたり、操作したり、結合するための柔軟なAPIを作成でき、アプリケーション開発をシンプルにすることができます。多くの場合、異なったデータソースは異なったユースケースに合わせて最適化され、データが配信されるスピードも異なっていることでしょう。その基になるGraphQLスキーマで定義されているデータフィールドもかなり多様です。

Read More

新しいサーバーレスアプリ作成機能で CI/CD も作成した、その後…

本記事は「新しいサーバーレスアプリ作成機能で CI/CD も作れます」のその後のステップとして記述しています。まだその記事を見ていない方は、まずはそちらをご覧ください。以下は、その機能で、テンプレートとして Serverlerss API backend を選択し、プロジェクトリポジトリとして CodeCommit を作成された結果を元に説明しています。CI/CD や CodeCommit をよくご存知の方は読み飛ばしていただいて構いません。 実行テスト 作成されたアプリケーションは、何も変更しなくてもすでに実行できる状態にあります。 例えば、ターミナルなどから以下のコマンドを実行してみてください(なお、下記のように日本語を含むデータで実行する場合は、ターミナルの文字コード設定が UTF-8 であることを確認ください)。 curl -d ‘{“id”:”001″,”name”:”テスト”}’ -H “Content-Type:application/json” -X POST https://<<API EndPoint>> DynamoDBのコンソールをみると、新しいデータが登録されることがわかります。もちろん、好みの REST API テストツール(ブラウザプラグインなど)を使っても構いません。 構成の確認 生成されたアプリケーションで、API 定義、Lambda 関数がどのように定義されているかを見るのは、サーバーレスを始めたばかりの開発者には参考になるかと思います。例えば、API Gateway の構成を見てみると、以下のように設定されていることがわかります。 名称で想像できる通り、3つの関数は、全件検索、データの書き込み、特定 ID のデータの取得のための処理であり、それらが対応する API に紐づけられています。この 3つの処理はよく使われる典型的なものですので、そのコードは、多くの処理で参考になるでしょう。 コードの編集 テンプレートベースのサーバーレスアプリ作成機能で設定された Lambda 関数がどういうものか、コンソールから確認してみましょう。作成したサーバーレスアプリケーションへ Lambda コンソールからアクセスし、その中のリソースのセクションを見ると Lambda Function タイプのものが作成されていることがわかります。 ここにあるリンクをクリックすれば、それぞれの Lambda 関数の画面に飛びますが、そのコードは表示されず、「インラインコード編集を有効にできません」と表示される場合があります。生成されたコードはどこにあるのでしょう? もう一度、Lambda […]

Read More

2019 年 11 月 11~15 日までの Amazon DynamoDB のローンチのまとめ

Amazon DynamoDB は、先週 6 つの主要なローンチを行いました。この投稿では、各ローンチの概要を記載しており、すべての新情報を知るのに役立ちます。これらのローンチには、利用可能リージョンの拡大および機能の更新を含みます。これらのローンチについて質問がある場合は、Twitter で@DynamoDB までメッセージをお送りください。 11 月 11 日 (月) Amazon DynamoDB Accelerator (DAX) が欧州 (ロンドン) および欧州 (パリ) の各リージョンで利用可能に DAX が欧州 (ロンドン) および欧州 (パリ) の各リージョンで利用可能になりました。これらの AWS リージョンでは、マイクロ秒のレイテンシーを必要とするアプリケーションのために、Amazon EC2 R4 および T2 インスタンスタイプを用いて、DAX クラスターを作成できます。DAX は、完全に管理された、高可用性のインメモリキャッシュを Amazon DynamoDB に提供します。これにより、DynamoDB からの読み取りを最大 10 倍加速でき、毎秒 100 万リクエストの速度も可能となります。 11 月 12 日 (火) NoSQL Workbench for Amazon DynamoDB がDynamoDB […]

Read More

Amazon DynamoDB で機密データを保護するためのベストプラクティスの適用

 このシリーズの最初の記事であるAWS データストア内の機密データを保護するためのベストプラクティスでは、いくつかの一般的なセキュリティの概念と、AWS データストアに適用できる AWS セキュリティコントロールについて説明しました。これらを使用して、データに関わるセキュリティ体制をより強固にすることができます。2 番目の記事であるAmazon RDS で機密データを保護するためのベストプラクティスの適用では、こうした概念を Amazon RDS データベースで実装する方法を示しました。この 3 番目であり、最後の記事では、これらの概念を Amazon DynamoDB で実装する方法を示します。 データの分類とセキュリティゾーンモデリング 処理しているデータと処理に関する特定の要件を理解することは重要です。こうした要件は規制であったり、組織の一部として内部的に作成される場合があります。たとえば、この記事で後述するように、データのトークン化などの特殊なセキュリティコントロールの一部は必要ではないかもしれません。常にセキュリティの水準を引き上げようとする必要がありますが、十分に理解してリスクを管理するために適切なコントロールを提供していることも確認してください。 セキュリティゾーンを設計したら、この記事で後述するように、ネットワークアクセスコントロールリスト (ACL) を使用して実装します。この手順では、ネットワークゾーンを粗く定義し、セキュリティグループを使用してこれらのゾーン内でより具体的なマイクロセグメンテーションを許可します。 セキュリティゾーンモデリングを実装するときは、ネットワーク設計を慎重に検討します。CIDR 範囲のサイズによって、各サブネットが表現できる IP アドレスの数が決まります。サブネット内の増加 (より多い IP アドレス) とサブネット数の増加をサポートできるように、CIDR 範囲を設計します。Amazon VPC とオンプレミスのデータセンター間、または VPC 間に矛盾のない IP アドレススペースを確保するための要件とバランスを取ります。詳細については、AWS 単一 VPC の設計を参照してください。 ここで提供されている詳細な説明、およびデータ分類とセキュリティゾーンモデリングの背景にある概念については、AWS データストア内の機密データを保護するためのベストプラクティスを参照してください。 予防的コントロール 次の図はこのシリーズの最初の記事からのもので、防御の概念を詳しく説明しています。コントロールには、予防的コントロールと発見的コントロールの 2 つの主要なカテゴリーがあります。最初に予防的コントロールについて説明しましょう。 DDoS 保護 AWS Shield と連携することで、アプリケーションおよびデータベースを分散サービス拒否 (DDoS) 攻撃から保護することができます。すべての AWS のお客様は、追加料金なしで […]

Read More

Cassandra 開発者向け Amazon DynamoDB 入門

 このブログは、Amazon DynamoDB を Cassandra 開発者にご紹介する投稿です。DynamoDB の開始がスムーズに行えるよう、Cassandra を使った基本操作を説明しています。また、AWS CLI を使えば、DynamoDB で同じ操作が実行できます。 Amazon DynamoDB は完全マネージド型のマルチリージョンマルチマスター NoSQL データベースで、あらゆる規模でも安定した 10 ミリ秒未満のレイテンシーを実現します。ビルトインのセキュリティ、バックアップと復元、およびメモリ内キャッシュを含んでいます。さらに、分散型データベースの運用とスケーリングの管理負担を軽減できます。 こうした機能を搭載しているため、DynamoDB は Apache Cassandra のような他の NoSQL データベースからの移行が必要となります。DynamoDB クライアントと SDK を使用して、IoTや ゲームなどのさまざまなアプリケーションを構築できます。詳細については、「API の使用」をご参照ください。 次のテーブルは、重要な Cassandra と DynamoDB コンポーネント、およびこれらの概念を DynamoDB に関連付ける方法をまとめたものです。DynamoDB は完全マネージド型サービスのため、テーブルが取り扱う最上位のコンポーネントとなります。 Cassandra DynamoDB 説明 ノード NA データが保存される場所。 データセンター NA レプリケーション戦略に使用。 AWS のアベイラビリティーゾーンに類似。 クラスター NA 単一のノード、単一のデータセンター、またはデータセンターのコレクションを持つことが可能。 キースペース NA リレーショナルデータベースのスキーマに類似。 […]

Read More