Amazon Web Services ブログ

Category: Amazon RDS

RDS for MySQL データベースを Amazon Aurora へ移行するためのベストプラクティス

MySQL は世界で最も普及しているオープンソースデータベースです。それにも関わらず、多くの利用者が一様にバックアップ、高可用性の確保にかかる膨大な手間に苦心していたり、また MySQL のスケーリングが複雑である、時間がかかる、あるいはその両方であると感じています。 お客様がそうした既存の MySQL 環境から Amazon RDS for MySQL へ移行する最大の理由の 1 つはそこにあります。Amazon RDS はポイントインタイムリカバリや高可用性などのオプションを複雑な設定など一切なしですぐに使用できる機能を提供します。RDS for MySQL はさらに、ソースあたり 5 つのリードレプリカに対応しています。このように、バイナリログ (binlog) レプリケーションを手動で設定したり、保守したりする必要なく、簡単にワークロードをスケールできます。 MySQL にハイエンドコマーシャルデータベースのパフォーマンスおよび可用性との互換性を期待するのであれば、MySQL データベースを Amazon Aurora に移行することでそれを実現できます。MySQL との互換性を持つ Amazon Aurora を使用することで、fast database clones および autoscaling replicas などの機能を活用できます。また、AWS Lambda および Amazon CloudWatch Logs といった他の AWS サービスとのネイティブ統合も可能になります。これらの機能に加えて、Amazon Aurora はまた、3 つのアベイラビリティーゾーンをまたぐデータのレプリケーションにより、優れた耐久性を実現します。また、最大で 15 個の Aurora レプリカにスケール可能で、すべてが通常では 20 […]

Read More

Amazon RDS の手動スナップショットを管理するための通知メカニズムを構築する

ビジネスの規模に関係なく、ビジネスを遂行する上でデータが不可欠な要素であることは隠すまでもないことです。多くの企業は、リレーショナルデータベースを使用してビジネスデータをホストしています。その結果、バックアップとリカバリはビジネスを継続的に実行するための重要な側面になっています。Amazon RDS の顧客は、複数の戦略を活用して、自動スナップショットと手動スナップショットの両方でデータをバックアップします。データベースを削除すると自動スナップショットも削除されるため、Amazon RDS の手動スナップショットを使用して寿命を延ばすことができます。また、アカウント間およびリージョン間での共有機能を備えた災害対策用の手動スナップショットを使用することもできます。Amazon RDS は、単一のスナップショットからデータベース全体をリカバリできるため、さまざまなバックアップニーズに対応します。 この記事では、RDS インスタンスと Aurora クラスターの両方の Amazon RDS 手動スナップショットを管理するためのサーバーレスの通知メカニズムを構築する方法を示します。実行する主なアクティビティは次のとおりです。 RDS インスタンスと Aurora クラスターのリストを指定されて、定義されたバックアップ間隔で手動スナップショットを作成する バックアップの保存期間に基づいて、古い手動スナップショットを削除する このアクティビティの最後に、新しく作成された手動スナップショットと古い削除されたスナップショット (存在する場合) のリストが登録しているユーザーに通知される。 詳細については、README.md ファイルを参照し、GitHub リポジトリからソリューションを起動してください。 サーバーレスソリューションのアーキテクチャ このサーバーレスソリューションは、AWS CloudFormation スクリプトに組み込まれています。このスクリプトは、ユーザー指定のスナップショットバックアップ間隔、バックアップ保持期間、RDS インスタンス名のリスト、通知用の E メールアドレスなどのさまざまな入力を受け取ります。Amazon CloudWatch Events ルールは、スケジュールに従って AWS Step Functions ステートマシンを起動します。このステートマシンは手動スナップショットを作成し、古いスナップショットを削除し、最終的に Amazon SNS に通知を送信します。SNS は、ユーザー提供の E メールアドレスに E メールを送信します。 Amazon RDS 手動スナップショット (RDS インスタンスと Aurora クラスター) を管理するソリューションは、次の […]

Read More

カリフォルニア州立工科大学ソフトウェア工学科のキャップストーンで MySQL のキャプチャーリプレイを AWS に構築

