Amazon Web Services ブログ

Category: Database

AWS データストア内の機密データを保護するためのベストプラクティス

このブログ記事では、データを保護する一般的なデータセキュリティパターンとそれに対応する AWS セキュリティコントロールに焦点を当てます。クラウド内の機密データを保護するための効果的な戦略を立てるには、一般的なデータセキュリティパターンをよく理解し、これらのパターンを明確にマッピングしてクラウドセキュリティコントロールに活かすことが必要です。

Read More

Amazon DynamoDB グローバルテーブルを使用してマルチリージョンアーキテクチャを強化する方法

この記事では、Amazon DynamoDB を使用して、複数の AWS リージョンにデプロイされたグローバルバックエンドのデータベースを強化する方法について説明します。ここでは DynamoDB グローバルテーブルを使用します。これは完全マネージド、マルチリージョンかつマルチマスターのデータベースを提供するもので、世界中のどこにいても低レイテンシーのデータアクセスをユーザーに提供できます。

Read More

Amazon RDS Under the Hood: シングル AZ インスタンスのリカバリ

この投稿では、Amazon RDS シングル AZ RTO と RPO で何を期待できるかについて説明します。 ワークロードによっては RTO と RPO の要件が緩和されている可能性があり、これらのニーズを満たすにはシングル AZ 設定で十分な可能性があります。ただし、シングル AZ のみのソリューションに着手する前に、シングル AZ RDS インスタンスのリカバリの期待値と、どのようなシナリオがあるかを理解する必要があります。

Read More

DynamoDB グローバルセカンダリインデックスを使用してクエリのパフォーマンスを向上させ、コストを削減する方法

この記事では、グローバルセカンダリインデックスを使用してデータを照会し、アプリケーションのパフォーマンスを向上させ、毎月の DynamoDB 請求金額を削減する方法をいくつかご紹介します。最近、テーブルあたりのグローバルセカンダリインデックスの最大数が 5 から 20 に、制限が引き上げられました。そのため、今が DynamoDB の使用を最適化するためのグローバルセカンダリインデックスの使用方法を学ぶ恰好のタイミングです。

Read More

AWS Schema Conversion Tool で仮想パーティション分割を使用する

データウェアハウスの移行では、AWS SCT はデータベーススキーマを Amazon Redshift に移行するだけでなく、データを移行することもできます。この記事では、仮想パーティション分割を使用して AWS SCT でデータウェアハウスの移行を最適化する方法について検討します。仮想パーティション分割は、並列処理を使用することで大きなテーブルからのデータ抽出作業を高速化します。。

Read More

Intuit 社の導入事例: オンプレミス MySQL から Amazon Aurora への移行の自動化

Intuit社はレガシーデータセンターを売却し、顧客向けアプリケーションである QuickBooks、TurboTax、および Mint を AWS に移動させており、今後数年の間には完全に移行させる予定です。このブログ記事では、彼らがオンプレミスMySQLの移行先として、どのような基準で Amazon Aurora を選び、どのようにして最小限のダウンタイムで移行したのかについて共有されています。

Read More

新しい Amazon DynamoDB キー診断ライブラリを使用して、アプリケーションのトラフィックパターンを視覚化および理解する方法

最もアクセスしたデータベース項目のグラフとダッシュボードを表示することを可能にする Amazon DynamoDB キー診断ライブラリを公開しました。このブログ記事では、主要な診断ライブラリを設定する方法を説明します。次に、ライブラリの視覚化を使用して、映画データベースの例で、不均一なアクセス分布のキーを特定する方法を説明します。

Read More

AWS Database Migration Service が並列フルロードと新しいLOB移行メカニズムのサポートによって移行速度を向上

AWS DMS レプリケーションエンジンのバージョン 3.1.2 をご紹介します。新しいバージョンでは UX がより良くなり、たくさんのお客様からリクエストされていたパフォーマンス改善がされています。私たちは、DMS をより良くするという約束を守ることができました。このブログ記事では、いくつか重要な新機能については触れたいと思います。リスト全体については、AWS DMS リリースノートを参照してください。このリリースノートには、DMS の現バージョンと以前のバージョンの機能とバグ修正に関する詳細情報が含まれています。 DMS レプリケーションエンジンバージョン 3.1.2の新機能 UTF-8 4 バイト文字セットのサポート パーティショニングおよびサブパーティショニングされたテーブルのフルロードパフォーマンスの向上 ラージオブジェクト (LOB) パフォーマンスの向上 フルロード中のテーブルのロード順序 PostgreSQL ソースの主キー値の更新をサポート  このブログ記事の概要では、独自で実行できるテストとサンプルが含まれています。これを行うには、以下の AWS リソースが必要です。 AWS アカウント AWS Database Migration Service ソースとなる Oracle データベース ターゲットとなる PostgreSQL データベース UTF-8 4 バイト文字セットのサポート  AWS DMS の以前バージョンの UTF-8 では、4 バイト文字セットはサポートされていませんでした。例えば、U+1F363 🍣、U+1F37A 🍺、U+29E3D 𩸽、または U+2A602 𪘂は、移行中に予期しない動作を引き起こします。4 バイト文字が検出された場合、移行作業は失敗し、「無効なバイトシーケンス」エラーが発生します。  次にこのようなエラーの例を示します。  […]

Read More

Oracle から PostgreSQL へ移行する際に、よく直面する課題を解決する方法

