• 会員限定
  • 2021/06/24 掲載

Amazon RDSの基本を解説、作成方法やAuroraでの利用のメリットを詳しく

連載:やさしく学ぶAWS入門

  • icon-mail
  • icon-print
  • icon-hatena
  • icon-line
  • icon-close-snsbtns
会員になると、いいね!でマイページに保存できます。
Amazon RDS(Amazon Relational Database Service)は、アマゾンがAWS上で提供しているデータベースサービスです。OSやデータベースエンジンの管理はAWS側で行われるので、ユーザーは契約後すぐにアクセス可能です。「やさしく学ぶAWS入門」第5回ではこのRDSの特徴について、AWSのデータベースエンジンである「Amazon Aurora」の詳細とあわせて、解説していきます。
photo
AWSのデータベースサービス、Amazon RDSの特徴や使い方とは
(Photo/Getty Images)

連載一覧
第1回:AWS入門
第2回:Amazon EC2入門
第3回:Amazon VPC入門
第4回:Amazon S3入門
第5回:Amazon RDS入門
第6回:AWS Lambda入門
(連載予定は変更になる場合もございます)

Amazon RDSとは

 Amazon Relational Database Service (以下、RDS)はリレーショナルデータベースを提供するサービスです。

 オペレーティングシステムやデータベースエンジンの管理はAWS側で行われ、利用者は数分でデータベースを起動してアクセスできます。Amazon EC2(EC2)同様、従量課金となっており、RDSインスタンスが起動している時間に対して利用料が発生します。

 現時点でRDSでは次の6つのデータベースエンジンをサポートしています。

  • MySQL
  • MariaDB
  • Oracle
  • SQL Server
  • PostgreSQL
  • Amazon Aurora

 上記の内、Amazon Auroraは、クラウド向けにAWSが構築したデータベースです。MySQLおよびPostgreSQLと互換性があります。

 ほかのデータベースエンジンと比べて異なる部分が多いため、まずはAmazon Aurora以外のデータベースエンジンにおけるRDSの特徴を紹介し、後ほど(2ページ目で)Amazon Auroraの特徴を紹介します。

RDSの作成方法

 RDSを使うと、AWSマネジメントコンソール(GUI)またはAPIを使用してコマンドやプログラム経由で作成が可能です。

 マネジメントコンソールから作成する場合は、画面から以下の項目を指定することでRDSインスタンス(サーバ)が作成され起動します。

  • データベースエンジン、バージョン
  • DBインスタンス識別子
  • マスターユーザー名、パスワード
  • DBインスタンスクラス(マシンスペック)
  • ストレージ設定
  • マルチAZ配置
  • ネットワーク設定(配置するAmazon VPCなど)

 このほかにもいくつか設定可能な項目がありますが、最低限これらの設定をしておけば作成が可能です。起動後、設定したマスターユーザー名とパスワードでデータベースへ接続ができるようになります。

 たとえば、データベースエンジンがMySQLの場合は次のコマンドでデータベースに接続できます。

mysql -h mysql instance1.123456789012.ap-northeast-1.rds.amazonaws.com -P 3306 -u masteruser -p

Amazon RDSの6つの特徴

 RDSの代表的な特徴を見ていきます。

●RDSインスタンスタイプ
 EC2と同じく、インスタンスのスペック(CPU、メモリ)は、インスタンスタイプを選択することにより決定します。インスタンスタイプのネーミングは次のようになっています。

画像
RDSインスタンスタイプ

 最初が「db」固定になっている以外は、EC2と同様のネーミングルールになっています。利用料は従量課金となっており、時間あたりの単価はインスタンスタイプにより異なります。高スペックなインスタンスタイプほど高料金となります。

 利用予定のインスタンス使用量を決定して先払いする方式である、リザーブドインスタンスにも対応しています。EC2で紹介したSavings Plansやスポットインスタンスは、現時点でRDSには対応していません。

●マルチAZ配置、スタンバイレプリカ
 RDSでは、メインとなるプライマリインスタンスのほかに、スタンバイレプリカを別のAZ(アベイラビリティーゾーン)に配置することでマルチAZな高可用性を実現できます。

画像
マルチAZ配置

 データの同期がプライマリインスタンスからスタンバイレプリカに行われており、プライマリインスタンスやAZに障害があった場合、スタンバイレプリカにフェイルオーバー(切り替え)することでDB接続を継続できます。

 アプリケーションからRDSへ接続する際はエンドポイントというDNS形式の接続情報を使用します。プライマリインスタンスに障害が発生した場合、このエンドポイントの向き先が自動的にスタンバイレプリカに切り替えられます。

画像
障害時の動作

 スタンバイレプリカは可用性向上が目的であり、性能向上が目的ではありません。読み取り性能を向上したい場合は、次に説明するリードレプリカを使用します。

