Amazon Web Services ブログ

Category: Database

Neptune Streams を使用したグラフの変化の取り込み

 多くのアプリケーションは、Amazon Neptune データベースに保存された項目の変更を、その変更が発生した時点で取り込む機能を利用することができます。Amazon Neptune は、Neptune Streams をサポートするようになりました。これは、Neptune のフルマネージド機能で、グラフに対するすべての変更を、発生順に確実にログに記録し、HTTP REST API を介してこれらの変更を利用可能にします。Neptune Streams は現在、ラボモードで利用可能です。 このブログ投稿では、Neptune Streams 機能を見直し、Neptune が提供するポーリングフレームワークを使用して Neptune と Amazon ElastiCache for Redis データストアを統合するストリームベースのアプリケーションをプロビジョニングし、この同じポーリングフレームワークを使用して独自のストリームベースのグラフアプリケーションを構築する方法を説明します。 Neptune Streams の概要 Neptune Streams を使用して、次のことを行うことができます。 ソース Neptune データベースから別の Neptune データベースに変更をレプリケートする ソース Neptune データベースから、Amazon DynamoDB または Amazon Aurora などの別のデータベースに変更をレプリケートする ソース Neptune データベースの変更を Amazon S3 にアーカイブする Amazon Elasticsearch でソース Neptune データベースで変わるコンテンツをインデックス作成する […]

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

SSL/TLS を経由して RDS MySQL, RDS MariaDB, and Amazon Aurora MySQL に sysbench を実行する

sysbench は MySQL 互換のデータベースでベンチマークを実行するために有用なツールです。もし、sysbench を使って Amazon Aurora MySQL のパフォーマンスの評価をしたい場合、Amazon Aurora Performance Assessment Technical Guide が役に立つでしょう。しかし、もし SSL/TLS を経由して sysbench を実行したい場合、このツールや AWS のサービスにあるいくつかの制限について考える必要があります。 この投稿では、RDS MySQL, RDS MariaDB, and Aurora MySQL で sysbench を実行するにあたっての考慮点と、どのように準備するべきかについて、お話いたします。 考慮点 sysbench の最新のパッケージリリースは 1.0.17 になります。もし、yum や RPM のようなパッケージマネージャから sysbench をインストールした場合、このバージョンがインストールされます。このバージョンでは、sysbench は SSL/TLS を使用するにあたって、以下のような制限を持っています: –mysql-ssl オプションは ON または OFF のみが指定可能で SSL_MODE は REQUIRED 固定 クライアント秘密鍵、クライアント公開鍵、CA […]

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

新しい edX コースで Amazon DynamoDB を使用した NoSQL データベース指向アプリケーションを構築する方法

 最近の組織は絶えずデータからより大きな価値を得る方法を探しており、そのことによりチームや個人が AWS クラウドでデータ指向のアプリケーションを構築する方法を理解することがますます重要になっています。 データ環境はさらに多くのクラウドベースのデータベースを含むように進化し続け、ますます多くの開発者がアプリケーションの特定のニーズを満たす専門的に構築された非リレーショナルデータベースを選択するようになっています。 データベースサービスをご使用のお客様は、必要なデータタイプ、アクセスモデル、そして拡張性に適したデータベースを評価して選択することが求められます。このために、この AWS トレーニングと認定がコースを設定して、Amazon DynamoDB の専門のデータベースサービスを使用する方法を教えてきました。 NoSQL データベースを詳しく説明する NoSQL データベースとそれらが解決する課題を詳細に説明するために、AWS トレーニングと認定は当社のデジタルトレーニングパートナーである edX Amazon DynamoDB: Building NoSQL Database-Driven Applications デジタルコースを独占的に提供します。このコースでは、バックアップと復元、セキュリティと暗号化、グローバルテーブル、そしてベストプラクティスを含むさまざまな Amazon DynamoDB のトピックを見ていきます。また、次のことについてもお教えします。 NoSQL データベースがリレーショナルデータベースと異なる点とそれらが解決する課題 DynamoDB テーブルのプロビジョニング、管理、およびインターラクトの方法 DynamoDB データベースのセキュリティを保護する方法 パーティションキーとスケーリングオプションを使用して、最適なパフォーマンスを確保する方法 このコースについて Amazon DynamoDB: NoSQL データベース指向のアプリケーションを構築することは、以前のアプリケーション開発と AWS マネジメントコンソールの経験で学習者と edX に関する AWS 開発者シリーズ を修了した方々に推奨した中程度のコースです。 4 週間のレッスンに分けて、1 週間あたり 2 時間から 5 時間の学習時間、12 時間のビデオベースの講義、デモ、および実践演習が想定されています。学習者は自分のペースと締め切りを設定できます。 毎週、学習者は自分の知識をテストするために、オプションのクイズにもアクセスすることもできます。 このオンデマンドコースは無料でご利用になれます。ただし、期限があります。検証済みの証明書を取得するため、またはコースの利用可能性を広げるために、学習者は edX の検証済みの証明書トラックに 99 USD の […]

Read More

