Amazon Web Services ブログ

Category: Database

AWS DMS を使ってデータベースの移行とリフレッシュ処理を自動化する

アプリケーション開発者やシステム管理者は、データの移行、更新、マスクなどの目的で、データストア間での複製を行うことがあります。事前調査、スキーマ変換、スクリプト変換、データ移行、機能試験、パフォーマンスのチューニング、その他のタスクが伴うデータ複製作業は、多くの組織にとって複雑で複数のフェーズが必要な作業となります。そのため、データ複製をサポートするいくつものツールが存在します。 AWS Database Migration Service (DMS) は、データベースを AWS に迅速かつ安全に移行するためのツールです。ソースのデータベースは移行処理中でも完全な機能を維持するので、アプリケーションの中断時間を最小にできます。AWS DMS を利用すると、オープンソースで広く使われている商用データベースとの間で、双方向のデータ移行が行えます。 同種間および異種間、両方の移行をサポートする AWS DMS では、高い可用性を維持したまま、データストア間でのデータ複製を持続的に実行できます。AWS DMS では、全ロードで変更がキャッシュされたデータを、データストア間で継続的に複製できます。 今回の記事では、グローバルなデータの移行や更新、マスキングを自動で行うソリューションをご紹介していきます。このソリューションでは、DMS、AWS Lambda、Amazon CloudWatch リソースなどを統合しながら、AWS CloudFormation スタックをデプロイします。DMS のレプリケーションタスクが、オンプレミスから AWS Cloud 上にあるデータストアへのデータ移行もしくは更新を行います。 今回のデモでは、オンプレミス側のデータベースとしては Amazon RDS for Oracle DB インスタンスを使い、クラウドデータベースとしては Amazon Aurora MySQL インスタンスを使います。DMS のイベントサブスクリプション機能を有効にしておくと、DMS のレプリケーションタスクはすべてのタスクイベントを、Amazon SNS トピックを使い通知するようになります。この SNS トピックは、サブスクライブした Lambda 関数へ通知されます。この Lambda 関数が CloudWatch Events のルールを有効化もしくは無効化した後、DMS のレプリケーションタスクをトリガーします。 ネットワーク上の問題を簡素化するため今回のソリューションでは、すべてのサポートサービスを 1 つの […]

Read More

Amazon Linux 2 の SQL Server 2017 で Active Directory 認証をデプロイし、設定する

Windows 上での SQL Server は、SQL Server インスタンスを設定して、Active Directory アカウントで Windows 認証を使用できるようにします。この記事は、Amazon Linux 2 で SQL Server 2017 を扱う方法について取り上げます。このソリューションは、Amazon EC2 で SQL Server Linux インスタンスを管理するために Windows 認証を使用して、Active Directory アカウントにログインできるようにします。 この記事では、次の作業方法について説明しています。 ドメインに SQL Server Linux インスタンスをデプロイし、結合します。 新しい Active Directory ユーザーを作成して、SQL Server Linux のサービス プリンシパル名を設定します。 SQL Server サービス キータブを追加します。キータブ ファイルを使用して、Active Directory に認証します。 SQL Server Management Studio (SSMS) を使用して、Active […]

Read More

Amazon DynamoDB へのリファクタリング

リレーショナルデータベースから NoSQL への移行を考えていますか? 以下の記事では、Amazon EC2 インスタンスから Amazon DynamoDB への SQL Server データの読み取り、変換、書き込みについて詳しく説明します。AWS Glue を使用して、DynamoDB で複数のテーブルのソースデータモデルを 2 つのターゲットテーブルに変換します。 AWS Glue の代わりに、AWS DMS や AWS Marketplace ツールなど、データモデル変換のためのその他のオプションがあります。この 1 回限りの移行では、複数のテーブルを 1 つに変換するために AWS Glue および Scala コードを選択しました。 概要 このデモでは、商用リレーショナルデータベースをリファクタリングする方法を示します。選択したデータベースは、スポーツイベントのチケットを生成および販売します。データベースを DynamoDB にリファクタリングするためのベストプラクティスと、DynamoDB テーブルを設定し、AWS Glue を使用してデータを転送する方法を説明します。また、VPC エンドポイントと AWS Glue のセキュアな IAM ロールを設定する方法、ソースデータベースをクロールし、Apache Spark ETL ジョブを実行する方法も示します。 すぐに開始するには、DynamoDB リポジトリへのリファクタリングのコードにアクセスしてください。 問題と提案される解決策 環境内で AWS […]

Read More

Amazon DynamoDB Accelerator コンソールのウォークスルー – パート 2