カリフォルニア州立工科大学は、「Learn by Doing」(実践で学ぶ) という同大学の理念にのっとり、ソフトウェア工学科のキャップストーンを開講しました。この科目で学生は 1 年を通じて協働産業プロジェクトとはどういうものかを体験します。今回で David Janzen 博士がこの科目を教えるのは 10 年目になります。博士は、この長さの科目に最適なプロジェクトを見付け、適切な難易度を与えることに長けています。 今年のプロジェクトは「AWS MyCRT」でした。これは「MySQL Capture and Replay Tool」のことです。 Amazon RDS のチームがサポートしました。30 人の学生が能力に基づいてチームに分かれた結果、5 つの多才なチームができ、それぞれが独自の MyCRT を実装しました。 チーム会議、顧客との会議、Amazon RDS チームの Brian Welcker、Rosa Thomas、Sachin Honnudike との要件導出がプロジェクトを方向付けました。これらの会議から、チーム Titans が以下のようなプロジェクトの背景を導き出しました。 アマゾン ウェブ サービス (AWS) では、Amazon のマネージドデータベースサービスである Relational Database Service (RDS) が利用できます。さまざまなサーバーハードウェアから、顧客の要求に最適なものを選ぶ必要があります。しかし、性能要求に合うハードウェアの選択は難しい判断です。また、性能が不足していたり、不必要に性能が高かったりするのも大変不経済です。Amazon の顧客は、異なるサーバー設定の間で性能を比較し、要求に対して適切なサーバーリソースかどうかを確認したいと言っていました。 この問題に対する MyCRT のソリューションは、RDS MySQL データベースでのワークロードとメトリクスをキャプチャーすることです。これにより、キャプチャーしたワークロードを異なるデータベース設定でリプレイし、メトリクスを収集することができます。また、収集した結果を解析することにより、ビジネス要求に対して理想的な MySQL と RDS の設定を選ぶこともできます。どのチームも、AWS […]

Read More

Amazon RDS Performance Insights が一般利用可能に

本日、Performance Insights が一般利用可能になったことを発表します。Performance Insights を使用すると、パフォーマンス問題が発生したときのボトルネックを簡単に特定し、対処方法を見つけることができます。

一般利用可能に合わせて、Performance Insights は次の機能を導入します。

* 7日間のパフォーマンスデータ履歴
* パフォーマンスデータの長期保持オプション
* SDKとAPIの一般公開

Read More

新機能: Amazon RDS for Oracle Database がvCPUの削減や最適化に対応

すべてのAWSサービスと同様に、Amazon RDS のロードマップは、主にお客様からのフィードバックや製品改善リクエストに基づいています。Oracle RDS for Oracle Database でデータベースワークロードを実行しているエンタープライズの複数のお客様から、私たちはフィードバックを受けました。そのフィードバックとは、物理コアに対するRAMの比率を Amazon RDS for Oracle より大幅に高くすることで、Oracleのワークロードを実行しているエンタープライズのお客様は、ソフトウェアライセンスの価値を最大化しているというものでした。

この記事の目的は、Amazon RDS 上の Oracle Database のための2つの新機能を使用することで、仮想CPU (vCPU) の数を減らし、ライセンスコストを最適化する方法を説明することです。

Read More

Amazon RDS for MySQL および MariaDB に MariaDB MaxScale を使用して Binlog Server を設定する方法

Amazon RDS for MySQL と Amazon RDS for MariaDB の主要機能の 1 つが リードレプリカ を作成する機能です。AWS マネジメントコンソールまたは AWS CLI を使用して、1 つのマスターデータベースインスタンスについて、最大 5 つのレプリカを簡単に作成できます。Amazon RDS は、マスターのバックアップを作成し、バックアップをレプリカとしてリストアし、マスターとレプリカへのレプリケーションチャネルを確立する、といった作業すべてを処理します。Amazon RDS のレプリケーションを完全に自動化した処理は、マネージドレプリケーションと呼ばれます。 非標準のレプリケーショントポロジを求めている場合は、Binlog Server を使用できます。たとえば、レプリカが 5 つ以上必要な場合や、下流のアプリケーションにレプリケーションログレコードを転送する場合です。Binlog Server はレプリカとは違い、マスターのログレコードを使用せず、マスターと 1 つ以上のサブスクライバーの間にキャッシングレイヤーを提供します。今回の記事では、このアプローチを使用した場合の利点 (といくつかの制限) について説明します。MariaDB MaxScale と ノンマネージドレプリケーション を使用して、Amazon RDS for MySQL および MariaDB に Binglog Server をセットアップする作業を紹介します。 Amazon RDS for MySQL および MariaDB […]

Read More

Performance Insights を使用した Amazon RDS データベースの負荷分析

AWSは Amazon Aurora with PostgreSQL compatibility の一般リリースを先日発表しました。このリリースには Performance Insights と呼ばれる Amazon Relational Database Service (Amazon RDS) に有用な機能の最初のリリースも含まれます。データベースの負荷(どのSQL文が負荷を発生させており、それはなぜなのか)を可視化するダッシュボードを使用して、エキスパートな方とエキスパートではない方の両方が、Performance Insights でパフォーマンス問題を容易に検出できます。