●リードレプリカ
 リードレプリカは読み込み専用として利用できるプライマリインスタンスから複製されたインスタンスです。読み込み処理について、スケールアウトでパフォーマンスが向上できます。あくまで読み込み専用のため、書き込み性能についてはリードレプリカで向上できません。書き込み性能については、インスタンスサイズを変更してスケールアップさせることによりパフォーマンスを向上させます。

画像
リードレプリカ

●VPCによるネットワーク制御
 RDSインスタンスは、AWS上に作成したネットワークであるAmazon Virtual Private Cloud (以下、VPC) 上で起動します。VPCの詳細については以前の記事をご確認ください。起動には少なくとも2つのサブネットが必要です。VPCのアクセス制御で使用するセキュリティグループやネットワークACLを使用してRDSへのアクセス制御を行えます。

●バックアップ
 RDSには自動バックアップ機能があり、これを有効にすることで利用者が指定した日数分のスナップショットが自動保持されます。保持日数は0~35の範囲で指定が可能で、0の場合は自動バックアップが無効となります。初回のスナップショットは、すべてのデータをバックアップしますが、2回目以降のスナップショットは差分(変更された)データのみ取得します。

 スナップショットの取得処理は、利用者が指定したバックアップウィンドウの時間帯で実行されます。

 シングルAZ配置の場合、バックアップ開始時に一時的にI/Oの中断が発生する可能性があります。マルチAZ配置の場合、バックアップはスタンバイインスタンスから取得されるため、I/Oの中断は発生しません(ただしSQL Serverを除く)。

 スナップショットのファイルはAmazon S3(以下、S3)上に格納されるため、ファイルの耐久性は非常に高いです。S3に保存されますが、利用者側からS3バケットのファイルとして見えるわけではありません。仕組み上、S3が使用されているとご理解ください。

画像
スナップショットの構造

 取得したスナップショットは、新しいDBインスタンスを作成するという形で復元でき、既存のDBインスタンスへは復元できないため注意が必要です。

 スナップショットは日次で取得されますが、それとは別にトランザクションログがS3に5分単位で保存されています。ポイントインタイムリカバリという機能を使用して、特定の時間(最短で5分前、保持期間内)を指定して復元できます。スナップショット同様、既存のDBインスタンスではなく新規インスタンスとして復旧することになります。

●メンテナンスウィンドウ
 OSやデータベースエンジンのバージョン更新、パッチ適用はAWS側で実施されますが、更新作業はメンテナンスウィンドウという利用者側が設定した時間帯に実施されます。いくつかのメンテナンス作業では、DBインスタンスが一時的にオフライン(利用不可)となります。そのため、DBの使用率が最も低い時間帯を設定すると良いでしょう。

 マルチAZ配置にしていた場合、スタンバイレプリカ→プライマリインスタンスと順にメンテナンスが実行されます。DBアクセスのないインスタンスをメンテナンスするため、DBがオフラインとなる影響を軽減できます。ただし、データベースエンジンのアップグレードはプライマリおよびスタンバイレプリカが両方同時にアップグレードされます。

【次ページ】RDSの責任範囲とSLA、DBエンジン「Amazon Aurora」の詳細説明
関連タグ タグをフォローすると最新情報が表示されます
あなたの投稿

    PR

    PR

    PR

処理に失敗しました

人気のタグ

投稿したコメントを
削除しますか?

あなたの投稿コメント編集

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

通報

このコメントについて、
問題の詳細をお知らせください。

ビジネス+ITルール違反についてはこちらをご覧ください。

通報

報告が完了しました

コメントを投稿することにより自身の基本情報
本メディアサイトに公開されます

必要な会員情報が不足しています。

必要な会員情報をすべてご登録いただくまでは、以下のサービスがご利用いただけません。

  • 記事閲覧数の制限なし

  • [お気に入り]ボタンでの記事取り置き

  • タグフォロー

  • おすすめコンテンツの表示

詳細情報を入力して
会員限定機能を使いこなしましょう!

詳細はこちら 詳細情報の入力へ進む
報告が完了しました

」さんのブロックを解除しますか?

ブロックを解除するとお互いにフォローすることができるようになります。

ブロック

さんはあなたをフォローしたりあなたのコメントにいいねできなくなります。また、さんからの通知は表示されなくなります。

さんをブロックしますか?

ブロック

ブロックが完了しました

ブロック解除

ブロック解除が完了しました

機能制限のお知らせ

現在、コメントの違反報告があったため一部機能が利用できなくなっています。

そのため、この機能はご利用いただけません。
詳しくはこちらにお問い合わせください。

ユーザーをフォローすることにより自身の基本情報
お相手に公開されます