2021/05/24

AWS全体の可用性を高めたいときには、リードレプリカを作りましょう!

 
  

AWS上のアプリケーションに高い可用性を実装するリードレプリカとは?


AWS(Amazon Web Service)は、Amazonの代表的クラウドサービスです。

AWS上にあるマネージド型リレーショナルデータベースのセットアップ、オペレーションをサポートするAWS RDS(Amazon Relational Database Service)で、アプリケーションに高可用性を実装するのがリードレプリカです。

これから、アヴェイラビリティゾーン(Availability Zone:AZ)の数によらず、AZに読み込み専用のRDSを複製することで、クラウド全体の可用性を高めるリードレプリカについてお話ししていきます。

AWS上のリレーショナルデータベースのセットアップ、オペレーションをサポートするAWS RDSとは?


Amazon RDSは、クラウド上のリレーショナルデータベース(RD)のセットアップ、オペレーションや管理タスクを自動化することにより、ユーザーの業務負担を軽くするサービスです。

ここでは、Amazon RDSについて、導入することのメリットは何かという視点で、その魅力を掘り下げていきましょう。

Amazon RDSが目指す目標は?

Amazon RDSは、データベースエンジンとして、Amazon Aurora、MySQL、MariaDB、Oracle、Microsoft SQL Server、PostgreSQLから選択でき、導入前のデータベースで使っていたコードやアプリケーションをそのまま使えます。

Amazon RDSを導入することによって、「ユーザーのデータベース管理作業を代行し、ユーザーをビジネスに集中させる」というAWS共通の目標を実現できます。

Amazon RDSによって、クラウド上のRDのセットアップ、オペレーションとスケーリングを簡単に運用できますが、目標実現のためにクラウド上でAmazon RDSがどのように大きく貢献しているのか、その特徴から見ていきましょう。

Amazon RDSの特徴は?

Amazon RDSの特徴は、柔軟なスケーラビリティによって可用性と耐久性を高めることで、ユーザーがビジネスに集中できる環境を提供することです。

今回の本題である「リードレプリカ」は、柔軟なスケーラビリティを実現するために大きく寄与しているものです。

このほか、管理タスクの軽減、コスト低減や、暗号化・ファイアウォール・アクセス制限を組み合わせたセキュリティ強化も、Amazon RDSの特徴となっています。

柔軟なスケーラビリティ

Amazon RDSは、ユーザーの要件に沿って、デプロイ時のコンピューティングリソースやメモリリソースはもちろん、データベースの保管ボリュームサイズも柔軟にスケーリングできます。

Amazon RDSは、障害時の復旧に備えるためにマルチAZで行う同期レプリケーションと、読み込み専用のマスターデータベースを複製する非同期レプリケーションを行うことにより、可用性を高めています。

本番環境で危険性の高いオペレーションには同期レプリケーションで対応し、読み取り頻度が高いオペレーションには非同期レプリケーションで対応します。

レプリケーションについては、リードレプリカの項で、くわしくご紹介します。

管理タスクの軽減

RDに対する管理タスクの軽減は、多様なアクセス方法、あらかじめ設定されているAmazon RDSデータベースインスタンス、自動パッチの適用およびベストプラクティスのガイダンス提供によってもたらされます。

わずか数分という短い時間でアクセスが可能で、AWSマネジメントコンソール、Amazon RDSコマンドラインインターフェイスおよびAPIコールが使われます。

コスト低減

Amazon RDSは、使ったリソースの費用だけがかかり、初期費用は必要ありません。

そのほか、年単位での契約でデータベースインスタンスを予約するオプションや、特に開発・テスト段階での停止と起動を適切にコントロールすることにより、経費節減を図れます。

セキュリティ強化

通常、オンプレミス、クラウドへのイレギュラーな外部からの不正侵入に対しては、日常的な監視が施され、障害や異常の検知や修復します。

特に、AWSでは、セキュリティの観点から、Amazon VPC上でデータベースインスタンスを運用するよう推奨されています。

