Amazon Relational Database Service (Amazon RDS) とは - Amazon Relational Database Service

Amazon Relational Database Service (Amazon RDS) とは

Amazon Relational Database Service (Amazon RDS) は、AWS クラウド でリレーショナルデータベースを簡単にセットアップし、運用し、スケーリングすることのできるウェブサービスです。業界スタンダードのリレーショナルデータベース向けに、費用対効果に優れたエクステンションを備え、一般的なデータベース管理タスクを管理します。

注記

このガイドでは、Amazon Aurora 以外の Amazon RDS データベースエンジンについて説明しています。Amazon Aurora の使用については、Amazon Aurora ユーザーガイドを参照してください。

AWS の製品やサービスを初めて使用する場合、詳細については、以下のリソースを参照してください。

Amazon RDS の概要

なぜAWS クラウドでリレーショナルデータベースを実行したいのですか? AWS がリレーショナルデータベースの困難で面倒な管理タスクの多くを引き受けるからです。

Amazon EC2 およびオンプレミスデータベース

Amazon Elastic Compute Cloud (Amazon EC2)は、AWS クラウドでスケーラブルなコンピューティング容量を提供します。Amazon EC2 は、ハードウェアに事前投資する必要がなくなり、アプリケーションをより速く開発およびデプロイできます。

オンプレミスサーバーを購入するときは、CPU、メモリ、ストレージ、IOPS をすべて一緒にまとめて入手します。Amazon EC2 では、これらが分離されているため、個別にスケールできます。CPU の増加、IOPS の削減、またはストレージの追加が必要な場合、簡単に割り当てることができます。

オンプレミスサーバーのリレーショナルデータベースの場合、サーバー、OS、およびソフトウェアに関する全責任を負うものとします。Amazon EC2 インスタンス上のデータベースでは、AWSOSより下のレイヤーを管理します。このようにして、Amazon EC2 は、オンプレミスのデータベースサーバーを管理する負担の一部を軽減します。

次の表では、オンプレミスのデータベースと Amazon EC2 の管理モデルを比較します。

機能

オンプレミスの管理

Amazon EC2 の管理

アプリケーションの最適化

カスタマー

カスタマー

スケーリング

カスタマー

カスタマー

高可用性

カスタマー

カスタマー

データベースバックアップ

カスタマー

カスタマー

データベースソフトウェアのパッチ適用

カスタマー

カスタマー

データベースソフトウェアのインストール

カスタマー

カスタマー

オペレーティングシステム (OS) のパッチ適用

カスタマー

カスタマー

OS インストール

カスタマー

カスタマー

サーバーのメンテナンス

カスタマー

AWS

ハードウェアライフサイクル

カスタマー

AWS

電力、ネットワーク、冷却

カスタマー

AWS

Amazon EC2 はフルマネージドサービスではありません。したがって、Amazon EC2 でデータベースを実行すると、ユーザーエラーが発生しやすくなります。例えば、OSまたはデータベースソフトウェアをマニュアルで更新すると、誤ってアプリケーションのダウンタイムが発生する可能性があります。問題の特定と修正のため、すべての変更をチェックするのに何時間も費やすことがあります。

Amazon RDS および Amazon EC2

Amazon RDS はマネージドデータベースサービスです。これは、ほとんどの管理タスクを担っています。Amazon RDS では、面倒なマニュアル作業を排除することでアプリケーションとユーザーに集中することができます。ほとんどのデータベースデプロイでは、デフォルトの選択肢としてAmazon EC2 よりも Amazon RDSをお勧めしています。

以下の表では、Amazon EC2 と Amazon RDS の管理モデルを比較しています。

機能

Amazon EC2 の管理

Amazon RDS の管理

アプリケーションの最適化

カスタマー

カスタマー

スケーリング

カスタマー

AWS

高可用性

カスタマー

AWS

データベースバックアップ

カスタマー

AWS

データベースソフトウェアのパッチ適用

カスタマー

AWS

データベースソフトウェアのインストール

カスタマー

AWS

OS のパッチ適用

カスタマー

AWS

OS インストール

カスタマー

AWS

サーバーのメンテナンス

AWS

AWS

ハードウェアライフサイクル

AWS

AWS