Amazon Neptune で Streams、グラフ用 SPARQL フェデレ―テッドクエリなどの新機能がリリース

 最新の Amazon Neptune リリースでは、グラフによって開発者の生産性を強化する多数の新機能をご用意しました。本記事では、今回発表した重要機能と、それらを使用する際のヒントをまとめ、詳しくご紹介します。 開始方法 この新しいエンジンリリースは、既存のクラスターには自動適用されません。リリースノートに記載された手順に従って、既存のクラスターのアップグレードを選択することができます。または、エンジンの最新バージョンを受信する既存のクラスターのクローンを作成できます。 Amazon Neptune クラスターが現時点で存在しない場合は、バージョン 1.0.1.0.200463.0 のデータベースを作成します。Neptune Streams は、テストする前にラボモードで有効化する必要があります。Neptune では、お客様からのフィードバックに基づいて、初期段階の機能をプレビュー版としてリリースしています。実際のユースケースで試験使用、検証することができます。そうしたプレビュー版機能は今後のリリースで製品化されるまではラボモードです。ラボモードでは、neptune_lab_mode クラスターパラメータを使用して、Neptune エンジンの実験機能を有効 (または無効) にできます。ラボモードの設定には、AWS コンソールまたは CLI を使用します。 AWS コンソール Neptune 用 AWS コンソールで、左側のナビゲーションメニューから [パラメータグループ] を選択します。Neptune クラスターに関連付けられたクラスターパラメータグループに移動し、[パラメータの編集] を選択します。 neptune_lab_mode パラメータでは、以下を追加して、ストリームおよびトランザクションのセマンティクスを有効にします。 Streams=enabled, ReadWriteConflictDetection=enabled AWS CLI コンソールではなく CLI を使用して、クラスターパラメータグループの値をチェックし、ラボモードのパラメータを設定することもできます。次の 2 つのコマンドをそれぞれに使用します。 aws neptune describe-db-cluster-parameters –db-cluster-parameter-group-name my-test-param-group –region us-east-1 aws neptune modify-db-cluster-parameter-group –db-cluster-parameter-group-name my-test-param-group […]

Read More

Amazon DynamoDB での優先度付きキューの実装

 キューイングは、分散処理システムで計算コンポーネントを分離するために一般的に使用されるソリューションです。これは、サーバーレスおよびマイクロサービスアーキテクチャで使用する非同期通信システムの形式です。メッセージは処理のためにキューで待機し、1 人のコンシューマーが受信するとキューから出ます。このタイプのメッセージングパターンは、ポイントツーポイント通信と呼ばれます。 この記事では、他の大規模なキューイングシステムで行うように、Amazon DynamoDB テーブルのいずれかを、エンキュー (メッセージをキューに配置) とデキュー (メッセージを読み取り、キューから削除) が行えるキューに変換する方法について説明します。 DynamoDB は、任意の規模で 1 桁のミリ秒のパフォーマンスを実現するキーと値のドキュメントデータベースです。これは、モバイル、ウェブ、ゲーム、広告技術、IoT、および大規模で低レイテンシーのデータアクセスを必要とするその他のアプリケーションに使用できる、サーバーレスで完全マネージド型のサービスです。 永続性、単一メッセージ処理、および分散コンピューティングを提供する多くのキュー実装があります。一般的なキューイングソリューションには、Amazon SQS、Amazon MQ、Apache ActiveMQ、RabbitMQ、Kafka などがあります。これらのサービスは、実装方法、スケーリング、パフォーマンスなど、いくつかの異なる特性を持つさまざまなキュー機能を処理します。 ただし、キューシステムのほとんどは、アイテムがキューに到着した後、アイテムの順序を簡単に変更することはできません。DynamoDB で議論された実装は、処理前にキュー内の順序を変更したり、アイテムをキャンセルしたりできます。 この記事では、DynamoDB のキューイングシステムの重要な側面についても説明します。たとえば、アイテムの優先度の変更、メッセージごとに 1 人のコンシューマーのみの許可、処理成功時のメッセージの削除、メッセージ処理の順序の保証方法、例外の処理方法などです。 通常のキューと優先度付きキュー キューは、アイテム (メッセージ) のコレクションを順番に保持する線形データ構造を定義する抽象データ型です。1 人のコンシューマーは、個々のメッセージを 1 回だけ処理します。最も一般的なキューイング方法の 1 つは、先入れ先出し (FIFO) 構造です。この構造では、新しいアイテムがキューの最後に結合し、キュープロセスは前 (ヘッド) から順番に処理されます。 この記事では、キュー内のメッセージをメッセージの特性でソートする機能を追加することにより、典型的なメッセージキューの実装を強化する方法を示します。これは、優先度付きキューとして知られています。 優先度付きキューでは、各アイテムにキュー内の優先度を定義する追加の属性があります。優先度が変わると、キュー内のアイテムの順序が変わります。優先度付きキューは、ヒープと呼ばれる構造を頻繁に使用するか、自己バランスツリーを使用します。 DynamoDB は、アイテム (レコード) を動的に並べ替えるためにグローバルセカンダリインデックス (GSI) を使用します。キュー項目が表示されている (まだ処理されていない) 限り、キュー内の項目の順序を変更できます。 ソリューションのアーキテクチャ この記事では、DynamoDB のテーブルを使用するマイクロサービスがあるシナリオを使用します。この記事では、キューイングの主なアイデアを説明するために、仮想アプリケーションオブジェクトであるシップメントも紹介します。倉庫内のすべてのアイテムを見つけて、発送の準備ができていることを確認するまで、シップメントを発送できません。シップメントの準備ができたら、それをマークし、ダウンストリーム処理のために FIFO キューに入れることができます。キューでは、アイテムのタイムスタンプが優先度属性として使用されます。 次の図は、このワークフローを示しています。 この記事のアーキテクチャは比較的単純です。JSON […]

