【AWS】AWSでMySQLを活用する


■はじめに

AWSでMySQLを利用する場合、マネージドサービスの「Amazon RDS」か、「EC2」に「MySQL」をインストールして運用する2つの選択肢があります。基本的に運用負荷が楽な「Amazon RDS」か、コストが低い「EC2 + MySQL」という選択になるかと思います。

■運用が楽な「Amazon RDS」

「Amazon RDS」を利用する大きなメリットは、運用負荷が低いことがあげられ、データベースだけを借りられるため、OS のメンテナンスやディスク残量の心配が不要です。バックアップやパッチの適用も AWS に任せることができますので、自身で管理する必要がありません。そのかわり、RDSのためにインスタンスを稼働し続ける必要があるため、ある程度の支出が発生しますので、小規模システムの場合はコストパフォーマンスで注意が必要です。

■コストを抑えられる「EC2 + MySQL」

EC2 インスタンスを用意し、MySQLをインストールする手段です。RDSを利用するケースとは異なり、MySQLの運用や環境に合わせて調整などが発生します。Webサーバーと同じインスタンスを活用していれば、新たなDBを利用していないので追加費用が掛かりません。そのかわり、同一のインスタンスを利用するわけですから、障害の際はWebサーバーとデータベースの双方に問題が発生するリスクが伴います。検討する場合はリスクをしっかりと考慮す必要があります。RDSとEC2+MySQLの運用をそれぞれ比較して考えてみるとマネージドサービスの恩恵が大きいため、ほとんどの場合でRDSでの運用が推奨されるでしょう。

■Amazon RDSの概要とMySQL

今更ですが手前みそな解説を引用しますと、Amazon Relational Database Service (Amazon RDS) は、AWSのクラウド上でリレーショナルデータベースをセットアップ、運用、スケーリングできるウェブサービスのひとつです。サーバーを準備する際は、CPU、メモリ、ストレージ、IOPSなどをすべてまとめて入手するのが自然だと思います。Amazon RDSでは、これらが分離されているため、個別にスケールできるというメリットがあります。CPUの増加、IOPSの削減、またはストレージの追加が必要な場合などに簡単に割り当てることができます。また、MySQL、MariaDB、PostgreSQL、Oracle、Microsoft SQL Serverなど既に使い慣れたデータベース製品を使用できます。Amazon RDSでは、MySQLの複数のバージョンを実行するDBインスタンスがサポートされています。以下のメジャーバージョンを使用できます。

MySQL 8.0

MySQL 5.7

MySQL 5.6

MySQL 5.5

Amazon RDSのサービス詳細については、公式サイトをご参照ください。

■Amazon RDS for MySQLというプロダクト

以下、公式ページからの引用です。

”MySQL は、世界で最も人気の高いオープンソースのリレーショナルデータベースです。Amazon RDS によって、MySQL のデプロイをクラウド内で簡単にセットアップ、運用、スケールできるようになります。Amazon RDS を使用すると、コスト効率が良く、サイズ変更が可能なハードウェア容量で、スケーラブルな MySQL サーバーを数分でデプロイできます。Amazon RDS for MySQL によって、バックアップ、ソフトウェアのパッチ適用、モニタリング、スケーリング、レプリケーションなど、時間を要するデータベース管理タスクを管理することで、お客様はアプリケーション開発に集中することができます。”

また、以下にAmazon RDSを使用する際の手順がまとめられております。利用する上での基礎的なことのみが4ステップに分けて解説されています。もっと詳しく知りたい場合は、「Amazon RDSの概要とMySQL」のAmazon RDSのユーザーガイドを参照してください。

・Amazon RDS利用手順

ステップ 1: MySQL DBインスタンスを作成する

ステップ 2: SQLクライアントをダウンロードする

ステップ 3: MySQLデータベースに接続する

ステップ 4: DBインスタンスを削除する

公式ページ以外にもさまざまなサイトでインスタンス作成や接続方法の解説がされておりますので、調べるのに苦労はしないでしょう。また、ここでは触れませんでしたが、「Amazon DynamoDB」のようなNoSQLタイプのデータベースサービスもありますので、選択肢の幅は実はもっと広かったりします。


コメントを残す

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