電力、ネットワーク、冷却

AWS

AWS

Amazon RDS は、フルマネージドでなないデータベースデプロイに比べて、次の特定の利点があります。

  • Db2、MariaDB、Microsoft SQL Server、MySQL、Oracle、PostgreSQL など既に使い慣れたデータベース製品を使用できます。

  • Amazon RDS では、バックアップ、ソフトウェアパッチ、自動的な障害検出、および復旧を管理します。

  • 自動バックアップをオンにするか、マニュアルで独自のバックアップスナップショットを作成できます。これらのバックアップを使用してデータベースを復元できます。Amazon RDS の復元は信頼性の高い効率的なプロセスです。

  • プライマリインスタンスと同期しているセカンダリインスタンスがあると、問題が発生したときにセカンダリインスタンスにフェイルオーバーできるので、高可用性を実現できます。また、リードレプリカを使用して、読み取りスケーリングを拡張できます。

  • データベースパッケージのセキュリティに加え、RDS データベースにアクセスできるユーザーを制御するのに役立ちます。そのためには、AWS Identity and Access Management (IAM) を使用してユーザーとアクセス権限を定義することができます。また、仮想プライベートクラウド (VPC) に配置すると、データベースを保護することもできます。

Amazon RDS Custom for Oracle および Microsoft SQL Server

Amazon RDS Custom は、データベースとOSへのフルアクセスを提供する RDS 管理タイプです。

RDS Custom の制御機能を使用して、レガシーおよびパッケージビジネスアプリケーションのデータベース環境とOSにアクセスしてカスタマイズできます。一方、Amazon RDS はデータベース管理タスクとオペレーションを自動化します。

このデプロイモデルでは、アプリケーションをインストールし、アプリケーションに合わせて構成設定を変更することができます。同時に、プロビジョニング、スケーリング、アップグレード、バックアップなどのデータベース管理タスクをAWSにオフロードできます。Amazon RDS のデータベース管理の利点を、より高度な制御と柔軟性で活用できます。

Oracle データベースおよび Microsoft SQL Server の場合、RDS Customは Amazon RDS のオートメーションと Amazon EC2 の柔軟性を組み合わせています。RDS Custom については、「Amazon RDS Customでの使用」を参照してください。

RDS Custom の責任共有モデルでは、Amazon RDS よりも多くの制御が可能になりますが、責任も増えます。詳細については、「RDS Custom の責任分担モデル」を参照してください。

Amazon RDS on AWS Outposts

AWS Outposts での Amazon RDS により、RDS for SQL Server、RDS for MySQL、および RDS for PostgreSQL データベースが AWS Outposts 環境に拡張されます。AWS Outposts により、パブリックな AWS リージョン と同じハードウェアを使用して、AWS のサービス、インフラストラクチャ、オペレーションモデルがオンプレミスに導入できます。出力の RDS を使用すると、オンプレミスで実行する必要があるビジネスアプリケーションの近くにマネージド DB インスタンスをプロビジョニングできます。詳細については、「AWS Outposts での Amazon RDS の使用」を参照してください。

DB インスタンス

DB インスタンスは AWS クラウド 内の独立したデータベース環境です。Amazon RDS の基本的な構成要素は DB インスタンスです。

DB インスタンスには、ユーザーが作成した1つ以上のデータベースを含めることができます。DB インスタンスには、スタンドアロンデータベースインスタンスで使用するものと同じツールおよびアプリケーションを使用してアクセスすることができます。AWS Command Line Interface (AWS CLI)、Amazon RDS API、または AWS Management Console を使用して、DB インスタンスを作成および変更することができます。

DB エンジン

DB エンジンとは、DB インスタンスで実行される特定のリレーショナルデータベースソフトウェアです。Amazon RDS は、現在、以下のエンジンをサポートしています。

  • Db2

  • MariaDB

  • Microsoft SQL Server

  • MySQL

  • Oracle

  • PostgreSQL

各 DB エンジンには、独自のサポートされている機能があり、DB エンジンの各バージョンに固有の機能が含まれている可能性があります。Amazon RDS の機能のサポートは、AWS リージョン と各 DB エンジンのバージョンによって異なります。さまざまなエンジンバージョンとリージョンでの機能のサポートを確認するには、「AWS リージョン と DB エンジンにより Amazon RDS でサポートされている機能」を参照してください。