Amazon DynamoDB は、応答時間が 1 桁のミリ秒単位で測定されるスケーラビリティとパフォーマンスを提供します。マイクロ秒単位の応答時間が必要なユースケースでは、DynamoDB Accelerator (DAX) がその実現に役立ちます。DAX は DynamoDB と互換性がある API マネージドキャッシュで、リアルタイムのゲーム、入札、気象分析、取引など、要求の厳しいアプリケーションに高速のインメモリパフォーマンスを提供します。DAX を使用すると、読み取り容量単位を効率的にプロビジョニングすることでコストを削減し、最終的に一貫した読み取りワークロードの応答時間がマイクロ秒に短縮されるため、スループットが向上します。 このブログ記事では、ウェブベースの DynamoDB コンソールを使用して、数回クリックするだけで DAX を有効にすることに焦点を当てています。このウォークスルーの過程で、クラスター、ノード、サブネットグループ、パラメータグループ、イベントなどの DAX 主要コンポーネントについて理解を深めることができます。 DynamoDB コンソール DynamoDB Accelerator セクションの詳細ウォークスルー DynamoDB の設定については、このブログ記事のパート 1 を参照してください。このウォークスルーは、DynamoDB コンソールに 1 回以上アクセスしたことを前提としています。コンソールの DynamoDB DAX セクションで利用可能なすべての機能と、そこからアクセスする方法についてステップバイステップのウォークスルーに沿って説明します。 DynamoDB DAX コンソールに初めてアクセスした後は、常にコンソールの [ダッシュボード] ページから始めます。ダッシュボードには、Amazon CloudWatch アラームによってトリガーされた最近のアラート、DAX サービスヘルス、DynamoDB Accelerator に関するその他の情報に関する DAX コンポーネントの詳細が表示されます。 上のスクリーンショットで番号付けされているように、ダッシュボードのセクションは以下のとおりです。 # セクション 説明 1 クラスターの作成 ダッシュボードから直接、DAX […]

Read More

Amazon RDS PostgreSQL レプリケーションのベストプラクティス

Amazon RDS for PostgreSQL では、読み込み負荷を取り除き、災害復旧 (DR) リソースを作成するために、ソース PostgreSQL インスタンスのレプリカを簡単に設定することができます。リードレプリカは、ソースと同じリージョン、または異なるリージョン内に設定できます。 RDS PostgreSQL リードレプリカインスタンスを使用すると、読み込みワークロードをレプリカインスタンスにオフロードすると同時に、書き込みアクティビティのためにソースインスタンスのコンピューティングリソースも確保します。ただし、レプリケーション遅延を避けるには、リードレプリカを正しく設定し、適切なパラメータ値を設定する必要があります。 概要 この記事では、リードレプリカを正しく設定するためのベストプラクティスをいくつかご紹介します。リージョン内、クロスリージョン、および論理レプリケーションなどのさまざまな RDS PostgreSQL レプリケーションオプションの長所と短所を取り上げ、適切なパラメータ値と、監視するメトリクスを推奨します。以下のステップでは、レプリケーション遅延を最小限に抑えながら、DR 戦略、読み込みワークロード、および健全なソースインスタンスを最適化する方法を説明します。 一般的な推奨事項 全体的なベストプラクティスとして、リードレプリカで実行するリードクエリが、ソースインスタンスとしてデータの最新バージョンを使用することを確認してください。データバージョンは、Amazon CloudWatch メトリクスでレプリケーション遅延を調べることによって確認できます。レプリケーション遅延を最小限に抑えることによって、古いデータに基づいたクエリ出力と、インスタンスの健全性に対するリスクの両方を避けることができます。 リージョン内のレプリケーション RDS PostgreSQL は、ソースインスタンスと同じ AWS リージョン内でリードレプリカを作成するために Postgres ネイティブストリーミングレプリケーションを使用します。ソースインスタンスでのデータの変更は、ストリーミングレプリケーションを使ってリードレプリカにストリームされます。このプロセスが何らかの理由で遅れると、レプリケーション遅延が発生します。以下の図は、RDS PostgreSQL が同じリージョン内のソースとレプリカの間でレプリケーションを実行する方法を示しています。 この後のセクションでは、同じリージョン内でホストされている RDS PostgreSQL インスタンスを最適にレプリケートするために Postgres インスタンスを調整する方法について説明します。 適切な wal_keep_segments の値 Postgres では、wal_keep_segments パラメータで pg_wal ディレクトリに保存される WAL ログファイルセグメントの最大数を指定します。Postgres は、このパラメータを超える WAL セグメントを Amazon S3 バケットにアーカイブします。 リードレプリカが […]

Read More

Amazon Aurora Multi-Master を使用して高度に使用可能な MySQL アプリケーションによりビルド

