Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。最新の動向を知ることができる場として、好評を得ています。Academy」や、すべてのITパーソンに向けた「新エバンジェリスト養成講座」などの講座を企画しています。EnterpriseZine編集部ならではの切り口・企画・講師セレクトで、明日を担うIT人材の育成をミッションに展開しております。市場を勝ち抜く企業はどこにIT部門から“組織変革”を~気鋭のトップランナーを訪ねる~EnterpriseZine編集部が最旬ITトピックの深層に迫る。ここでしか読めない、エンタープライズITの最新トピックをお届けします。サービス(AWS)ではIaaSだけでなく、様々なマネージドサービスの利用が増えている。現状ではリレーショナル・データベースシステム(RDBMS)においても、マネージドサービスの利用は例外でない。Aurora」(以下、Aurora)もある。これらはどのように使い分ければ良いのだろうか。Auroraは何が良いのか?PostgreSQLとの違いを語れるようになろう!」から、それらの使い分けについて話を聞いた。EC2」の仮想サーバーに載せる方法がある。クラウド技術本部の神山太一氏だ。この方法では運用管理はオンプレミスとほとんど変わらず、管理におけるスキルやコストは従来通りとなる。RDSはマネージドサービスのため「DBA(データベース管理者)のわずらわしいタスクをAWSにオフロードできます」と神山氏。データベースの構築、可用性の確保、バックアップの実装などが容易で、専門的なスキルもそれほど必要ない。反面、マネージドサービスには制限もあり、従来のオンプレミスの運用を変える必要も出てくるという。EC2ベースで運用するよりも管理タスクをAWSにオフロードできる範囲は大きくなる。EBS」の組み合わせだ。Auroraを除くエンジンに関しては、次の構成をとることができる。プライマリインスタンスを1つのAZ(アベイラビリティーゾーン)で構成し、レプリカは別のAZにスタンバイ・インスタンスとして作成可能だ。この場合、レプリカはAWSの機能を用いた同期レプリケーションとなり、フェイルオーバー先としてしか利用できないという。別途リードレプリカ・インスタンスを5つまで作ることができ、こちらはデータベースエンジンの機能を用いる非同期レプリケーションとなる。RDBMSをクラウドに最適化したAuroraAuroraは「AWSがRDBMSをクラウド時代に最適化し、再設計したものです」と神山氏。従来のRDBMSはすべての要素を1つのエンジンにまとめたモノリシック構成だが、Auroraはスケーラビリティ、可用性、耐久性の観点から「コンピュートレイヤーとストレージレイヤーを個別のエンジンとして明確に分離しています」とのこと。PostgreSQLはオープンソース・ソフトウェア(OSS)のPostgreSQLバージョン10、11、12、13、14と強い互換性を保持している。そのため「SQL、クライアントアプリケーション、プロシージャーや拡張モジュールなどをそのままPostgreSQLからAuroraに移行できます」と神山氏は述べる。3つのAZに対し読み書き可能なWriterインスタンス、読み取り専用のReaderインスタンスを構成可能である。Readerインスタンスは3つのAZに対し最大15個まで追加でき、Writerインスタンスに障害が発生した際は、Readerインスタンスが即時にWriterインスタンスに昇格し可用性を確保するという。[画像クリックで拡大]そして、Auroraの最大の特長がクラスターボリュームだ。これはストレージレイヤーの機能で、3つのAZに2つずつ、合計6つのデータコピーを冗長化して保持する論理的な“共有ディスク構成”となる。5つの優位性を有している。これらは分離されたコンピュート、ストレージレイヤーからもたらされ、通常のRDSと大きく違うところだ。異なるAZを用い分散型の共有ストレージに冗長化してデータコピーを保持、データコピーのサブセットに読み込み・書き込みを行う“クォーラムモデル”で高耐久なストレージを実現しているという。[画像クリックで拡大]クォーラムモデルでは、6分の3の読み込みクォーラム、6分の4の書き込みクォーラムを採用している。ライト処理ではAZに障害が発生し冗長化された2つのデータにアクセスできなくてもトランザクションを継続可能だ。加えて、データのリード/ライト処理で一部のストレージレイヤーに遅延が発生してもI/O性能は失われない。Auroraでは通常のRDSよりも多くのデータコピーを持つため、I/Oオーバーヘッドが大きくなる懸念もあるかもしれないが、それにも工夫がなされている。一般的にRDBMSでは、メモリ上のダーティバッファをディスクに書き出すためのチェックポイントがボトルネックとなりやすい。「Auroraは、そもそもこのチェックポイントの概念が存在しません」と神山氏。PostgreSQLでは、共有バッファがチェックポイントでストレージに書き出され、これがI/Oの負荷となる。AuroraではWALのみを非同期かつ並列に書き込み、スループットの向上を図っているという。「WALを使い常にストレージレイヤーでデータは更新されます。これにより、6つのデータコピーを保持していても通常のRDSと比べI/Oが過多になるなど、パフォーマンスが悪化することはありません」と神山氏は説明する。Groupと呼ばれる10GB単位の論理ブロックでストレージノードにデータを格納する。この区分けされた10GBの論理ブロックの中で、3つのAZに冗長化し複数ストレージノードでデータを管理する。Groupは最大12,800個まで持つことができ、多数のストレージノードでストライピングしてデータを管理できる。Peer)のゴシッププロトコルにより各ストレージノード間で自動修復され、ノード障害にも新たなストレージノードがアサインされてデータが同期されるため、管理者がリカバリをする必要はない。AWSが公開しているベンチマークテストでは、OSS(オープンソースソフトウェア)のPostgreSQLと比較して、Auroraは同時接続数が増加するにしたがってリニアにスループットが向上し、2,048の同時接続数ではOSSに比べ約3倍のスループットとなる。[画像クリックで拡大]これはチェックポイントの概念がなく、複数ストレージノードでストライピングしてデータを保持していることが寄与しているだろうと神山氏は説明する。レスポンスタイムも、OSSでは幅があり、特にチェックポイントのタイミングでスパイクすることがあるが、Auroraでは一定して高速なレスポンス(スパイク時と比較すると10倍程度)となっているのだ。PostgreSQL」のリードレプリカは、WALを用いた論理レプリケーションのため、マスターのワークロードによってはラグが大きくなることも懸念される。Auroraはページキャッシュ更新リクエストによるレプリケーションで、かつレプリカ側で一切の書き込みを行わないため、遅延範囲も20~100ミリ秒と少なく収まる。加えて、共有ディスクのため、フェイルオーバー時にコミットしたデータの消失もない。ページキャッシュをデータベース機能と分離して管理することで、インスタンス障害やインスタンスの再起動時などにもページキャッシュ情報がクリアされず、迅速な再開が期待できるという。チェックポイントの概念がなく、常にストレージノードでロールフォワードが行われるため、リカバリ時にも更新ログは最小となり、多くの場合60秒以内という高速クラッシュリカバリも可能となっている。Groupが自動増加する。そのため、Auroraの設定画面にはストレージサイズの項目がないのだ。PostgreSQLは、どのように選べば良いのか。Auroraは商用データベースの10分の1のコストで、高い要求に応えるRDBMSをマネージドサービスで提供することを目指している。PostgreSQLは、OSSのPostgreSQLをマネージドサービスで提供するものだ。現状のPostgreSQLでワークロードが安定しているならば、わざわざAuroraに載せ替える必要はない。「軸としては非機能要件の可用性、パフォーマンス、耐障害性などを課題としてもっていて、それらを改善したい場合、または商用データベースのコストを圧縮したいが、非機能要件を落としたくないといった場合であればAuroraが検討できるでしょう」と神山氏。Auroraは一定規模のワークロード向けであることから、インスタンスクラスは基本的にLarge以上しか提供されていないといった通常のRDSとの違いもある。[画像クリックで拡大]コストは、同じ構成ならAuroraのほうが高くなるが、標準で様々な機能が含まれており、通常のRDSより小さい構成でも十分な機能、性能の実装も可能だ。商用データベースからの移行の際は利用コストが圧縮できるものの、改修コストが別途かかる点には考慮が必要となる。Tool)を用意しており、移行コストの試算機能も提供しているとのこと。v2」がリリースされた。v1は機能も十分でなく本番では使いにくいという声も多く聞かれたが、v2ではコンピュートリソースのオンデマンドな自動スケールアップ/ダウンに対応し、マルチAZ構成もとれるなど、通常のAuroraとほぼ同等の機能が提供されている。通常のAuroraと混在利用も可能となり、リードレプリカだけをServerlessにすることもできる。「Auroraを利用するならば、Serverlessの活用も検討してみるべきだ」と神山氏は薦める。出典:アシスト調べアシストでは2009年からPostgreSQLのプロダクトサポートを開始しており、PostgreSQLのエンタープライズ版であるEDBも数多く販売している。PostgreSQLの十分な実績とノウハウがあり、それをベースにAuroraの技術支援も多数行っているため、「RDBMSをAuroraへとの検討をしているならば、是非アシストに相談して欲しい」とのことだ。AWS利用から更なるAWS活用まで、アシストがご支援します!AWSアカウントの開設やAWSインフラの構築、AWS環境を安全に適切にご利用いただくためのAWS利用ガイドラインの策定など、これからAWSを利用される方や既にAWSを利用されている方まで、AWSを活用いただくための支援を多数ご用意しています。AWSネイティブなサービスだけでなく、パッケージ・インテグレーターとして長年培ったノウハウをもとに、パッケージを含めた最適なシステム構築のご提案をさせていただきます。エンタープライズ環境を中心にデータベース関連のご支援を多数実施してきたノウハウがあるため、AWSへのDBやDWH環境のマイグレーションにも強みがあります。AWSの頼りになるパートナーをお探しの方は、ぜひアシストのAWSサイトをご確認ください。Day、DataTechという、3つのイベントを開催しております。それぞれ編集部独自の切り口で、業界トレンドや最新事例を網羅。20:10INFORICH、新サービス「CheerSPOT」「NaviSPOT」を発表──黒字転換で事業拡大へ新着記事一覧を見るイベントイベントカレンダーを見る講座イベントカレンダーを見る「EnterpriseZine」(エンタープライズジン)は、翔泳社が運営する企業のIT活用とビジネス成長を支援するITリーダー向け専門メディアです。データテクノロジー/情報セキュリティ/システム運用の最新動向を中心に、企業ITに関する多様な情報をお届けしています。イラストの無断転載を禁じます。記載されているロゴ、システム名、製品名は各社及び商標権者の登録商標あるいは商標です。