Amazon Web Services ブログ

Category: Database

暗号化技術を使用して個人データを保護しながら、Amazon Aurora の MySQL 互換版に移行する

AWS ではセキュリティが最優先です。また、お客様にとってもこれは同じことです。私たちは個人データを保護するために膨大な量のリソースを使用し、当社のお客様にとってデータの保護が容易になるよう継続的に機能強化を図っています。Amazon Aurora の MySQL 互換版を含め、AWS のサービスはすべて、EU の一般データ保護規則 (GDPR) に準拠しています。  詳細については、Amazon のウェブサイトで一般データ保護規則 (GDPR) センターを参照してください。 Amazon の主要データストレージと処理サービスの 1 つである、Amazon Aurora の MySQL 互換版では、幅広い暗号化とデータアクセスコントロールオプションを提供しています。これらはこうしたサービス上で保存した個人データを保護しやすいように設計されています。データ保護の責任は現在進行中の運用に限られたものではなく、データの移動や移行といったアクティビティにも伴います。 今日のお客様は個人データの保護方法に大きな関心を寄せており、彼らが保存および処理するデータにも目を配っています。この結果、暗号化されたデータベースへデータを移行したり、データの転送時に暗号化形式を使用したりといった決定を下すことが増えています。このブログ記事では、Amazon Aurora の MySQL 互換版と安全な移行を実行する様々なパターンと、それを可能にするサービス機能についてご紹介します。 Amazon Aurora の MySQL 互換版の暗号化データストレージと処理機能 Amazon Aurora の MySQL 互換版では、次に示すように、お客様が暗号化技術を使用して個人データを保存および処理できるようにするいくつかの機能を提供しています。 Amazon Aurora では AWS Key Management Service (AWS KMS) を通じて管理するキーを使用してデータベースを暗号化することが可能です。Amazon Aurora データベースで暗号化が有効になると、保存されているデータ、自動化されたバックアップ、スナップショットが暗号化されます。 Amazon Aurora の MySQL 互換版を使用することで、データベースインスタンスに暗号化された接続を確立でき、またクライアントに暗号化された接続を使用するよう強制することもできます。 復元時には自分の望む […]

Read More

Amazon DynamoDB テーブルのストレージをモニタリングするサーバーレスソリューション

Amazon DynamoDB をアプリケーションの NoSQL データベースサービスとして使用する場合に、DynamoDB テーブルが使用するストレージ使用量を追跡したいとしましょう。DynamoDB は、サービスメトリックを Amazon CloudWatch に公開します。CloudWatch は、これらのメトリックをモニタリングおよび分析し、アラームを設定し、さらに AWS リソースの変更に対して自動的に反応します。現在のところ、DynamoDB は、ThrottledRequests、ConsumedWriteCapacityUnits、および ConsumedReadCapacityUnits を含む、多くの有用なメトリックを CloudWatch に送信します。 DynamoDB テーブルのストレージ使用状況を分析し、DynamoDB ワークロードが使用するストレージ使用量の履歴を把握し、ストレージコストを管理することは重要です。例えば、Time to Live (TTL) を使用して、不要なデータや陳腐化したデータを期限切れにしたいとします。そのような場合、ストリームを使用してそのデータを Amazon S3 または Amazon Glacier にアーカイブすることができるのです。この記事では、DynamoDB テーブルのストレージ使用状況をモニタリングする方法について解説します。 ソリューションの概要 DynamoDB は、6 時間ごとにテーブルのストレージ使用状況を更新します。この情報は、DynamoDB DescribeTable API を使用することで取得できます。テーブルのサイズを決定したら、カスタム CloudWatch メトリックを作成して、データを CloudWatch にプッシュできます。このソリューションでは、AWS CloudFormation を使用して、DynamoDB テーブルのストレージ使用状況をモニタリングするワンクリックデプロイメントアーキテクチャを作成する方法を解説します。これはインフラストラクチャをコードモデルとして実装するために必要です。 次の Python スクリプトと AWS CloudFormation テンプレートは、この GitHub リポジトリで入手できます。プロセスの仕組みは、上の図のようになります。(このソリューションは、DynamoDB ワークロードのあるすべての AWS リージョンでデプロイし、DynamoDB テーブルのストレージ使用量を継続してモニタリングすることを忘れないでください。) Amazon CloudWatch Events は、AWS Lambda 関数をスケジュールに従って実行します。 Lambda 関数は、DescribeTable […]