アップタイム要件が高いトランザクション性のアプリケーションをお持ちですか? これらの要件を満たすために、クラウドにリレーショナルデータベースが必要ですか? 新しく開始された Amazon Aurora Multi-Master は、ノードの障害に柔軟性のあるリレーショナルデータベースを必要とするアプリケーションのために設計され、読み取りと書き込みの両方に利用可能です。 Amazon Aurora は、ハイエンドな商用データベースの速さや可用性と、オープンソースデータベースのシンプルさと高い費用対効果とを組み合わせたリレーショナルデータベースエンジンです。MySQL 互換エディションの Aurora は、同じハードウェアで動作する標準 MySQL の最大 5 倍のスループットを実現します。これにより、既存の MySQL アプリケーションおよびツールを変更することなく実行できます。Amazon Aurora は 1 個のライターと最高 15 個の読み取りレプリカを 1 つ以上のアベイラビリティ―ゾーンとリージョンでサポートします。 Amazon Aurora Multi-Master は Aurora の MySQL 互換エディションに使用可能です。クラスターの各ノードはライターノードで、厳しいアップタイム要件をもつトランザクション性アプリケーションを実行するための追加パワーを与えます。 この記事では、MySQL 互換エディションのデータベース用の Aurora Multi-Master を最大限利用するために知っておくべきことを見直します。 アーキテクチャ Aurora Multi-Master は、データベースノードのクラスター全体で高可用性と ACID トランザクションを実現し、読み取り / 書き込み後の整合性を設定できるように設計されています。そのコアで、Aurora クラスターは計算 (データベース) ノードと共有ストレージボリュームのセットから構成されています。ストレージボリュームは、ユーザーデータの高可用性と耐久性のために、3 つのアベイラビリティーゾーンに配置された 6 つのストレージノードで構成されています。クラスターの各データノードは、ステートメントの読み取りと書き込みを実行できるライターノードです。 下図は […]

Read More

Amazon ElastiCache for Redis でクラスターモードを使用する

 私が AWS を気に入っている理由の 1 つは、幅広い技術的ユースケースに取り組むために使用できる多数のビルディングブロックがあることです。Amazon ElastiCache for Redis は、そうしたビルディングブロックの 1 つです。データベースキャッシュの高速化のニーズを最もよく考慮していますが、ElastiCache は非常に柔軟で高速 (マイクロ秒) です。これまでに、ElastiCache を使用して地理空間クエリを実行し、リアルタイムダッシュボードを構築する方法について説明しました。 この記事では、既存のワークロードにほとんど変更を加えることなく、信頼性と可用性を強化するためにクラスターモードを有効にした ElastiCache for Redis を活用する方法について説明します。後で説明するように、クラスターモードには、Redis クラスターの水平方向の拡大および縮小という主な利点があり、クラスターのパフォーマンスへの影響はほとんどありません。これまでに過剰または過少にプロビジョニングされている Redis クラスターに遭遇したことがあるか、その内部の仕組みをもっとよく理解したいなら、この記事をお読みください。 詳細を説明する前に、ElastiCache for Redis クラスターを起動する際の構成オプションについて簡単に説明します。次の図に示すように、(1) シングルノード、(2) クラスターモード無効、(3) クラスターモード有効の 3 つのクラスター構成のいずれかを使用することができます。モードに関係なく、特定のクラスター内のすべてのノードは、(基礎となる EC2 インスタンスに関して) 同じノードタイプおよび構成になるように設計されています。 3 つのモードは、主に信頼性、可用性、およびスケーリングの動作が異なります。本稼働のワークロードの場合は、データの保護を強化するためにレプリケーションを含む構成を使用することを検討してください。プライマリノードを除いて、何らかの理由でノードに障害が発生した場合でも、他のノードにレプリケートされているためデータは失われません。プライマリノードに障害が発生した場合は、レプリケーションのレイテンシーが原因で一部のデータが失われる可能性はあります。次の表は、ElastiCache for Redis の構成間の主な違いをまとめたものです。 シングルノード クラスターモード無効 クラスターモード有効 レプリケーション可能? いいえ はい (ノードあたり最大 5 つのレプリカ) はい (ノードあたり最大 5 つのレプリカ) データパーティション分割可能? […]

Read More