Read More

Amazon RDS for PostgreSQLにおける自動バキュームのケーススタディ

PostgreSQLデータベースにおいて、自動バキューム処理(autovacuum)は複数の重要なメンテナンス操作を実行します。周回を防止するためにトランザクションIDをフリーズすることに加えて、デッドタプルを削除し空きスペースを回復させます。書き込み回数の多いデータベースの場合は、自動バキュームを頻繁に実行するようにチューニングすることをお勧めします。そうすることで、テーブルやインデックスを膨らませるデッドタプルの蓄積を避けることができます。

この記事では、デッドタプルが蓄積される状況でどのように自動バキューム処理を監視し、チューニングするかを実際に示すために、ケーススタディを用いてご説明します。

Read More

Ora2pg と AWS DMS を使用して BLOB および CLOB テーブルを Oracle から PostgreSQL に移行する方法

多くの企業は、Oracle データベースを PostgreSQL に移行することを検討しています。プラットフォームと企業間の互換性が高く、またライセンスコストを削減するためです。Amazon RDS for PostgreSQL と Amazon Aurora with PostgreSQL の互換性により、コスト効率の高い方法で PostgreSQL のデプロイメントをクラウドに簡単にセットアップ、運用、拡張できます。 AWS は、AWS 環境またはオンプレミスデータセンターのいずれかで実行されている Oracle データベースを移行する 2 つのサービスを提供します。AWS Schema Conversion Tool (AWS SCT) は、既存のデータベーススキーマをターゲットデータベーススキーマに変換するのに役立ちます。AWS SCT がスキーマを自動的に変換できない場合は、ターゲットデータベースに同等のスキーマを作成する方法を示す評価レポートが表示されます。AWS Database Migration Service (AWS DMS) は、ソースデータベースからターゲットデータベースに実際のデータを移行するのに役立ちます。 AWS DMS の外部で大きな BLOB および CLOB を移行したいとお考えかもしれません。オープンソースツール Ora2Pg を既によく知っている場合は、このツールを使用してデータを一括読み込みし、AWS DMS を変更データキャプチャ (CDC) に使用できます。 このブログ記事では、Amazon RDS for Oracle データベースを Amazon […]

Read More

Amazon RDSでのIAM multifactor authenticationの利用について

お客様からよく頂くご要望に、インスタンス、スナップショット、クラスタなどのリソースを予期しない、または悪意のあるユーザの削除から保護する方法です。これは、複数のユーザーやチームで共通のAWSアカウントを使用する場合に特に重要です。アカウント内の利用を効率的に行うことも重要ですが、重要なデータを失うことを防ぐためにセキュリティも必要です。 1つの選択肢は、AWS Identity and Access Management(IAM)ポリシーをmultifactor authentication (MFA)で使用することです。MFAでは、AWSリソースに関連した操作を行う際に、承認された認証デバイスまたはSMSテキストメッセージから取得した一意の認証コードを入力する必要があります。この記事はMFAを用いたAmzon RDSのリソースの保護についてご説明します。 たとえば、* prod *のような命名規則でタグ付けされ保護されたリソースの削除を制限するIAMポリシーを作成します。 次に、AWSマネージメントコンソールにアクセスするためにMFA認証が必要な2つ目のIAMポリシーを作成し、このアカウントに対して特定の削除権限を与えます。このようにして、アクセス権のあるすべてのユーザーを監査し、選択されたユーザーのみが必要な権限を持っていることを確認できます。 2つのポリシーを利用します。1つはAWS managed policyの、AmazonRDSFullAccessです。もう1つはcustomer managedポリシーの、RDSDenyDeleteというポリシーを作成します。このポリシーは、リソースを削除する可能性のあるコマンドの実行を制限します。 First step: Start in the IAM console IAMコンソールを開きます。Create policyを選択し、次のJSONコードをポリシーエディタボックスに貼り付けます。 { “Statement”: [ { “Effect”: “Deny”, “Action”: [ “rds:DeleteDBClusterSnapshot”, “rds:DeleteDBSnapshot”, “rds:DeleteDBCluster”, “rds:DeleteDBInstance” ], “Resource”: “*” } ] } Review policyを選択し、ポリシーに名前と説明を付けます。 次に、AmazonRDSFullAccessポリシーとRDSDenyDeleteポリシーを組み合わせたグループを作成します。 IAMコンソールのGroupsから、Create new groupを選択し、グループ名を設定します。この例ではAWSDevelopmentTeamを利用します。 Next stepを選択します。AmazonRDSFullAccessおよびRDSDenyDeleteの横にあるチェックボックスをを選択します。 Next stepを選択し、Create groupを選択します。 […]

Read More