Read More

Amazon RDSデータベースプレビュー環境が ご利用可能になりました

Amazon RDSの利便性と柔軟性を備えたPostgreSQLデータベースエンジンのベータ版、リリース候補、およびearly productionバージョンを簡単にテストできる、Amazon RDSデータベースプレビュー環境が利用可能になりました。 PostgreSQLコミュニティから新しいバージョンがリリースされてから数日または数週間以内に、PostgreSQLの新しい機能をテストすることができるようになりました。現在のところ、Amazon RDSデータベースプレビュー環境では、PostgreSQLの次のメジャーバージョンの開発、ベータ、およびリリースの候補バージョンが提供されています。Amazon RDSデータベースプレビュー環境のデータベースインスタンスは全ての機能を有し、データベースのプレビューバージョンを自動でインストールし、プロビジョニング、および管理をお客様側で行って頂く必要がなく、新しいデータベースエンジンをテストできます。Amazon RDSデータベースプレビュー環境のデータベースインスタンスの価格は、米国東部(オハイオ)リージョンで作成されたRDSインスタンスと同じ価格です。 本番環境クラスのセキュリティ、パフォーマンス、信頼性、管理性、および可用性を確保するために、Amazon RDSは多くのテストを行った後で初めて新しいデータベースバージョンをリリースしてきました。Amazon RDSデータベースプレビュー環境は、新バージョンのデータベースエンジンがAmazon RDS環境への統合とテストが完了するのを待たずに、新しいPostgreSQLデータベースエンジンの信頼性、機能性、およびパフォーマンスの向上をすぐにお客様がテスト出来る環境を提供することで、お客様のリリースサイクルを数週間短縮することが可能になります。PostgreSQLのプレビュー版は、PostgreSQLコミュニティによってGA版がリリースされ、その後Amazon RDSでサポートされるまでAmazon RDSデータベースプレビュー環境で使用できます。 Amazon RDSデータベースプレビュー環境は、最新世代のインスタンスクラス(現在のところT2、M4、およびR4)でSingle-AZインスタンスとMulti-AZインスタンスの両方をサポートし、KMSキーを使用した透過的暗号化もサポートしています。Amazon RDSデータベースプレビュー環境データベースインスタンスは、最大60日間保持された後、自動的に削除されます。Amazon RDSデータベースのスナップショットは、プレビュー環境で作成し、データベースインスタンスの作成や復元に使用できますが、プレビュー環境内でコピーしたり、プレビュー環境外にコピーしたりすることはできません。代わりに、PostgreSQL標準のダンプとロード機能を使用して、データベースのロードとアンロードを行うことができます。 既存のAmazon RDSプロダクション環境のSLAはAmazon RDSデータベースプレビュー環境のインスタンスには適用されません。また、プレビュー環境で作成されたインスタンスについては、Amazon Customer Supportでサポートチケットを開くことはできません。私たちは、Amazon RDSデータベースプレビュー環境向けのフォーラムを作成しました。Amazon RDSチームは、PostgreSQLデータベースの候補バージョンとAmazon RDSデータベースプレビュー環境の両方に関する情報などをこちらで共有致します。 Amazon RDSデータベースプレビュー環境は今日からご利用可能です。詳細については、http://aws.amazon.com/rds/databasepreviewを参照してください。   翻訳は星野が担当しました。原文はこちら

Read More

Amazon Athena を使用して高度な分析を行い、Amazon DynamoDB データの視覚化を行う

