2022/02/17

AWS Auroraとは?導入するメリット6つと活用事例を紹介

 
  

AWS Auroraとは?

AWS Auroraとは、MySQLやPostgreSQLと互換性のあるリレーショナルデータベースで、クラウド向けに構築されています。 オープンソースデータベースの拡張性が高くパフォーマンスと可用性に優れ、コストは商用データベースに比べコストダウンを実現できます。

AWS RDS(Amazon Relational Database Service)のデータベースインスタンスタイプを使い、Auroraデータベースインスタンスを作成するSQLと互換性のあるリレーショナルデータベースで、クラウド向けに構築されています。

Amazon RDSとの違い

AWS RDS(Amazon Relational Database Service)はクラウド上の互いに関連付けた関係モデルを使ったデータベース(リレーショナルデータベース)のセットアップや、オペレーション、拡張など管理操作を効率的に行うことができます。

AWS RDSに関連付けするデータベースエンジンの一つがAWS Auroraです。他にもメモリやパフォーマンスなど最適化されたデータベースインスタンスタイプがあります。

トラブル時の対応

AWS Auroraは分散ストレージが6重化され、Protection Group(10GBの論理ブロック)6つのストレージノードに複製される構造です。3AZにストレージがDBインスタンスから独立し全データが追記型になっています。

大規模障害時の、AWS RDSはストレージが3重化のため2つが故障するとAZ(アベイラビリティゾーン)停止になりますが、Auroraは3重化×2構造の6重化の分散ストレージなので多重障害も対応可能です。

互換性のあるデータベース

AWS Auroraは、MySQLやPostgreSQLの既存のオープンソースデータベースと完全互換性が新規のものは定期的に追加されています。

既存のデータベース等をAWS Aurora移行することも可能です。RDSで提供されるクラウドデータベースエンジンの一つでもあります。 AWS RDSは商用データベースやオープンソースデータベース間のデータの移行をサポートします。

AWS Auroraのメリット6つ

AWS Auroraのメリットについてお伝えします。

従来の大手メーカーのデータベースの性能、処理能力の高さに加えたメリットや、リカバリ力についてお伝えします。

そして互換性について、管理のしやすさやコスト面のメリットについてお話しします。

AWS Auroraのメリット1:処理能力の高さ

AWS Aurora は、従来の商用データベースの性能や処理能力と処理速度に加え、オープンソースデータベース機能を兼ね備えています。

標準的なMySQLに比べ約5倍程度の処理データ量(スループット)があり、PostgreSQLの約3倍程度の処理データ量があるため、処理能力が高い事がメリットと言えます。

AWS Auroraのメリット2:高可用性と耐久性

AWS Auroraは、データベースREDOログ管理のクラッシュリカバリリプレイが必要なく再起動時間が大幅に短縮されます。

インスタンス障害発生時AWS RDSマルチAZを使用し作成したレプリカのうちの1つに自動的にネットワーク切替(フェイルオーバー)をします。

災害対策としてグローバルデータベースを使用でき、AWS Auroraストレージは自己修復機能があります。自動で継続的バックアップ機能の保存期間は35日間です。

AWS Auroraのメリット3:安全性

AWS AuroraはAmazonVPCを実行し分離した仮想ネットワークで暗号化してオンプレミスに接続します。またIAMと統合されリソースレベルのアクセス許可を制御できます。

AWS Key Management Service (KMS) でデータベース暗号化ができ、移動中のデータがSSL (AES-256) により保護されます。 モニタリングAmazon CloudWatch を使用して監査ログをモニタリングできます。

AWS Auroraのメリット4:MySQL・PostgreSQLとの互換性

AWS AuroraはMySQLやPostgreSQLのオープンソースデータベースと互換性があります。

MySQL や PostgreSQLのデータベースをインポートやエクスポート、スナップショットを使用して簡単にAWS Auroraへ移行できます。 AWS AuroraのMySQL互換エディションで約5倍のスループット、 PostgreSQL 互換エディションでは約3倍のスループットが期待でき優れたパフォーマンスと拡張性があります。

AWS Auroraのメリット5:フルマネージド型サービス

AWS AuroraはAWS RDSマネジメントコンソールなどでデータベースインスタンスを作成できます。データベースの負荷を視覚化するダッシュボードを使用可能です。

AWS Auroraは構成やソフトウエアのパッチ適用やセットアップ、バックアップなどデータベース管理をフルマネージド(完全運用保守管理代行)型で行うため、使いやすくなります。

Amazon S3 はバックアップ、Amazon CloudWatchはパフォーマンスのモニタリングができます。