さらに、各 DB エンジンは、DB パラメータグループに一連のパラメータを保有し、これにより管理するデータベースの動作を制御します。

DB インスタンスクラス

DB インスタンスクラスによって DB インスタンスのコンピューティングとメモリの容量を決定します。DB インスタンスクラスは、DB インスタンスタイプとサイズの両方で構成されます。インスタンスタイプごとに異なるコンピューティング、メモリ、ストレージ が提供されます。例えば、db.m6g は AWS Graviton2 プロセッサを搭載した汎用 DB インスタンスタイプです。db.m6g インスタンスタイプ内の db.m6g.2xlarge は DB インスタンスクラスです。

お客様のニーズに最も合う DB インスタンスを選択できます。ニーズが時間の経過とともに変化する場合は、DB インスタンスを変更できます。詳細については、「 DB インスタンスクラス」を参照してください。

注記

DB インスタンスクラスの料金情報については、Amazon RDS 製品ページの料金表セクションを参照してください。

DB インスタンスストレージ

Amazon EBS は、実行中のインスタンスにアタッチできる、堅牢なブロックレベルのストレージボリュームを提供します。DB インスタンスストレージには、次のタイプがあります。

  • 汎用 (SSD)

  • プロビジョンド IOPS (PIOPS)

  • マグネティック

ストレージタイプは、パフォーマンス特性と価格に違いがあります。データベースのニーズに応じてストレージのパフォーマンスとコストを調整できます。

各 DB インスタンスは、サポートするストレージタイプやデータベースエンジンによって最小/最大ストレージ要件が異なります。データベースの増加に対応できるように、十分なストレージを確保しておくことが大切です。また、十分なストレージがあると、DB エンジンの機能がコンテンツやログエントリを書き込むスペースが確保されます。詳細については、「Amazon RDS DB インスタンスストレージ」を参照してください。

Amazon Virtual Private Cloud (Amazon VPC)

Amazon Virtual Private Cloud (Amazon VPC) サービスを使用して、virtual private cloud (VPC) 上の DB インスタンスを実行できます。VPC を使用する場合、仮想ネットワーキング環境を制御できます。独自の IP アドレスの範囲を選択し、サブネットを作成してルーティングおよびアクセス制御リストを設定できます。VPC で実行していてもいなくても、Amazon RDS の基本機能には違いはありません。Amazon RDS では、バックアップ、ソフトウェアパッチ、自動的な障害検出、および復旧を管理します。VPC で DB インスタンスを実行するために、追加料金はかかりません。RDS で Amazon VPC を使用する方法については、「Amazon VPC VPC とAmazon RDS」を参照してください。

Amazon RDS は Network Time Protocol (NTP) を使用して DB インスタンスの時刻を同期します。

AWS リージョンとアベイラビリティーゾーン

Amazon クラウドコンピューティングリソースは、世界各地 (例えば、北米、ヨーロッパ、アジア) の高可用性のデータセンター施設に収容されています。各データセンターの場所は、AWS リージョンと呼ばれます。

各 AWS リージョンは、アベイラビリティーゾーンまたは AZ と呼ばれる複数の区切られた場所で構成されています。各アベイラビリティーゾーンは、他のアベイラビリティーゾーンの障害から分離されるように設計されています。アベイラビリティーゾーンは、同じ AWS リージョン内の他のアベイラビリティーゾーンに低価格かつ低レイテンシーのネットワーク接続を提供します。個別のアベイラビリティーゾーンでインスタンスを起動することにより、1 つの場所で発生した障害からアプリケーションを保護できます。詳細については、「リージョン、アベイラビリティーゾーン、および Local Zones」を参照してください。

オプションで、マルチ AZ 配置と呼ばれる複数のアベイラビリティゾーンの DB インスタンスを実行できます。このオプションを選択すると、Amazon が 1 つまたは複数のセカンダリスタンバイ DB インスタンスを別のアベイラビリティーゾーンで自動的にプロビジョニングして管理します。プライマリ DB インスタンスは、アベイラビリティーゾーン間で各セカンダリ DB インスタンスにレプリケートされます。これは、データの冗長性およびフェイルオーバーサポートを提供し、I/O フリーズを排除して、システムのバックアップの際のレイテンシーのスパイクを最小限に抑えるのに役立ちます。マルチ AZ DB クラスター配置では、セカンダリ DB インスタンスで読み込みトラフィックが誘導される場合もあります。詳細については、「マルチ AZ 配置の設定と管理」を参照してください。