Amazon DynamoDB サービスでは、1 秒あたり数十億件のアイテムと数百万回のリクエストの中から膨大な分析値を取得することができます。ただし、その分析値を取得するには、データをエクスポートする必要があります。DynamoDB テーブルから分析プラットフォームにデータをコピーすることで、情報を豊富に抽出することができます。これを行うには、優れたアーキテクチャのビッグデータパイプラインが、トランザクションプロセスを分析から切り離すのに大変便利です。このブログ記事では、DynamoDB テーブルから Amazon S3 にデータを移行するビッグデータパイプラインを構築する方法を説明します。これは、完全管理型の Presto クエリサービスである Amazon Athena を使用して、高度な分析が実行でき、Amazon QuickSight を用いて、視覚化およびアドホック分析を構築することも可能です。 デカップリングしたビッグデータアプリケーションにはたいてい、ストレージとコンピューティングを分離する共通のパイプラインがあり、そのため、新しい処理技術が生まれた際にはそれを活用することができます。デカップリングにより、データの耐久性に影響を与えることなく、複数の分析エンジン用の計算リソースを柔軟にプロビジョニングできるようになります。また、パイプラインを設計して、ストレージと処理の段階を繰り返し、下流のアプリケーションがすばやく使用できる形式でデータを整形することも可能です。 ビッグデータパイプラインの設計には、3 つの大きな特性が作用しています。 パイプライン全体の遅延 – データから正しい情報を得るまでにどれくらいの時間を要するでしょうか? 数千分の 1 秒、数分、あるいは数日? データのスループット – どれくらいのデータを取り込んで処理する必要がありますか? 数ギガバイト、数テラバイト、あるいは数ペタバイト? コスト – アプリケーションのための目標予算はいくらですか? AWS の最も費用対効果の高いオプションが、普通、適切な選択と言えるでしょう。 ビッグデータパイプラインを設計する際に考慮すべきことは他にも、データ構造、アクセスパターン、データの温度、可用性と耐久性、そしてサービスが完全に管理されているかどうかなどがあります。これらの特性に基づいてジョブに適切なツールを使用することは、優れたアーキテクチャを持つビッグデータパイプラインにとって重要です。 階層化されているビッグデータパイプライン 階層化されたビッグデータパイプラインを解説する前に、このソリューションで利用する主なサービスと機能を見てみましょう。 パイプラインでの DynamoDB の機能 DynamoDB で用いる主要なコンポーネントは、テーブル、項目、および属性です。テーブルは項目の集合であり、各項目は属性の集合です。DynamoDB はプライマリキーを使って、テーブルの各項目を識別します。セカンダリインデックスを使用すると、クエリの柔軟性が向上します。詳細については、「Amazon DynamoDB の仕組み」を参照してください。これは「DynamoDB 開発者ガイド」の中にあります。 DynamoDB TTL (Time To Live) を使用すれば、ストレージコストを削減する手段として、すでに関連性がなくなった項目を自動的に削除することができます。このブログ記事では、テーブルの TTL を有効にし、ttl 属性を使用して削除のタイムスタンプを設定します。TTL の詳細については、「Time […]

Read More

トランザクションレプリケーションを使用して、Amazon RDS for SQL Server に移行する方法

ご使用のデータベースを Amazon RDS for Microsoft SQL Server へ移行するには複数の方法があります。通常、データベースのシンプルなバックアップと復元を実行するのが一般的です (logins などのシステムオブジェクトのスクリプトを書くとともに)。可用性をさらに高める、またはダウンタイムを短縮するオプションが必要であれば、AWS Database Migration Service (AWS DMS) を利用できます。このブログ記事では、ご使用のデータベースを RDS for SQL Server へ移行するために、3 番目のメカニズムである、トランザクションレプリケーションを使用する方法について解説します。このアプローチを使用すると、提供されているサービスを使用する必要なく、既存のインフラストラクチャを活用して Amazon RDS for SQL Server へデータを移動できます。 RDS for SQL Server は SQL Server のレプリケーションをサポートしていません。これは主に、RDS for SQL Server インスタンス上でホストされているとき、SQL Server Agent のレプリケーションサブシステムが実行されていないためです。しかし、オンプレミスまたは Amazon EC2 (SQL Server のホストインスタンス) 上のいずれかで SQL Server Agent が実行されているところでは、プッシュサブスクリプションはサポートされています。RDS for SQL […]