Read More

【開催報告】Amazon Analytics 事例祭り – データウェアハウスマイグレーション

こんにちは。アマゾン ウェブ サービス ジャパン株式会社 ソリューションアーキテクトの平間です。 9月24日に、「Amazon Analytics 事例祭り – データウェアハウスマイグレーション」を開催いたしました。今回は既存のデータウェアハウス(DWH)環境から、AWSの高速かつ完全マネージド型のDWHであるAmazon Redshiftへ移行されたお客様に、移行の決め手や移行後の効果について「本音」でお話ししていただきました。セミナーは前半がAWSソリューションアーキテクトからAWSのデータレイク及びアナリティクスサービスの概要と、DWHの移行をどのように検討すればよいかの方法をお話させていただき、後半はお客様より移行時の体験談をお話しいただいております。

Read More

Amazon Relational Database Service (RDS)とAmazon AuroraのSSL/TLS 証明書のアップデートについて

Amazon Relational Database Service (RDS)/Amazon Auroraをご利用のお客様に対し、「SSL/TLS 証明書のアップデートについて」のご案内をお送りさせていただいております。こちらは、現在RDSにて利用しているSSL/TLS 証明書が期限を迎えるため、新しいSSL/TLS 証明書へ更新が行われるという通知となっています。 SSL/TLS 証明書更新に際して、お客様よりよく頂くご質問を以下にまとめましたので、ご確認をお願いいたします。   Q: SSL/TLS 接続を使用している場合、CA 証明書をアップデートする必要がありますか? はい、もしお客様が CA 証明書をアップデートしなかった場合、SSL/TLS 接続ができなくなります。CA 証明書のアップデートは 2020 年 3 月 5 日までに完了する必要があります。AWS では、CA 証明書のアップデートによる影響のテストや対応のための時間を確保するために、2020 年 2 月 5 日までにアップデートを完了していただくことを強くお勧めしております。 Q: CA 証明書のアップデートを 2019 年 10 月 31 日までに完了させる必要がありますか?最終期限はいつになりますか? 2019 年 11 月 1 日以降、お客様が新たに DB インスタンス (Amazon RDS DB インスタンス、Amazon […]

Read More

DataSunrise Security を使用して Amazon Redshift の PII データを保護および監査する

 DataSunrise は、自社の説明によると、各種のデータベースのためのデータマスキング (動的および静的マスキング)、アクティビティモニタリング、データベースファイアウォール、および機密データ検出を含む、幅広いセキュリティソリューションを提供するデータベースセキュリティソフトウェア企業です。目標は、外部および内部の脅威と脆弱性からデータベースを保護することです。お客様はしばしば、DataSunrise Database Security を選択します。これは、Amazon Redshift、Amazon Aurora、すべての Amazon RDS データベースエンジン、Amazon DynamoDB や Amazon Athena など、AWS で実行するさまざまなデータベースエンジンを保護するときに、統一された制御とシングルユーザーエクスペリエンスを提供するからです。DataSunrise Security Suite は、Amazon Redshift の PII データを保護および監査できるツールのセットです。 DataSunrise は、アクティブなデータとデータベースセキュリティに加えて、データ監査によるパッシブなセキュリティを提供します。アクティブなセキュリティは、機密データへの不正アクセスの防止、疑わしい SQL クエリのブロック、SQL インジェクション攻撃の防止、またはリアルタイムでのデータの動的なマスキングと難読化などの事前定義されたセキュリティポリシーに基づいています。DataSunrise は、高可用性、フェイルオーバー、および Auto Scaling を備えています。 この記事では、Amazon Redshift のアクティブなセキュリティ、特に個人情報 (PII) のマスキングとアクセス制御に関する DataSunrise の機能に焦点を当てています。これは、機密情報へのアクセスの監査など、DataSunrise のパッシブなセキュリティ機能でバックアップできます。この記事では、Amazon Redshift の DataSunrise セキュリティ、その仕組み、および開始方法について説明します。 Amazon Redshift にアクティブなセキュリティが必要な理由 Amazon Redshift は、世界中で 15,000 を超えてデプロイされた、完全マネージド型のペタバイト規模のデータウェアハウス (DW) […]

Read More