AWS Auroraのメリット6:低コスト

AWS Auroraは初期費用や最低料金設定はなく実際使用した分だけ料金が発生する仕組みです。現時点(2020年12月付)でAWS無料利用枠は使用できません。

インスタンスの選択により、使用時間課金制とは別にスタンダードプラン1年・3年契約の料金プランがあり、オンデマンドと比較したコスト削減割合が表記されています。

リージョンエリアとインスタンスの選択、ストレージ月額使用GB毎に0.12USDとIO(入出力)料金は100万件リクエスト毎に約0.24USD、Global Databaseのオプションやバックトラック、Snapshot Export、データ転送と各料金設定があり、AWS Pricing Calculatorで見積もりを取ることが可能です。

AWS Auroraのデメリット4つ

AWS Auroraのメリットが多いのですが、デメリットもあります。主なデメリットについてお伝えします。

起動が速いのでオペレーションに注意する必要があること、一部データベースエンジンに互換性ないものについてお話しします。

AWS Auroraの互換性がないバージョンについてや、一部のストレージが使えないこと、そしてデータベースエンジンのバージョンへの対応についてご紹介します。

AWS Auroraのデメリット1:オペレーションに注意

AWS Auroraのデメリットは、強みであるAWS Auroraのフルマネージド型サービスの操作性がすぐれているため、オペレーションミスの影響も早いということです。

例えば、操作画面(コンソール画面)で重要なオペレーション指示でアカウントの指定ミス、インスタンス停止や削除など注意が必要です。 慎重に操作するために、事前に確認してからにしましょう。

AWS Auroraのデメリット2:一部DBエンジンに互換性がない

AWS AuroraはMySQLとPostgreSQLは完全互換性がある分、他のデータベースエンジンへの互換性は難しいことを理解しておきましょう。 AWS Schema Conversion Tool を使用すると、OracleやMicrosoft SQL ServerからAWS Auroraへ互換性のある形式に自動的に変換でき、自動変換ができない部分は印が付くので手動で変換すると移行が可能です。

AWS Auroraのデメリット3:バージョンによっては互換性がない

AWS AuroraはバージョンがありMySQLとPostgreSQLに互換性をもつバージョンと互換性がないバージョンがあります。 現時点(2020年12月)では、AuroraのInnoDBストレージエンジンを使用するとMySQL5.6および5.7と互換性があります。 AWS Aurora データベースエンジンは、RDS for PostgreSQL 9.6 以降でサポートされPostgreSQL9.6以降と互換性があります。

AWS Auroraのデメリット4:一部ストレージエンジンが使えない

AWS Auroraデータベースエンジンは、 MyISAMストレージエンジンなど特定の MySQLの特徴についてはAWS Auroraでは使えません。 MySQLと互換性があるInnoDBストレージエンジンを使用可能です。

AWS Auroraのデメリット5:DBエンジンバージョンへの対応が遅い

AWS RDSは2009年10月からある機能でAWS Aurora、MySQL、PostgreSQL、MariaDB、Oracle、Microsoft SQL ServerのDBエンジンで使用が可能です。DBエンジンバージョンへの対応が早くから用意されています。 AWS Auroraは2014年11月に発表されAWS RDSか独立した機能でMySQL や PostgreSQLと互換性があり、新しいバージョンが出た時はAWS Aurora用にする必要があります。

AWS Auroraを始める手順5つ

AWS Auroraを始める手順についてお話しします。始めに、AWSマネジメントコンソールへアクセスします。

次にデータベースの中から詳細を設定に入ります。AWS AuroraやMySQLかPostgreSQLを選択、DB詳細の設定を行います。

そしてネットワークとセキュリティの設定を行い、クラスターエンドポイントからログインする手順についてご紹介します。

AWS Auroraを始める手順1:AWSマネジメントコンソールへアクセス

AWSマネジメントコンソールは、AWS管理をするウエブアプリケーションでAWSへサインイン後に表示されます。アクセスするには、AWSアカウント登録が必要です。

IAMユーザーIDを作成し、アカウントサインページからコンソールにアクセスできます。

AWSマネジメントコンソール画面でサービス検索(Find Services)ボックスから、AWS Auroraを検索すると簡単です。

AWS Auroraを始める手順2:MySQLかPostgreSQLを選択

AWS AuroraはMySQLとPostgreSQLの互換性のあるリレーショナルデータベースサービスです。どちらかを選択する必要があります。

MySQLはリレーショナルデータベースで、設定や管理が容易でシンプルなデータベースです。

