Amazon RDSってなに?

最近よく目にするクラウドサービス「AWS」と「Azure」。その中でも本記事では「AWS」のRDSサービスに着目して解説していきます。

AWSとは?

AWSとはAmazon社が事業者向けに提供しているクラウドコンピューティングサービスでAmazon Web Serviceの略称のことです。
IT業界ではクラウドの導入は当たり前の選択肢となっており、その中でも人気を集めているサービスがAWSです。AWSはクラウド上でサーバやデータベースといったインフラ環境をはじめ、機械学習や画像認証など最先端の技術をサービスとして利用することができます。

AWSでできることとは?

AWSは「パブリッククラウド」と呼ばれるサービス形態を提供しており、インターネット経由でAWSのコンソール画面にアクセスすると様々なサービスを受けることが出来ます。その規模は大きく分けて90以上、細かく分けると700以上のサービスが提供されています。クラウドの基本サービスレンタルサーバ、データベース、ストレージ利用のデータ保存、バックアップ、さらにはソフトウェアのオンデマンド配信、IoTシステムの構築、機械学習、画像認識といったAmazonが保有する最新の技術の利用も可能となっております。
以下はAWSの代表的なサービスです。

Elastic Compute Cloud(EC2)

サーバの構築・運用ができるサービスで、AWSでもっとも有名なサービスです。Amazon社のデータセンターで稼働するコンピュータ上に構築された仮想サーバを遠隔操作し、好きな用途に使用できます。WindowsやLinuxなどのOS、Core数やメモリ容量など選ぶインスタンスタイプ、サーバにアクセスができるサポートを設定するセキュリティーグループなど、サーバ構築時のカスタマイズが幅広いところも魅力です。構築時間も短く、早くて5分以内のサーバ構築が可能な点も人気が高まった理由の一つであり、企業内の情報システムの運用基盤としての利用も広がっています。

Simple Storage Service(S3)

C3とはストレージサービスのことであり、インターネット経由でWordやExcelなどのデータ保存をすることができます。コンソール画面上から保存するだけでなくAWS独自のコマンドを使用しサーバやローカルPCから保存することも可能です。また格納されたデータは複数のデータセンター間で同期されているため、フォールトトレランスが高いところも魅力の一つです。

Command Line Interface(CLI)

コマンドベースでAWSを操作できるサービスです。PCやサーバにCLIをインストールし、AWSのアカウント情報を登録すれば、コンソール画面にアクセスせずコマンド操作でAWSサービスを実行することが可能です。またコマンドは「aws(サービス名)(実行処理)」という順序で、わかりやすい構造になっています。

Relation Database Service(RDS)

データベース機能を提供するサービスです。通常データベースを利用する際はサーバを準備し、データベースのライセンスをインストールして利用します。しかしRDSの場合はサーバの準備が不要で、構築後すぐにデータベースの利用が可能となります。
その他、企業の情報システムなどを安全に構築・運用できる「Amazon Virtual Private Cloud(Amazon VPC)」、膨大な量のデータを高速に改正処理する「Amazon Elastic MapReduce(Amazon EMR)」、「Amazon Aurora(MySQL互換サービス)」、NoSQLデータサービス「Amazon DynamoDB」等のサービスが提供されています。

本記事ではAmazon RDSについて解説していきます。

RDSとは?

前記したように RDSとは AWSのリレーショナル型のデータベースです。リレーショナル型データベース(関係性データベース)とは、行と列の2つの軸で表されるデータベースのことです。データベースは、特定の条件に基づき複数のデータ管理をし、目的のデータ検索や、編集を行うために必要となります。特にリレーショナル型データベースは情報の統合性や管理効率化に優れています。そのため企業情報システム等での従業員リストや顧客リストなど、データ管理に適しています。

RDSで利用できるRDBMS

RDSで利用できるRDBMS(Relational DataBase Management Systemの略でデータベースを管理するためのソフトウェア)は以下の6つが利用できます。

MySQL

最も広く利用されているオープンソースのリレーショナル型データベースで、基本的なデータベースでの利用に適しています。

Postgre SQL

MySQLと人気を二分するオープンソースのリレーショナル型データベースで、機能の豊富さや拡張性の高さに定評があります。

Amazon Aurora

Amazonが提供しているリレーショナル型データベースで、PostgreSQLの倍速の高性能処理能力、セキュリティの高さ、操作中(無停止)のパッチ作業が行えます。

Oeacle