Read More

Amazon RDS for PostgreSQL バージョン: 9.3.x リタイアメントのお知らせ

本投稿は、こちらのフォーラムでご案内されたアナウンスメントの参考和訳です。 本アナウンスメントは、Amazon RDS が RDS for PostgreSQL のバージョン9.3のサポートを2018年9月5日をもって終了することをお知らせするものです。 Amazon RDSは2013年からPostgreSQLメジャーバージョン9.3をサポートしています。本リリースの後、機能、セキュリティ、信頼性、パフォーマンスの観点で大幅な改善がなされたメジャーバージョンが続々とリリースされています。PostgreSQLコミュニティは、PostgreSQL 9.3のリリース終了時期を2018年9月と発表しています。コミュニティサポートモデルに合わせて、AWSは9.3.10, 9.3.12, 9.3.14, 9.3.16, 9.3.17, 9.3.19, 9.3.20, 9.3.22 のマイナーバージョンを含めて、メジャーバージョン9.3のサポートを終了いたします。Amazon RDS では引き続き、バージョン9.4 以降の PostgreSQLデータベースをサポートいたします。 できるだけ早いタイミングで、Amazon RDS PostgreSQL データベースインスタンスをバージョン9.6, もしくは、バージョン10 にアップグレードすることを推奨します。その際、RDS のメジャーバージョンアップグレードの機能をご利用いただき、次のバージョンにアップグレードできます。アップグレードを開始するには、AWS マネジメントコンソールにて、「Modify DB Instance(DB インスタンスの変更)」ページに移動し、データベースのバージョンをPostgreSQLの新しいメジャーバージョンに変更します。 [Apply Immediately(すぐに適用)]オプションを選択すると、「Modify DB Instance(DBインスタンスの変更)」ページを終了した直後にアップグレードが開始されます。変更をすぐに適用しない場合は、その後のメンテナンスウィンドウ中にアップグレードが実行されます。 RDS for PostgreSQL のメジャーバージョンのアップグレードの詳細については、PostgreSQL DB エンジンのアップグレードを参照してください。 Amazon RDS PostgreSQL 9.3 のリタイアメントプランの一環として、2018年8月6日 以降、AWSコンソールを使用して新たな PostgreSQL 9.3 インスタンスを作成することが出来なくなります。2018年11月には、残されている 9.3 インスタンスに対する、PostgreSQL […]

Read More

Amazon Elasticsearch Service を使い始める: Amazon Cognito を Kibana のアクセスコントロールに使用する

Elasticsearch および Amazon Elasticsearch Service (Amazon ES) に関するこの導入シリーズへようこそ。今回および今後のブログ記事では、AWS で Elasticsearch の使用を開始するために必要な基本情報を紹介します。 概要 2018 年 4 月 2 日、Amazon Elasticsearch Service と Amazon Cognito 間の統合がリリースされました。今後は Amazon ES ドメインへの Kibana アクセスにユーザーレベルのサインオンを提供し、それらを管理できるようになります。Amazon Cognito を使用することで、外部の ID プロバイダーに接続し、自社のユーザーにシングルサインオンを提供できます。また、ユーザーまたはユーザーグループに対してアクセスポリシーを設定することにより、アクセスコントロールの管理を簡略化できます。 本記事では、Amazon Cognito の認証と Amazon ES ドメインにある Kibana へのアクセスコントロールの追加セットアップについて説明します。前半では Amazon ES ドメイン、Amazon Cognito ユーザープール、Amazon Cognito ID プールなどの基本コンポーネントを作成します。このプロセスの最後には、Amazon Cognito を通じて提供された、共有 Auth_Role をベースにした Kibana にサインオンします。Auth_Role […]

Read More

Redis 用 Amazon ElastiCache を使用してリアルタイムの販売分析ダッシュボードを構築する方法