Amazon Alexa および AWS Systems Manager でのカスタムスキルを使ったデータベースの管理

 Amazon のお客様は何年も、消耗品を注文、音楽を聴く、ミーティングをサポート、ホームデバイスを管理、そして天気や最新ニュースを知るために Amazon Alexa の音声コマンドを使ってこられましたが、AWS のリソース管理となるとどうでしょうか。 AWS のマネージドサービスと完全マネージドサービスは、すでに管理タスクを減らし、アプリケーション上のリソースに焦点を当てることを可能にしていますが、今では音声対話で管理工数をさらに削減できるようになっています。 IT 管理者によるインフラストラクチャの管理と制御 開発者によるメトリクスのチェックと事前定義されたタスクのセキュアな実行 マネージャーによる IT リソースステータスとメトリクスの監視 さらに、これらのタスクはキーボードに触れることなく実行できます。 この記事では、Alexa の音声コマンドを使用して Amazon RDS インスタンス、または Amazon Aurora インスタンスを管理するためにインフラストラクチャを設定する方法について説明します。Alexa に、データベースインスタンスのメトリクス、設定、およびステータスを E メールするだけでなく、再起動やフェイルオーバーも実行してもらいましょう。 前提条件 AWS リソースの適切な音声管理には、以下を含めた AWS のサービスの組み合わせへのアクセスが関与します。 Alexa AWS Lambda Amazon EC2 AWS Systems Manager Amazon CloudWatch Amazon RDS Amazon Aurora Amazon SNS Amazon のクラウドベース音声サービスである Alexa は、毎日使うテクノロジーと直観的にやり取りすることを可能にします。このサービスを最大限に活用していただくため、Amazon は Alexa で音声エクスペリエンスを構築するためのツールと […]

Read More

AWS DMS 3.1.3 での Parquet データ形式のサポートの発表

本日、AWS DMS は、Apache Parquet データ形式で、AWS がサポートするソースから Amazon S3 へのデータの移行のサポートを発表しました。これは、DMS 3.1.3 の多数ある新機能の 1 つです。お客様の多くは、データレイクを構築するために DMS で「ターゲットとしての S3」サポートを利用しています。そして、このデータを Amazon EMR、Amazon Athena、Amazon Redshift Spectrum などの他の AWS のサービスと共に使用しています。そうした中、さまざまな形式で S3 への移行をサポートする方法が求められ、この機能が利用可能になりました。 この記事では、選択した S3 バケットおよびフォルダに、Parquet 形式のデータを移行するように DMS タスクを設定する方法を説明します。 概要 Apache Parquet は、効率的な圧縮およびエンコードスキームをサポートするように構築されています。複数のプロジェクトで、データに適切な圧縮およびエンコードスキームを適用することによるパフォーマンスへの影響が実証されています。Parquet は列ごとのレベルで圧縮スキームを指定することを可能にし、今後発明、実装されるより多くのエンコーディングを追加できることが将来的に保証されています。AWS DMS 3.1.3 では、Parquet 形式で S3 への移行をサポートできます。 ウォークスルー まず、適切な設定で S3 ターゲットエンドポイントを作成します。Parquet 形式のデータを移行するために必要な追加の接続属性を使用してこれを行うには、AWS CLI を使用する方法、DMS コンソールを使用する方法の 2 つの方法があります。 AWS CLI […]

Read More

Amazon RDS Performance Insights のカウンターメトリクスを Amazon CloudWatch にインポートする

Amazon RDS Performance Insights では、Amazon RDS データベースインスタンスをモニターでき、データベースのパフォーマンスの分析やトラブルシューティングが可能です。Performance Insights のデータは AWS Management Console で表示させることができます。また別の手段として、Performance Insights の公開された API を使い、ご自分が必要なデータを照会することもできます。この API を使って、データ取得や、既存のモニタリングダッシュボードへの Performance Insights データの追加、あるいは、ご自身のモニタリングツールの構築などが行えます。今回のブログでは、Cloudwatch へデータを送信するために、この API を使用します。 概要 Performance Insights では、システムパフォーマンスのモニタリングに使うため、オペレーティングシステムやデータベースカウンターについての、多様なメトリクスを収集します。各 Amazon RDS データベースエンジンには、Aurora メトリクスなど、一連のカウンターメトリクスが個別に備わっています。データベースパフォーマンスのトラブルシュートは、データベースの動作時刻を指定することで開始できますが、カウンターメトリクスも、データモニタリングのために、二次的ソースとして便利に利用できます。またこれらを、既存のシステムダッシュボードに統合すると便利です。 この記事は、データベースカウンターメトリクスに関心をお持ちの方すべてに向けたものです。まず、2 つある Performance Insights API の 1 つである GetResourceMetrics を取り上げます。これにより、Performance Insights からデータを取り出す AWS Lambda 関数を作成する方法と、別のモニタリングシステムにそれを統合する方法をご紹介します。この記事では、Boto3、Python3、AWS CLI、Performance Insights API を使用していきます。作業開始の前に、Performance Insights が有効化された Amazon […]

Read More