世界で最初に採用されたRDBMSで、最も多く利用されています。行レベルロック、読み取り一貫性、堅牢性、移植性が優れており、幅広いプラットホームをサポートしています。

SQL Server

Microsoft社が提供しているRDBベースのMSで、Windowsとの相性が良いため、WindowsサーバやMicrosoft系の開発環境で利用されることが多いです。

Mariaデータベース

MySQLをもとに作られたオープンソース型データベースです。MySQLと操作方法、使用方法は似ていますが拡張性が高く、セキュリティ・処理速度が優れています。RDSの料金に上記データベースの使用料金が含まれているため、どのデータベースを使用しても別途利用料金はかかりません。
※Postgre SQL、MySQL、Mariaデータベースはオープンソースなため、商用目的でない場合無料で利用可能です。

RDSのメリット

利用、運用が容易

データベースの構築にはサーバラックの設置が必要で、容量の追加のためにサーバの交換等が必要になりますが、Amazon RDSは前提のサーバが不要なためクラウド上の容量を追加するだけでよいのです。ソフトウェアのインスト―ル、メンテナンスが不要となります。

可用性と耐久性

AWSの他サービスと同じインフラストラクチャ(下部構造)を使用しています。重要な本稼働用のデータベースの信頼性向上のため、異なるスタンバイインスタンスにデータを複製させ、自動バックアップ、データベーススナップショット、ホスト自動交換などを行うことができます。

高速

SSDベースのストレージは「高性能OLTPアプリケーション用に最適化されているもの」もしくは「コスト効率の良い汎用性SSDストレージ」どちらかを選択可能となっています。またAmazon独自のRDBMS「Amazon Aurora」を使用することで商用データベースと同様のパフォーマンスが10分の1のコストで利用可能です。

セキュア(Secure)

Amazon VPCでデータベースインスタンスの稼働させることで、独立させてアクセスさせることにより、標準暗号化のIPsec VPNを介してITインストラクチャに接続が可能となります。これにより保管時の暗号化と転送時の暗号化のサポートを受けられます。

安価

実際に利用したリソース分の料金となります。利用目的に合わせて短期間契約や、予約インスタンス料金(時間割引)等も選択可能となっています。

RDSのデメリット

使用料金の一定化が難しい

前途したように課金制のため、クラウドの追加などシステムの利用状況で料金が変動します。そのため予算化が少し難しくなっています。

エラーログが見れない

shellが公開されておらず、OSやMySQLのエラーログを見ることが出来ません。エラーログが必要となる可能性は低いですが、原因を追及できない可能性が高くなっています。

SSHでサーバにアクセスが出来ない

OSコマンドによる確認や操作が出来なくなっています。オンプレミスでは出来ますが、RDSではできないというレベルの話になるため、正確にはデメリットではないですが制限事項として理解しておく必要があります。

スナップショット+WALによる最新状態へ復旧が出来ない

ただしPoin-in-time-recoveryによる5分前までの復旧は可能です。

利用できない周辺ツールがある

pg_statsinfo/pg_dbms_stats/oracle_fdw
導入できるPostgreSQLの拡張機能に制限があり、上記ツールの使用が不可となります。

同期レプリケーションが使えない

RDSではレプリケーション設定が行えません。また設定の変更にはIntestance rebootが必要となります。通常EC2instanceにMySQLサーバをインストールした状態でも、My.cnfの変更はmysqlbのrestartが必要となりますが、rebootでの変更となるため反映に数分のダウンタイムが必要となります。

週一のメンテナンスが必要

実際メンテナンスでダウンする頻度は多くないと思いますが、最低でもダウンタイムに4時間設定する必要があります。また、その間もいつダウンするかがわからないため、一週間の内で不安定になる時間が発生する可能性があります。

■AWSの料金体系

AWSのサービスは使用した分だけお金がかかる仕組みとなっております。サーバ自体を削除しなくても、停止するだけで課金を止めることができます。AWSサービスは詳細に選択できる分、不要なサービス選択をしている可能もあるため、内容把握を徹底させ定期的に使用するもの・停止するものを選定するようにしましょう。

まとめ

Amazon RDSの利用はスケールアップの簡易性、バックアップの自動取得、スペックの変更が容易に行える点がとても魅力的で手を付けやすいでしょう。レプリケーション出来ないという点が改善されると更に利用範囲が大きくなることが期待されますが、初期導入の費用なども加味しながら自身にあったサービス選定してその利便性を感じていただければ幸いです。

コメントを残す

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