最近、クラウド上では様々なサービスが提供されていますが、SQLを利用できるDBサーバーもその一つです。今回は、そういったサーバーの設定や管理が不要な、SQLが使えるクラウド上のサービスを解説します。
目次
クラウド上のサーバーは管理が難しい
スタートアップの小さな企業でも、簡単にクラウド上にサーバーを立ち上げられる時代ですが、まだまだSQLが使えるデータベースの重要性は変わっていません。しかし、多くの企業で、クラウド上のサーバー管理に苦労しています。
そこで注目されているのが、クラウド上でサーバーを借りてDBサーバーを設定するのではなく、DBだけを利用できるサービスです。そして、今では、大手クラウド企業を中心に、DBサーバーだけを利用できるサービスが利用されています。
そのようなサービスをご紹介する前に、まずは、クラウドにおけるDBサーバーの設定と運用について解説します。
DBサーバーを別に設定するのは一般的
企業向けの情報システムでは、ユーザーが操作する画面を作成したり、その入力を受け付けたりするアプリケーションサーバーと、それらと通信するデータベースサーバーを別に設定し、連携させてシステムを稼働させるのが一般的です。
しかし、クラウドでは、LinuxサーバーにWebサーバーやPHPなどのプログラム、そしてMySQLなどのデータベースがインストールしてあります。そのため、データベースを分けず1台のサーバーで組むことも可能です。さらに、用途を分けて、アプリケーションサーバーとデータベースサーバーにすることも可能です。
データベースサーバーを別に設定する意味とは
大企業で使われる情報システムは利用者が多く、ユーザーからのアクセスを1台で処理するにはは能力が不足します。そのため、複数のWアプリケーションサーバーを設定するのが一般的です。そして、そういった複数のアプリケーションサーバーのデータを一元管理するのが、別に設定されたデータベースサーバーの役割と言えるでしょう。これは、利用者が多いWebシステムでも、これは同じことです。
さらに、このような負荷を分散するためのほかにデータベースサーバーを分ける理由として、セキュリティ対策も挙げられます。ただし、適切に設定されていなければ、サーバーを分けてもデータが流出するのを防げません。多くの人がアクセスするWebシステムでは、特にセキュリティ対策が重要なので注意が必要です。
クラウドのDBサーバーこそプロのスキルが必要
先ほども触れたように、クラウドで運用されるサーバーは多くの人がアクセスできることから、セキュリティ対策を考慮した設定や運用が必要とされます。しかし、それができるエンジニアの数が少なく、さらに専門のエンジニアを雇える企業も限られているのが現実です。
このような状況だからこそ活用してほしいのが、DBサーバーの機能のみを提供している大手クラウド企業のサービスです。そういったサービスでは、クラウドを運営する企業のプロのエンジニアがサーバーを管理しており、時間単位の課金で利用できることから、自社でDBサーバーを抱えるよりも安価にSQLが使えるDBサーバーを利用できます。
なお、DBサーバーの機能をサービスとして提供しているクラウド企業はたくさんありますが、今回はその中ならシェアの多い、Aamazon Web Seevice(AWS)、Google Cloud Platform(GCS)、マイクロソフトのAzureの
3つサービスをご紹介します。
Amazon RDSでDBサーバーを使う
クラウド上のサーバーを活用する場合、最有力候補と言えるのがAWS(Amazon Web Services)ではないでしょうか。なお、AWSでSQLが使えるDBサーバーを利用する方法としては、EC2でサーバーを設定する際にDBサーバーをインストールする方法と、Amazon RDSを利用する方法の2つがあります。そして、Amazon RDSは、AWSで予め用意してあるデータベース管理ソフトをリモートで利用する方法です。そして、このサービスを利用することで、専門スキルが必要な設定や管理をアマゾンのエンジニアに任せて、システム開発に集中できる点がメリットと言えるでしょう。
次から、このようなAmazon RDSについて解説します。
そもそもAmazon RDSとは
Amazon RDSは、AWBがクラウド上で提供しているサービスの一つで、AWBのWebメニューから簡単な設定だけで、データベースが使えるサービスです。そして、そのサーバーは、Amazonの多くのサーバーを管理しているエンジニアが設定と運用を担当しており、クラウドでも安心して使えるのもメリットと言えるでしょう。
また、利用できるデータベースは、Amazonのクラウドに特化したAmazon Auroraの他、オープンソースのMySQL、MariaDB、PostgreSQLや、ライセンス料のかかるOracle Database、SQL Serverの6つです。Webエンジニアなら、いずれも使い慣れているデータベースではないでしょうか。
さらに、それらのデータベースの利用料には、バックアップもサービスに含まれており、アクセスが増えてもそれに合わせて拡張することも可能など、DBサーバーとしての機能も充実しています。
Amazon RDSを利用するには
Amazon RDSは、AWSの設定専用のWebページで設定するだけで使えます。AWSを利用したことのある方なら、すぐにも設定できるのではないでしょうか。また、無料枠が設定されているので、サービスで利用する前に評価で試してみることも可能です。
そして、Amazon RDSを利用して作成したデータベースは、サーバーのホスト名とポート番号を指定することで、AWSのEC2からじはもちろん、その他のクラウド上のWebサーバーなどから利用できます。なお、Amazon RDSの公式サイトのチートリアルに、設定方法などが記載されているので、初めて利用される方は必ずチェックしてください。
ライセンス料は費用の一部
Amazon RDSで、ライセンス料のかかるオラクル社のOracle Databaseとマイクロソフト社のSQL Serverを利用する場合、別途、オラクル社やマイクロソフト社と契約する必要はありません。それらのライセンス料は、サーバーの利用料や管理費用など共にAmazon RDSの使用料に含まれます。
さらに、そういったライセンス料も、Amazon RDSを利用した時間単位で費用を計算するので、個別にライセンス契約して利用するよりも、かなりお得です。ただし、単にDBサーバーが使えるレベルから、大規模なWebサービスにも対応できるレベルまで幾つもの選択肢があり、それによって料金がかなり違っているので、どの程度のDBサーバーが必要かを事前に見積もって契約してください。
また、Amazon RDSでは、複数のサーバーにデータを格納しておくことで、障害が発生しても短時間で復旧できる「マルチAZ」コースも選べます。ただし、こちらのコースは費用が高くなるので、サービスに必要な機能かどうかを判断してから契約しましょう。
AWS(Amazon Web Services)のDBサーバーのサービスは、Amazon RDS。
Google Cloud PlatformでDBサーバーを使う
Googleは検索サイトとして有名ですが、クラウドサービスGoogle Cloud Platform(GCP)でも大きなシェアを獲得しています。そして、Googleのクラウドサービスの中で、データベースのみを利用できるサービスがGCP CloudSQLです。
なお、このGCP CloudSQLは、Googleのクラウドが提供するサーバーばかりではなく、外部のWebサーバーなどからでも利用できます。また、利用できるDBサーバーとして、オープンソースのMySQLとPostgreSQLの2つです。さらに、マイクロソフト社のSQL Serverも、もうすぐ使えるようになるとアナウンスされているので、検討に含めても良いでしょう。
Googleのクラウドに慣れた方なら、DBサーバーとしてGCP CloudSQLの利用を検討されてはいかがでしょうか。
GCP CloudSQLを利用するには
GCP CloudSQLは、Google Cloud PlatformのWebメニューから設定するだけで利用できます。そして、作成したDBサーバーのホスト名とポート番号を指定すれば、Google Cloud Platformまたはそのほかのクラウド上のサーバーなどからでも利用可能です。
そして、GCP CloudSQLで提供されるDBサーバーは、AWSと同じようにGoogleの専門のエンジニアが管理しており、バックアップなどもサービスに含まれていることから、安心して利用できるサービスです。
GCP CloudSQLの費用
GCP CloudSQLで利用できるのは、基本的にオープンソースのMySQLとPostgreSQLですが、サーバー利用料や
エンジニアの管理費用などがかかっているので、利用するためには費用がかかります。そして、利用した
サーバーのタイプや、DBを格納したファイルサーバーの利用料などでかかる費用が違っています。
そのため、どの程度のDBサーバーが必要かを予め見積もっておくとよいでしょう。
Google Cloud Platform(GCP)のDBサーバーのサービスは、GCP CloudSQL。
Cloud SQL – MySQL および PostgreSQL リレーショナル データベース サービス | Cloud SQL | Google Cloud
マイクロソフトのAzureでDBサーバーを使う
AWS、GCPに並ぶクラウドサービスといえば、マイクロソフト社のAzureです。なお、マイクロソフト社は、SQL ServerというDBサーバーを販売していますが、Auzreでは、SQL Serverをリモートで利用できるサービスも提供しています。それが今回紹介するAzure SQL Database サーバーです。
さらに、Azure SQL Database サーバーで使えるのは、SQL Serverだけではありません。オープンソースのMySQLとPostgreSQLも利用できます。
そしてマイクロソフト社のクラウドサービスのAzureでは、自社製OSのWindows ServerだけではなくLinuxサーバーも利用でき、最近はLinuxの利用が大きな割合を占めています。そのため、Azure SQL Database サーバーにおけるオープンソースのDBサーバーに対するサポートが、AWSやGCPに劣ることはありません。
Azure SQL Database サーバーを利用するには
Azure SQL Database サーバーの設定は、Microsoft Azureの管理メニューのDatabaseメニューから簡単にできます。なお、この際、SQL Serverか、オープンソースのMySQLまたはPostgreSQLを選べ、さらに、接続のためのアカウントなどもここで設定します。
そして、Azure SQL Database サーバーのURLを指定することで、Visual Studio からでもアクセスできるので、そのままプログラム作成で利用してください。
Azure SQL Database サーバーの費用
Azure SQL Database サーバーでは、自社製のSQL Serverの方が、オープンソースのMySQLやPostgreSQLよりも安価で利用できます。むしろ、利用料だけで比較するとMySQLやPostgreSQLは、AWSやGCPを利用した方が安いかもしれません。
しかし、Azureは、基本で冗長化構成があるなど、単純計算できない要素も多いので、Azureの利用が慣れている方なら十分検討する価値があります。
マイクロソフト社のAzureのDBサーバーのサービスは、Azure SQL Database。
SQLが使えるサービスを利用しよう
今回は、クラウドの代表的な3社について、そのDBサーバーが使えるサービスについてご紹介しました。他のもクラウド上でSQLが使えるDBサーバーを対象としたサービスがあり、今後はそういったサービスが増えると予想されます。
もし、新しいWebシステムでデータベースを利用する場合、こういったサービスの活用も検討されてはいかがでしょうか。
クラウドでDBサーバーを使うなら、プロに管理を任せられ、時間単位の課金で利用できるサービスを利用した方が、自社でDBサーバーを運用するより有利。