PostgreSQLはオブジェクトリレーショナルデータベースで、複雑なクエリや大規模なデータベースを扱い、テーブルの継承や関数のオーバーロード機能があります。

AWS Auroraを始める手順3:DB詳細の設定を行う

サインイン後にDB詳細設定を行います。コンソールを開き→AWSリージョン選択→データベース選択→データベース作成画面になります。

「EasyCreate(簡易作成)」有効無効を選択→AWS Aurora選択→エディション選択→DBインスタンスサイズ選択→DBクラスター識別子→masterユーザー名入力→DBクラスター用に自動生成したパスワードを使用または、マスターパスワードを入力します。

簡易作成のデフォルト設定を表示→データベース作成後に編集可能枠を変更するには→標準作成から変更する→データベースの作成→認証情報の詳細表示ができ確認できます。

AWS Auroraを始める手順4:ネットワーク&セキュリティ設定を行う

AWS AuroraのDBセキュリティ機能では、AWS AuroraとIAMアカウントを連携し、IAMアカウントの管理者、サービス管理者、サービスユーザーと分類し、各IDやURLによるアクセス域の設定、監視、管理を設定できます。

各IAMアカウントに権限を与える以外は、IAMグループ単位を作成しアクセス権限や管理することも可能です。

IAMポリシー設定は、最小限アクセス権を付与する標準的なセキュリティアドバイスに従い、役割にあわせてタスク実行に必要な権限のみ付与します。

AWS Auroraを始める手順5:クラスターエンドポイントからログインする

AWS Aurora DBクラスターは1つのクラスターエンドポイントと1つのプライマリDBインスタンスがあり、MySQLやPostgreSQLのデーターベースへ接続するために必要な同じツールを使用し接続します。

エンドポイントはAWS Aurora固有のURLとして表示され、DBクラスターの詳細ビューからクラスターエンドポイントを確認でき、プライマリインスタンスに接続します。

コンソール→「Databases」選択→DBクラスターを選択→「Connectivity & Security」エンドポイントセクションでクラスター詳細を選択→「 telnet / nc」エンドポイント接続を確認できます。

AWS Auroraの活用事例3つ

AWS Auroraがどのように活用できるのかについて3つ事例をご紹介します。

AWS Auroraを活用したWebゲームやアプリの開発ができること、コストを抑えたシステム運用で活用できる例、クラウドシステム構築のSaaS部門活用についてお伝えします。

では、AWS Auroraの活用事例についてご紹介しますので最後までご覧ください。

AWS Auroraの活用事例1:Webゲームやアプリの開発

Webゲームやアプリの配信基盤はAWSをベースにAWS Auroraで構成すること多く、DBの拡張性やパフォーマンスの安定化を実現します。

AWS EC2やAWS Auroraで構成ができアベイラビリティゾーンで冗長構成(ネットワークなど突発的なアクセス集中による負荷が増えることを分散)できます。 AWS Auroraを活用するとMySQLの性能劣などパフォーマンス劣化を解消する期待ができます。

AWS Auroraの活用事例2:コストを抑えたシステム運用

AWS Auroraの活用によって、商用DBと同等のパフォーマンスと可用性を大幅にコストダウンできます。データベースコストを10分の1に削減が可能です。 AWS Auroraの特徴である完全マネージド型サービス機能を使い自動化できるサービスが多数あります。

例えばプロビジョニング、パッチ適用やバックアップ、リカバリ、障害検知、リペアなど自動化できる機能を活用し時間節約ができるのでコストを抑えることにつながります。

AWS Auroraの活用事例3:SaaS

Software as a Service (SaaS) アプリケーションを活用している企業では、クラウドネイティブのマシンデータ分析プラットフォームでアプリケーションのライフサイクルなど全体にわたる構造化データなど継続的なインテリジェンスを実現しています。

また、AWS Aurora クラスターを活用した例では、アプリケーションサーバーは同じアベイラビリティゾーンのAWS EC2インスタンス上で低レイテンシーを実行しています。

AWS Auroraのメリットと活用事例から導入を検討しよう

AWS Auroraの特徴は高機能でMySQLとPostgreSQLの互換性があり、セキュリティが強く、他のAWS機能との連携と移行ができます。稼働を止めずにパッチ適用ができるメリットがあります。

データベースエンジンやバージョンの互換性がないことや、オペレーションミスによる誤作動など、いくつかデメリットもありますが、現状の運用やコスト面とAWS Aurora導入時のメリットをよく比較して導入を検討しましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】