RDSにてMySQLを使用する

1.RDS+MySQLを使用する場合のメリット

AWS(Amazon Web Services)でMySQLを使用する場合、RDS(Amazon RDS)を使用するか、EC2(Amazon Elastic Compute Cloud)インスタンスにMySQLのシステムそのものをインストールする方法があります。

今回、RDSを使用する場合のメリットについて記述します。

・簡単でマネージド型のデプロイ
AWSマネジメントコンソールで数回クリックするのみで、本番環境で使えるMySQLデータベースを数分で起動して接続出来るようになります。Amazon RDS for MySQLのデータベースインスタンスは事前に設定され、選択したサーバータイプに合わせてパラメータと設定が決められています。データベースパラメータグループでは、MySQLデータベースの詳細な管理と微調整が可能となっています。
・高速で予測可能なストレージ
MySQLデータベース向けにSSDベースのストレージオプションが2つあります。汎用ストレージは、小規模または中規模のワークロード向けでコスト効率の良いストレージになります。高パフォーマンスのOLTPアプリケーション用として、プロビジョンドIOPSは一定のパフォーマンスを実現します。ストレージに対する要求が増大した場合、オンザフライ方式によって追加ストレージをゼロダウンタイムでプロビジョニングすることもできます。
・バックアップと復旧
自動化されたバックアップ機能を使用すると、指定した保持期間内のどの時点にでもMySQLデータベースインスタンスを復旧することができます。また、DBインスタンスに対してユーザーによる任意のバックアップを実行でき、この完全なデータベースバックアップは明示的にバックアップを削除するまで保存されます。
・高可用性とリードレプリカ
Amazon RDS マルチ AZ配置は、MySQLデータベースの可用性と持続性を高め、プロダクションデータベースのワークロードに最適となります。Amazon RDSリードレプリカを使用すると、読み取り頻度の高いデータベースワークロードに対して、1 つのデータベースインスタンスの容量制限を超えたスケールアウトを伸縮自在に簡単な方法で実行できます。
・モニタリングとメトリクス
データベースインスタンスのAmazon CloudWatchメトリクスが追加料金なしで提供されています。拡張モニタリングでは、CPU、メモリ、ファイルシステム、ディスクI/Oのメトリクスを使用でき、コンピューティング、メモリ、ストレージ容量の使用率、I/Oアクティビティ、インスタンス接続などの主要なオペレーションメトリクスは、AWSマネジメントコンソールで確認ができます。
・隔離とセキュリティ
マネージドサービスとして、RDSではMySQLデータベースに対する高度なセキュリティを実現しています。セキュリティには、Amazon Virtual Private Cloud(VPC)によるネットワーク分離、AWS Key Management Service(KMS)を利用して作成および制御されるキーを使用した保管時の暗号化、SSLによる転送データの暗号化が含まれています。

ただし、 RDSでサポートされていないMySQLの機能も一部存在していますので、その場合EC2にてMySQLを使用する方法を検討することも必要です。もしくは小規模なシステム開発やコストを抑えたい場合などもRDSよりはEC2の方が向いています。

2.RDSとは

Amazon Relational Database Service(Amazon RDS)は、AWS クラウドでリレーショナルデータベースを簡単にセットアップ、運用、スケーリングできるウェブサービスになります。業界標準のリレーショナルデータベース向けに、費用対効果に優れた拡張機能を備え、一般的なデータベース管理タスクを管理します。

・RDSの概要
マネージド型リレーショナルデータベースサービスAmazon RDSがリレーショナルデータベースの複雑または単調な管理タスクの多くを引き受けます。
サーバーを購入するときは、それぞれ必要な物をまとめて入手します。RDSでは、これらが分離されているため個別にスケールできます。CPUの増加、IOPSの削減、またはストレージの追加が必要な場合に簡単に割り当てることができます。
RDSでは、バックアップ、ソフトウェアパッチ、自動的な障害検出、および復旧を管理しています。
マネージドサービスエクスペリエンスを提供するために、DBインスタンスへのシェルアクセスを提供していないです。また、高度な特権を必要とする特定のシステムプロシージャやテーブルへのアクセスを制限しています。
必要なときに自動バックアップを実行できます。または、手動で独自のバックアップスナップショットを作成できます。これらのバックアップを使用してデータベースを復元でき、復元は信頼性の高い効率的なプロセスです。
プライマリインスタンスと同期しているセカンダリインスタンスがあると、問題が発生したときにセカンダリインスタンスにフェイルオーバーできるので、高可用性を実現できます。また、MySQL、MariaDB、またはPostgreSQLのリードレプリカを使用して、読み取りスケーリングを拡張できます。
MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Serverなど既に使い慣れたデータベース製品を使用できます。
データベースパッケージのセキュリティに加え、AWS Identity and Access Management(IAM)を使用してユーザーとアクセス許可を定義すると、RDSデータベースにアクセスできるユーザーを制御するのに役立ちます。また、Virtual Private Cloudに配置すると、データベースを保護することもできます。
・RDSの使用方法
Amazon RDSを操作する方法は複数あります。
①AWS マネジメントコンソール
AWSマネジメントコンソール はシンプルなウェブベースのユーザーインターフェイスになります。プログラミングなしでコンソールから、DBインスタンスを管理できます。Amazon RDSコンソールにアクセスするには、AWSマネジメントコンソールにサインインして Amazon RDSコンソールを開きます。
②コマンドラインインターフェイス
AWS Command Line Interface(AWS CLI)を使用してAmazon RDS APIにインタラクティブにアクセスすることができます。AWS CLIをインストールし、RDS用AWS CLIの使用を開始します。
③RDSを使用したプログラミング
開発者は、プログラムを使ってRDSにアクセスできます。
アプリケーションの開発には、AWSソフトウェアデプロイキット(SDK)のいずれかを使用した方がいいです。AWS SDKは、認証、再試行ロジック、エラー処理などの低レベルの詳細を処理するため、開発者はアプリケーションロジックに専念できます。AWS SDKは、さまざまな言語で利用できます。

3.RDSでのMySQLのバージョン

RDSでは、MySQLの複数のバージョンを実行するDBインスタンスがサポートされていますので、以下のメジャーバージョンを使用できます。

・MySQL 8.0
・MySQL 5.7
・MySQL 5.6
・MySQL 5.5

使用方法としましては、Amazon RDSの管理ツールまたはインターフェイスを使用して Amazon RDS MySQL DBインスタンスを作成します。
DBインスタンスのサイズ変更、DBインスタンスへの接続の許可、バックアップやスナップショットの作成やそれらからの復元、マルチAZセカンダリの作成、リードレプリカの作成、DBインスタンスのパフォーマンスのモニタリングが可能になります。
標準的なMySQLのユーティリティとアプリケーションを使用して、DBインスタンスに対してデータを保存したりデータにアクセスしたりしたり出来るようになります。

最後に

RDS(Amazon RDS)を使用される場合、RDSでサポートされていないMySQLの機能も一部存在していたりしますので、事前に調査を行い対応可能か確認してから使用することをお勧めします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です