セキュリティ

セキュリティグループは、DB インスタンスへのアクセスを制御します。制御するには、アクセスを許可する IP アドレスの範囲または Amazon EC2 インスタンスを指定します。

セキュリティグループの詳細については、Amazon RDS でのセキュリティ を参照してください。

Amazon RDS のモニタリング

DB インスタンスのパフォーマンスと動作状態を追跡する方法は複数あります。Amazon CloudWatch サービスを使用して、DB インスタンスのパフォーマンスとヘルス状態をモニタリングできます。CloudWatch のパフォーマンスチャートは、Amazon RDS コンソールに表示されます。Amazon RDS イベントにサブスクライブすると、DB インスタンス、DB スナップショット、DB パラメータグループで変更が発生したときに通知を受け取ることができます。詳細については、「Amazon RDS インスタンスでのメトリクスのモニタリング」を参照してください。

Amazon RDS の使用方法

Amazon RDS を操作する方法は複数あります。

AWS Management Console

AWS Management Console はシンプルなウェブベースのユーザーインターフェイスです。プログラミングなしでコンソールから DB インスタンスを管理できます。Amazon RDS コンソールにアクセスするには、AWS Management Consoleにサインインして Amazon RDS コンソール (https://console.aws.amazon.com/rds/) を開きます。

コマンドラインインターフェイス

AWS Command Line Interface(AWS CLI) を使用して、Amazon RDS API にインタラクティブにアクセスできます。AWS CLI をインストールするには、「AWS コマンドラインインターフェイスのインストール」を参照してください。RDS 用に AWS CLI の使用をスタートするには、「Amazon RDS の AWS Command Line Interface リファレンス」を参照してください。

Amazon RDS API

開発者は、API を使用して、プログラムから Amazon RDS にアクセスできます。詳細については、「Amazon RDS API リファレンス」を参照してください。

アプリケーション開発には、AWS ソフトウェアデプロイキット (SDK) のいずれかを使用することをお勧めします。AWS SDK が、認証、再試行ロジック、エラー処理などの低レベルの詳細な処理を実行するため、ユーザーはアプリケーションのロジックに専念することができます。AWSSDK は、さまざまな言語で利用可能です。詳細については、Amazon Web Services のツールを参照してください。

AWS では、より簡単に使用をスタートできるように、ライブラリ、サンプルコード、チュートリアルなどのリソースを提供しています。詳細については、「サンプルコードとライブラリ」を参照してください。

Amazon RDS の課金方法

Amazon RDS を使用する場合、オンデマンド DB インスタンスを使用するかリザーブド DB インスタンスを使用するかを選択できます。詳細については、「Amazon RDS 向け DB インスタンスの請求」を参照してください。

Amazon RDS の料金情報については、Amazon RDS の製品ページを参照してください。

次のステップ

前のセクションでは、RDS が提供する基本的なインフラストラクチャのコンポーネントを紹介しました。次に実行すべきことは以下のとおりです。

スタート方法

Amazon RDS のスタート方法 の手順を使用して DB インスタンスを作成します。

データベースエンジンに固有のトピック

以下のセクションでは、DB エンジンごとに固有の情報を確認することができます。

Amazon RDS 責任共有モデル

Amazon RDS は、DB インスタンスと DB クラスターのソフトウェアコンポーネントとインフラストラクチャをホストする責任があります。ユーザーはクエリチューニングに責任があります。これは、SQL クエリを調整してパフォーマンスを向上させるプロセスです。クエリのパフォーマンスは、データベースの設計、データサイズ、データ分布、アプリケーションのワークロード、クエリパターンに大きく依存しますが、これらは大きく異なる可能性があります。モニタリングとチューニングは、RDS データベースごとに高度に個別化されたプロセスです。Amazon RDS Performance Insights やその他のツールを使用して、問題のあるクエリを特定できます。