
AWS入門 初心者が覚えておくべきAWSの基本
企業が情報システムを構築し、運用するためにはデータベースの活用が不可欠です。そして、AWSにも、低コストかつ高パフォーマンスなリレーショナル型データベースを構築できる、Amazon RDSというサービスがあります。
今回はAmazon RDSの概要や特徴的な機能、可用性、利用料金などについて解説します。
Amazon RDS(Amazon Relational Database Service)とは、その名称のとおりAWSのリレーショナル型のデータベースです。
Amazon RDSでは、データベースのインストールやバックアップなどのセットアップをしなくても、データベースが利用できる環境が提供されているため、契約後すぐにAWS上でデータベースを使用することができます。
Amazon RDSやデータベースの概要について解説します。
リレーショナル型データベース(関係性データベース)とは、行と列の2つの軸で表されるデータベースのことです。イメージとしては、高機能なExcelのようなものです。
データベースは、特定の条件に基づいて複数のデータを管理し、必要に応じて目的のデータを検索したり、編集を行ったりするために必須です。なかでもリレーショナル型データベースは、情報の整合性や管理の効率化に優れているという特徴があります。
以上のことからリレーショナル型データベースは、顧客リスト、商品一覧データ、従業員リストなど幅広い種類のデータ管理に適しています。
コンピューター上でリレーショナル型データベースを構築するには、通常「RDBMS(Relational DataBase Management System)」と呼ばれるリレーショナル型データベースを管理するためのソフトウェアを使用します。言い換えれば、データベースを構築したり更新したりする際に使用するためには、RDBMSが必要であるということです。
RDBMSの代表的なサービスとしては、OracleやMySQLが挙げられます。
AWS RDSでは、以下に紹介する6つの人気RDBMSが利用できます。
Amazonが提供しているリレーショナルデータベースです。Amazon Auroraは、PostgreSQLの2倍という高性能の処理能力、セキュリティの高さ(Amazon VPCによるネットワークの分離や移動中データのSSL暗号化など)、無停止のままパッチ作業がおこなえることなどの利点があります。
オープンソース型の人気が高いリレーショナルデータベースです。Postgre SQLは多機能なので、Webシステムのバックエンド処理に向いています。
MySQLもオープンソース型のリレーショナルデータベースで、最も広く利用されているソフトウェアのひとつです。シンプルなデータベースでの利用に適しています。
MySQLをもとに作られたデータベースです。操作性や使用方法はMySQLによく似ています。MySQLよりもパフォーマンスが向上(セキュリティ・処理速度が向上、拡張性が高い)しています。比較的新しいサービスですが、MySQLと互換性が高いことなどから今後ますますシェアを伸ばしていく可能性が高いでしょう。
世界で最初に採用されたRDBMSで、最も広く利用されています。読み取り一貫性(データの更新作業が行われている際に、読み取りのタイミングによって内容が異ならないように変更前のデータを必ず参照するようにすること)、堅牢性(災害時やデータ破損時など、あらゆる災害からデータを守るための機能)などに優れています。データベースとして非常に信頼性が高いので、大手企業を中心にさまざまな場面で利用されています。
Microsoft社が提供しているRDBベースMSです。Windowsとの相性が良いので、WindowsサーバーやMicrosoft系の開発言語を使っている企業で多く利用されています。
以上のRDBベースMSのうち、Postgere SQL、MySQL、Mariaデータベースはオープンソースなので商用利用でなければ無料で利用できます。
ただし、どのRDBMSを利用する場合でもRDSの料金にデータベース使用料金が含まれているためデータベース単体での利用料金はかかりません。
SLA(サービスレベルアグリーメント)とは、サービスに一定の水準を約束する仕組みで、水準を下回った際には補償されることになっています。SLAは水準を下回った際に料金が割引される仕組みが取られますが、むしろ水準を下回らないほど高水準であることを確認するための目安となります。
Amazon RDSは、Multi-AZ(マルチアベイラビリティゾーン:RDSを複数のアベイラビリティゾーンに設定することにより、障害耐久性を高める方法。アベイラビリティゾーンとは、同一リージョン内の独立したロケーションを指します。)オプションを設定した場合にSLAが適用されます。Single-AZの場合にはSLAが適用されないので注意が必要です。
Multi-AZの月間稼働率が99.95%を下回った場合に、稼働率に応じて料金が割り引かれます。SLAが保証されている点もそうですが、RDSではMulti-AZやリードレプリカ(読み取り専用のデータベース)など可用性の高さが魅力です。
多Amazon RDSの機能や構成、メリットについて解説します。
Amazon RDSの料金体系には「従量課金」「定額制」の2つの料金体系があります。短期間での利用や、流動的に運用を考えている企業では従量課金制が、前払いの割引制度などを利用して1~3年以上利用したい企業は定額制が適しています。
オンプレミスでデータベースを構築するにはサーバーラックの設置が必要で、容量追加のためにはサーバーの交換や増強も必要になります。しかし、Amazon RDSの場合はそもそも物理的なサーバーを必要とせず、クラウド上で容量を追加するだけでよいので、物理的な運用が容易です。
データベースのコンピューティング容量とストレージの容量の増減を簡単なマウス操作のみで処理することができます。必要量に応じた料金のみの支払いで、急なデータ容量の追加にも対応することができます。
Amazon RDSには、データベースを安全かつ効率的に管理するためのさまざまな機能があります。主な機能を紹介します。
パッチ作業とはプログラムの機能追加や修復などのバージョンアップ作業のことです。RDSでは、バックアップの実行やデータベースを強化するソフトウェアのパッチ適用などの作業が自動化されます。オンプレミスの場合には、パッチ作業の管理を自身で管理しなければならないため、手間が大きく軽減されます。
リードレプリカとはレプリケーション(=まったく同じデータを別の仕組みの上に複数作ること)された読み込み専用のデータベースのことです。同じデータが複数存在するためデータの安全性が高まるほか、データベースひとつにかかる負荷を分散させることができます。
Amazon RDSでは、非常に手間のかかるバックアップ作業についてもAWS側で自動的に実行させることが可能です。業務の負担や手間を軽減し、バックアップのし忘れを防いでくれる効果もあります。
Multi-AZオプションをONにすると自動的に2つのAmazon RDSを異なるAZに構築してくれます。
2つのAmazon RDSを構築することにより、片方のAmazon RDSにトラブルが生じた場合でも、影響を受けずにAmazon RDSにアクセスすることができます。
また、前述のとおりMulti-AZオプションを設定した場合には99.95%のSLAが設定されます。
暗号化することによりAmazon RDSのデータを安全に保管することができます。暗号化するためには、以下の2つの手法があります。
AWS KMS(Key Management Service)というAWSのサービスを利用し、連携させることによりAmazon RDSのインスタンスをストレージレベルで暗号化できます。このサービスを利用すると、AWS内で安全にAmazon RDSの暗号化/復号化のキーを管理することができます。
キーに対してアクセス権限を設定することにより、AWS内で許可されたユーザーのみがAmazon RDSのデータを閲覧できるようになります。
KMSによる暗号化の場合には、Amazon RDSのログインIDが乗っ取り被害に遭った場合には効果を発揮しません(データベースのテーブル内の情報がそのまま見られてしまうため)。より安全にデータを管理するには、データを保存する前に暗号化する方法(=トークン化)を取ることです。
特に機密性の高い情報を取り扱う際に、トークン化を行います。
それぞれのAmazon RDS内で通信を行う際、Amazon RDSでは自動的にSSL証明書を作成して安全なやり取りを行います。
Amazon RDSの安全性を高めるためには、リソースレベルでのアクセスの許可/拒否設定も重要です。そのために、IAMの機能を活用して、ユーザー(グループ)ごと、あるいはリソースごとに以下のようにアクセス権限を設定します。
Amazon RDSの料金体系と料金例について解説します。
Amazon RDSは、従量課金もしくは定額制を選択することができます。また、Amazon RDS本体の利用料に加え、データを保管するためのストレージ料金、データを通信する際の通信料金が利用量に応じて発生します。
Multi-AZオプションを設定した場合には、保存するデータが倍になるため、データベース使用量が倍になります。
リザーブドインスタンスはAmazon RDSの定額制プランにおける前払い割引サービスです。1年契約もしくは3年契約をすることで大幅な料金の割引を受けることができます。
全額前払い、一部前払い、前払いなしの3つの支払い方法が選択できます。全額前払いの場合に割引額が最も多く、最大63%の割引を受けることができます。
BYOL(Bring Your Own License=ライセンス持ち込み)のプランは、OracleやSQL Serverのデータベースをもともと自社で使用しているユーザー向けの料金プランです。BYOLプランを利用すればもともと持っているプランを無駄にせずにAWSに持ち込むことができます。
また、一旦ライセンス込みのプランで契約したあとに、データベースの準備が整ったところでBYOLプランに切り替えることもできます。
Amazon RDSの料金プラン例について紹介します。以下の料金は2019年8月現在の東京リージョンでの料金です。最新の料金は、AWSの下記ページをご参照ください。
また、一旦ライセンス込みのプランで契約したあとに、データベースの準備が整ったところでBYOLプランに切り替えることもできます。
https://aws.amazon.com/jp/rds/mysql/pricing/
ストレージには3種類あり、それぞれ料金が異なります。
Amazon RDSは通信量に応じて料金が発生します。
Amazon RDSを活用すると、手間やコストを軽減できるだけではなく、可用性に優れたデータベースを構築することができます。バックアップやパッチなどの作業をAWS側で自動的に行ってくれるため、ユーザーは情報の追加や更新を行うだけでAWSを運用できます。料金体系としては従量課金制と定額制がありますが、いずれの場合も契約期間中にのみ料金が発生する仕組みですので余分な費用は発生しません。
今回の記事を参考に、Amazon RDSを活用してみてはいかがでしょうか。
クラウド活用ポイントは全体最適です。
クラウドを活用したサーバー環境の見直しについてはこちら。