企業は年々データが急激に増加するのを目の当たりにしています。データベースとハードウェアインフラストラクチャをスケーリングし続けることは、ますます困難になっています。ワークロードが非リレーショナルデータストアに適していない場合に、基盤となるインフラストラクチャの管理に膨大な費用を費やすことなく、スケーリングの課題をどのように克服したらいいでしょうか? Amazon RDS for PostgreSQL と Amazon Aurora with PostgreSQL により、コスト効率の高い方法で PostgreSQL クラウドのデプロイを簡単にセットアップ、運用、拡張することができます。昨年、私たちは (数百 GB から数 TB に及ぶ) 100 を超える Oracle データベースを Amazon Aurora PostgreSQL と Amazon RDS for PostgreSQL に移行しました。 この記事では、移行中に持ち上がった最も一般的な問題のいくつかについて説明します。皆さんは AWS Database Migration Service (AWS DMS) を使用して、あるデータベースから別のデータベースにデータを移動させた経験があることでしょう。私も AWS Schema Conversion Tool (AWS SCT) をかなり使い込みました。手始めに、データ抽出プロセスで直面する可能性のある問題を取り上げます。次に、データの移行中に起こる問題について取り上げます。最後に、移行後に PostgreSQL で観察するパフォーマンスの問題について説明します。 抽出フェーズの問題 このフェーズで一般的に直面する問題は、大きなテーブルのデータ抽出が遅くなり、ソース DB で ORA-01555 エラー (スナップショットが古すぎます) […]

Read More

Amazon DynamoDB On-Demand – 事前のキャパシティプランニングが不要のリクエスト課金が可能になりました。

少し前まで、あなたのビジネスに合わせていつでもスケールし安定した低いレイテンシを提供するデータベースを作成することは困難でした。2012年にWerner VogelsがpostしたブログでAmazon DynamoDBがアナウンスされました。(これは私がAWSに入る数ヶ月前の事でした。)DynamoDBは2007年にAmazonが公表したDynamoの論文に基づいて設計されています。それから数年、多くの新機能がAWSの顧客が利用するデータベースを更に簡略化するために導入されました。今、フルマネージドかつマルチリージョン、マルチマスターデータベースとencryption at rest、point-in-time recovery、in-memory cachingなどの機能、そして99.99%のuptime SLAを提供しています。 Amazon DynamoDB On-Demand 今日我々はAmazon DynamoDB on-demand、事前のキャパシティプランニングが不要で1秒あたり数千リクエストのトラフィックにも対応が出来るフレキシブルな課金を実現する新しいオプションを案内します。DynamoDB on-demandはシンプルなpay-per-request課金モデルを提供しreadリクエストとwriteリクエストを使った分に応じて支払うだけになります。これによりシンプルなコスト計算とパフォーマンス管理を実現します。例えばtableにon-demanmd modeを適用すると、DynamoDBは即座に対応しワークロードに応じて以前に観測されたトラフィックレベルまで処理できるようにパフォーマンスを調整します。また新たなピークトラフィックが観測されたときはDynamoDBはワークロードに対応するために迅速に適応します。(翻訳者注: DynamoDBは内部的にパーテーションという概念で負荷を分散します。そのため一度拡張されたテーブルは内部的に何もしなくても拡張された状態を維持している事と、新たな負荷が発生したときも自動的に拡張して対応します。) DynamoDBのコンソールを見るとon-demand read/wriite capacity modeが新規テーブル作成時と既存テーブルのCapacityタブに追加されている事が確認出来ます。 on-demand modeを適用したTableは全てのDynamoDBの機能がサポートされ(例としてencryption at rest、point-in-time recovery、global tablesなど)、例外としてauto scalingはこのmodeでは無効になります。 on-demand modeが有効な状態でセカンダリインデックスを構築した場合も同じスケーラビリティと課金モデルが適用されます。セカンダリインデックスへも使った分だけお支払い頂き事前にキャパシティプロビジョニングする必要はありません。もしon-demand modeが有効なtableでread/writeリクエストが発生しなかった場合、支払う必要があるのはストレージ課金のみになります。 DynamoDBは予測困難なアプリケーショントラフィックへの対応や短期間で大きなスパイクが発生するワークロード、もしくはあなたのテーブルの使用率が平均では低い場合にとても有効です。例えば以下のようなユースケースです。 新たなアプリケーション開発時、もしくはワークロードが複雑で予測が困難な場合 pay-per-use な課金モデルのサーバレスサービスとの組み合わせ SaaSプロバイダやソフトウェアベンダーでシンプルかつリソース分離を必要とするようなアプリケーションを開発している on-demand modeへの変更は1日1回可能です。on-demandからprovisioned modeへの変更も可能です。 簡単にパフォーマンステストをやってみましょう では早速新たに作ったDynamoDB on-demand modeのtableに対して負荷テストを実施してみましょう。 私は2つのサーバレスアプリケーションを作ってみました。 1つ目のアプリケーションはAmazon API GatewayとAWS LambdaでHTTPインターフェイスによるDynamoDBに対してread/writeする処理を実装しています。 2つ目のアプリケーションはLambdaで1000個の並行に同時実行でランダムにHTTPメソッドを生成しendpointに各Itemに操作リクエストを生成するファンクションです。 全てのファンクションは同時実行数100でリクエストを実行し、終了するとすぐにまた別の100同時実行がスタートする処理を一分間行います。ランプアップするために必要な時間は無く、負荷の生成はフルスピードで実行されます!! DynamoDB コンソールのメトリクス tabから、ピーク時には5000request/secの負荷が流れていることとスロットリングが発生しないことをメトリクスから確認ができます。 サーバレスアプリケーションがscalingするか、API GatewayとLambdaとDynamoDBはフルマネージドで対応が出来ています。スループットやアプリケーションロジックに寄る課金の仕組みを計画する事はなく実現出来ました。 […]

Read More