Amazon RDSは、SSL(Secure Socket Layer)によるデータ保護、AWS KMS(Key Management System)による暗号化およびAWS IAM(Identity and Access Management)によるアクセス制限を組み合わせることにより、セキュリティを強化しています。

AWS RDSの可用性を高めるためのレプリケーションとは?


Amazon RDSの可用性は、レプリケーションを行うことにより高められます。

レプリケーションには、同期レプリケーションと非同期レプリケーションとがあり、それぞれ目的が異なります。

同期レプリケーションは、障害時に業務を継続するために、本番環境と同じ待機系環境を準備するもので、非同期レプリケーションは、読み取り頻度の高いデータベースのワークロードを公開することで、本番環境の負担を軽減するものです。

ここでは、可用性を高める手段としてのバックアップとレプリケーションの違いをお話ししたあと、AWS RDSでの非同期レプリケーションであるリードレプリカについてくわしくご紹介します。

高可用性を維持するために:バックアップとレプリケーションの違いは何か?

バックアップとは、時点ごとにデータを別のメディアやサーバーに保存することで、データの複製を作ることです。

バックアップを取っておけば、障害が発生したとき、指定した時点の状態に復元できますが、障害の程度によって、復元のために長時間必要な場合もあり、業務に支障を来すことも想定されます。

レプリケーションは、バックアップとは異なり、リアルタイムに複製を作るため、障害が発生しても業務を継続できますが、物理的な損傷やマルウエアの感染などが発生した場合は正常に復元ができません。

リスクヘッジの意味で、バックアップは必要なアクションです。Amazon RDSでは、データが保存されるときに自動的にバックアップされ、暗号化されます。

Amazon RDSリードレプリカとは?

Amazon RDSリードレプリカは、Amazon Aurora、MySQLなどのデータベースエンジンに組み込まれているレプリケーション機能を使って、Amazon RDS データベースインスタンスから作成されたものです。

Amazon RDSリードレプリカは、読み取り頻度が高いワークロードを非同期的にレプリケーションすることによって、柔軟なスケーリングを実現し、ソースデータベース全体の読み込みのパフォーマンスと耐用性を向上できます。

なお、リードレプリカの更新は、元となるAmazon RDS データベースインスタンスが変更されるたびに行われます。

Amazon RDS リードレプリカ運用による利点を、最後に挙げていきます。

パフォーマンスが強化されます

リードレプリカが読み取り頻度の高いデータベースのワークロードを緩和するのは、1つのデータベースインスタンスのキャパシティーを状況に応じてスケーリングすることにより、読み取りクエリがアプリケーションからルーティングされるためです。

ソースデータベースインスタンスに障害が発生した場合などに、リードレプリカをマスターステータスに昇格させて、読み取り権限だけでなく書き込み権限を付与することもできます。

これによって、データを複数のサーバーで分散管理するシャーディングの実装も可能になります。

可用性が向上します

リードレプリカは、マルチAZ配置で提供される同期レプリケーション、自動障害の検出、待機系のサーバーへの自動切り替えなどの機能を補完し、結果、Amazon RDSマルチAZ配置の可用性がさらに高まります。

ただし、この補完は、Amazon RDSのエンジンのうち、Amazon Aurora以外のリードレプリカで可能です。

セキュリティが確立します

Amazon Aurora以外でリードレプリカを作成することで、複数のリージョン間であっても、Amazon RDS上の安全性が確保されます。

これは、レプリケート中であるソースデータベースインスタンスとリードレプリカの間に、パブリックキー暗号化による通信チャネルがセットアップされる結果として、セキュリティが確立することになるからです。

また、保存するときにAWS KMSを使って暗号化された Amazon Aurora以外のデータベースインスタンスに対しては、同一または複数のリージョンでリードレプリカを作成できます。

AWSクラウドの可用性は、Amazon RDSリードレプリカで飛躍的に高まります!


ここまで、AWS RDSで、アプリケーションに高可用性を実装するリードレプリカについて見てきました。

さあ、今日からAmazon RDSリードレプリカを使いこなせれば、AWSクラウドのパフォーマンスと耐用性を向上させてくれます!

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】