Amazon ElastiCache について説明すると、ほとんどの場合、読み取り負荷の高いデータベースワークロードのパフォーマンスを向上させるという文脈になります。リードスルーまたはライトスルーのパターンを採用するようにアプリケーションを更新し、キャッシュ内のデータを最新に保ち、データベースの負担を軽減します。この文脈で使用すると、ElastiCache はデータをメモリにキャッシュして大量のワークロードを高速化し、ミリ秒未満のデータ取得パフォーマンスを実現します。さらに、Redis 用 Amazon ElastiCache は、マルチ AZ 設定の自動フェイルオーバーにより、ワークロードの可用性とフォールトトレランスを向上させます。 ただし、ElastiCache は、ワークロードをより効率的にするだけでなく、新しい機能を提供するなど他にも多くの利点をもたらすことができます。この記事では、Redis 用 ElastiCache で構築されたリアルタイムの販売分析ダッシュボードの文脈で、こうした機能のいくつかを検討します。 この例で使用されているダッシュボードのコードとサンプルアーキテクチャは、GitHubの aws-elasticache-retail-dashboard リポジトリから入手できます。 ダッシュボードの指標 このダッシュボードは、広範な製品カタログを持つ大量の電子商取引サイトについて、ほぼリアルタイムの指標を提供します。リレーショナルデータベースを使用してこうしたダッシュボードを構築するには、リソースを集中的に使用するクエリの複雑なセットが必要です。代わりに、少数の Redis コマンドを使用してこのデータを追跡します。 このダッシュボードは、5 つの主要な一般的販売指標に焦点を当てています。 毎日の注文数 まず、簡単な指標である、毎日の注文数から始めます。注文を受け取るたびに、注文数を 1 つ増やします。操作は高速でアトミックなので、リレーショナルデータベースのテーブルの行数を数える必要はありません。毎日、新しいキーを作成し、Redis は初期値 0 のキーを作成します。ダッシュボードは当日の注文数にのみ関係しています (履歴データは後で取り上げます)。 2018 年 3 月 11 日の注文数を増やすには、指定したキーに保存されている整数値をインクリメントする、Redis INCR 操作を使用します。キーが存在しない場合は、操作が実行される前に値が 0 に設定されます。 INCR orders:20180311 これで、次のように整数形式の値を取得できます。 GET orders:20180311 当日販売された一意の商品の数 毎日の注文数をカウントしたので、次はそれらの注文で販売されている商品に関するデータを収集しましょう。まず、毎日販売されている一意の商品の数 (SKU または一意の ID による) を追跡しましょう。注文数の指標と同様に、同じ結果を作成する SQL クエリ […]

Read More

AWS Lambda から Amazon DynamoDB Accelerator(DAX)を使用して、コストを削減しながらパフォーマンスを向上させる

Amazon DynamoDB Accelerator (DAX) で AWS Lambda を使用すると、 も使用するサーバーレスアプリケーションにいくつかの利点があります。DAX は、読み取りレイテンシを大幅に短縮することにより、DynamoDB を使用する場合と比較して、アプリケーションの応答時間を向上させることができます。また、DAX を使用すると、読み取り負荷の高いアプリケーションに必要なプロビジョニングされた読み取りスループットの量を減らすことで、DynamoDB のコストを削減できます。サーバーレスアプリケーションの場合、DAX には、次のようなメリットがあります。レイテンシが短くなると、Lambda 関数の実行時間が短縮され、コストが削減されます。 Lambda 関数から DAX クラスターに接続するには、特別な設定が必要です。この記事では、AWS Serverless Application Model (AWS SAM) に基づいた URL 短縮アプリケーションの例を示します。このアプリケーションでは、Amazon API Gateway、Lambda, DynamoDBmDAX、および AWS CloudFormation を使用して、Lambda から DAX にアクセスする方法をデモします。 シンプルなサーバレス URL 短縮機能 この記事のアプリケーション例では、シンプルな URL 短縮機能を示します。ここでは、AWS SAM templates を使用して、API Gateway、Lambda、および DynamoDB の設定を簡易化します。全体の設定は、繰り返し可能な展開のための AWS CloudFormation テンプレートに表示されます。DAX クラスター、ロール、セキュリティグループ、およびサブネットグループを作成するセクションは、SAM テンプレートに依存していないので、通常の AWS CloudFormation […]

Read More