Amazon RDS の MariaDB - Amazon Relational Database Service

Amazon RDS の MariaDB

Amazon RDS では、MariaDB の複数のバージョンを実行する DB インスタンスがサポートされています。以下のメジャーバージョンを使用できます。

  • MariaDB 10.5

  • MariaDB 10.4

  • MariaDB 10.3

  • MariaDB 10.2

マイナーバージョンのサポートの詳細については、「Amazon RDS の MariaDB のバージョン」を参照してください。

まず、Amazon RDS の管理ツールまたはインターフェイスを使用して MariaDB DB インスタンスを作成します。その後、Amazon RDS のツールを使用して、DB インスタンスの再設定やサイズ変更、DB インスタンスへの接続の許可、バックアップやスナップショットの作成や復元、マルチ AZ セカンダリの作成、リードレプリカの作成、DB インスタンスのパフォーマンスのモニタリングなど、管理アクションを実行できます。標準的な MariaDB のユーティリティとアプリケーションを使用して、DB インスタンスに対してデータを保存したりデータにアクセスしたりします。

MariaDB がすべての AWS リージョンで利用可能になりました。AWS リージョンの詳細については、「 リージョン、アベイラビリティーゾーン、および Local Zones 」を参照してください。

MariaDB データベース用の Amazon RDS を使用して、HIPAA 準拠アプリケーションを構築できるようになりました。AWS との事業提携契約 (BAA) に基づいて、保護されるべき医療情報 (PHI) を含め、医療関連の情報を保存できます。詳細については、「HIPAA コンプライアンス」を参照してください。AWS対象範囲内のサービスは、サードパーティーの監査人によって十分に評価され、認定、コンプライアンスの証明、または Authority to Operate (ATO) が与えられます。詳細については、コンプライアンスプログラムによる対象範囲内の AWS のサービスを参照してください。

最初の DB インスタンスを作成する前に、このガイドの「セットアップ」セクションの手順を完了してください。詳細については、「Amazon RDS のセットアップ」を参照してください。

Amazon RDS での MariaDB の一般的な管理タスク

以下に示しているのは、MariaDB を実行する Amazon RDS DB インスタンスで行う一般的な管理タスクと、各タスクの関連ドキュメントへのリンクです。

タスク領域 関連資料

インスタンスクラス、ストレージ、PIOPS

本稼働用に DB インスタンスを作成する場合、インスタンスクラス、ストレージタイプ、およびプロビジョンド IOPS が Amazon RDS でどのように機能するか理解する必要があります。

DB インスタンスクラス

Amazon RDS ストレージタイプ

マルチ AZ 配置

別のアベイラビリティーゾーンにおけるスタンバイの同期レプリケーション、自動フェイルオーバー、マルチ AZ 配置を使用する DB インスタンスの耐障害性、およびリードレプリカで高可用性を提供します。

Amazon RDS での高可用性 (マルチ AZ)

Amazon Virtual Private Cloud (VPC)

AWS アカウントにデフォルト VPC がある場合、DB インスタンスがデフォルト VPC 内に自動的に作成されます。アカウントにデフォルト VPC がない場合、DB インスタンスを VPC に作成する必要があるときは、DB インスタンスを作成する前に VPC とサブネットグループを作成する必要があります。

EC2-VPC または EC2-Classic のどちらのプラットフォームを使用しているかを確認する

VPC 内の DB インスタンスの使用

セキュリティグループ

デフォルトでは、DB インスタンスが作成されると、アクセスを禁止するファイアウォールが設定されます。したがって、DB インスタンスにアクセスするために、正しい IP アドレスとネットワーク構成を備えたセキュリティグループを作成する必要があります。作成するセキュリティグループは、どの Amazon EC2 プラットフォームで DB インスタンスが稼働しているか、Amazon EC2 インスタンスから DB インスタンスにアクセスするかどうかによって異なります。

一般的に、DB インスタンスが EC2-Classic プラットフォームにある場合は、DB セキュリティグループを作成する必要があります。DB インスタンスが EC2-VPC プラットフォームにある場合は、VPC セキュリティグループを作成する必要があります。

EC2-VPC または EC2-Classic のどちらのプラットフォームを使用しているかを確認する

セキュリティグループによるアクセスコントロール

パラメータグループ

DB インスタンスに特定のデータベースパラメータが必要になる場合は、DB インスタンスを作成する前にパラメータグループを作成する必要があります。

DB パラメータグループを使用する

データのインポートとエクスポート

データをインポートまたはエクスポートする手順を確定します。

MariaDB DB インスタンスへのデータのインポート

レプリケーション

リードレプリカを作成することで、ソース MariaDB DB インスタンスから読み取りトラフィックをオフロードできます。

リードレプリカの使用

DB インスタンスへの接続

標準 SQL クライアントアプリケーションを使用して DB インスタンスに接続します。

MariaDB データベースエンジンを実行している DB インスタンスへの接続

バックアップと復元

DB インスタンスを作成するとき、自動バックアップが作成されるように設定できます。完全バックアップファイル (.bak ファイル) を使用することで、データベースを手動でバックアップおよび復元することもできます。

バックアップの使用

モニタリング

Amazon CloudWatch RDS メトリクス、イベント、および拡張モニタリングを使用して、MariaDB DB インスタンスをモニタリングします。MariaDB DB インスタンスのログファイルを確認します。

DB インスタンスのメトリクスの表示

Amazon RDS イベントの表示

ログファイル

MariaDB DB インスタンスのログファイルにアクセスできます。

Amazon RDS データベースログファイルの操作

MariaDB データベースのログファイル

また、MariaDB を実行する DB インスタンスを使用するための高度な管理タスクもあります。詳細については、次のドキュメントを参照してください。

Amazon RDS の MariaDB のバージョン

MariaDB の場合、バージョン番号は「バージョン X.Y.Z 」の形式で記述されます。Amazon RDS の用法では、X.Y はメジャーバージョン番号を、Z はマイナーバージョン番号を表します。Amazon RDS 実装では、メジャーバージョン番号が変更された場合 (10.4 から 10.5 へなど)、そのバージョン変更はメジャーと考えます。マイナーバージョン番号のみが変更された場合 (10.3.20 から 10.3.23 へなど)、そのバージョン変更はマイナーと考えます。

Amazon RDS は、現在、MariaDB の以下のバージョンをサポートしています。

メジャーバージョン マイナーバージョン

MariaDB 10.5

  • 10.5.9

  • 10.5.8

MariaDB 10.4

  • 10.4.18

  • 10.4.13

MariaDB 10.3

  • 10.3.28

  • 10.3.23

  • 10.3.20

  • 10.3.13

  • 10.3.8

MariaDB 10.2

  • 10.2.37

  • 10.2.32

  • 10.2.21

  • 10.2.15

  • 10.2.12

  • 10.2.11

新しい DB インスタンスを作成するときは、現在サポートされているいずれかの MariaDB バージョンを指定できます。メジャーバージョン (MariaDB 10.5 など) と、指定したメジャーバージョンでサポートされている任意のマイナーバージョンを指定できます。バージョンを指定しない場合、Amazon RDS では、サポートされているいずれかのバージョン (通常最新のバージョン) がデフォルトで設定されます。マイナーバージョンではなく、メジャーバージョンを指定した場合は、Amazon RDS では、お客様が指定したメジャーバージョンの最新リリースにデフォルトで設定されます。サポートされているバージョンのリストと、新しく作成された DB インスタンスのデフォルトを表示するには、describe-db-engine-versionsAWS CLI コマンドを使用します。

デフォルトの MariaDB バージョンは、AWS リージョンによって異なる場合があります。特定のマイナーバージョンで DB インスタンスを作成するには、DB インスタンスの作成中にマイナーバージョンを指定します。次の AWS コマンドを使用して、AWS CLI リージョンのデフォルトのマイナーバージョンを確認できます。

aws rds describe-db-engine-versions --default-only --engine mariadb --engine-version major-engine-version --region region --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text

major-engine-version をメジャーエンジンバージョンに置き換え、リージョンを AWS リージョンに置き換えます。例えば、次の AWS CLI コマンドは、10.5 メジャーバージョンおよび米国西部 (オレゴン) AWS リージョン (us-west-2) 用の、デフォルトの MariaDB マイナーエンジンのバージョンを返します。

aws rds describe-db-engine-versions --default-only --engine mariadb --engine-version 10.5 --region us-west-2 --query "*[].{Engine:Engine,EngineVersion:EngineVersion}" --output text

Amazon RDS での MariaDB 機能のサポート

次のセクションでは、Amazon RDS for MariaDB のメジャーバージョンでの MariaDB 機能のサポートを見ていきます。

Amazon RDS for MariaDB のサポートされているマイナーバージョンについては、「Amazon RDS の MariaDB のバージョン」を参照してください。

Amazon RDS での MariaDB 10.5 のサポート

Amazon RDS は、MariaDB バージョン 10.5 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。

  • InnoDB の強化 – MariaDB バージョン 10.5 には、InnoDB の機能強化が含まれています。詳細については、「 InnoDB: パフォーマンスの改善など」を参照してください。

  • Performance Schemaの更新 – MariaDB バージョン 10.5 には、Performance Schemaの更新が含まれています。詳細については、「MySQL 5.7 インストルメンテーションとテーブルと一致するPerformance Schemaの更新」を参照してください。

  • InnoDB 再実行ログ内の 1 つのファイル – MariaDB のバージョン 10.5 より前のバージョンでは、innodb_log_files_in_group パラメータの値が 2 に設定されていました。MariaDB バージョン 10.5 では、このパラメータの値は 1 に設定されます。

    以前のバージョンから MariaDB バージョン 10.5 にアップグレードし、パラメーターを変更しない場合、innodb_log_file_size パラメーター値は変更されません。ただし、2 つのログファイルではなく 1 つのログファイルに適用されます。その結果、アップグレードされた MariaDB バージョン 10.5 DB インスタンスは、アップグレード前に使用していた再実行ログサイズの半分を使用します。この変更は、パフォーマンスに顕著な影響を与える可能性があります。この問題に対処するには、innodb_log_file_size パラメーターの値を 2 倍にします。パラメータの変更については、「DB パラメータグループのパラメータの変更」を参照してください。

  • SHOW SLAVE STATUS コマンドはサポートされていません。– MariaDB のバージョン 10.5 より前のバージョンでは、SHOW SLAVE STATUSコマンドに REPLICATION SLAVE 特権が必要でした。MariaDB バージョン 10.5 では、同等の SHOW REPLICA STATUS コマンドに REPLICATION REPLICA ADMIN 権限が必要です。この新しい特権は RDS マスターユーザーに付与されません。

    SHOW REPLICA STATUS コマンドを使用する代わりに、新しい mysql.rds_replica_status 保存済み手順を実行して、同様の情報を返します。詳細については、「mysql.rds_replica_status」を参照してください。

  • SHOW RELAYLOG EVENTS コマンドはサポートされていません。–MariaDB のバージョン 10.5 より前のバージョンでは、SHOW RELAYLOG EVENTS コマンドには REPLICATION SLAVE 特権が必要でした。MariaDB バージョン 10.5 では、このコマンドには REPLICATION REPLICA ADMIN 特権が必要です。この新しい特権は RDS マスターユーザーに付与されません。

  • パラメータの新しいデフォルト値 – 次のパラメータには、MariaDB バージョン 10.5 DB インスタンスの新しいデフォルト値があります。

MariaDB 10.5 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.5 の変更点と改善点」および「リリースノート - MariaDB 10.5 シリーズ」を参照してください。

サポートされない機能の一覧については、「サポートされていない機能」を参照してください。

Amazon RDS での MariaDB 10.4 のサポート

Amazon RDS は、MariaDB バージョン 10.4 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。

MariaDB 10.4 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.4 の変更点と改善点」および「リリースノート - MariaDB 10.4 シリーズ」を参照してください。

サポートされない機能の一覧については、「サポートされていない機能」を参照してください。

Amazon RDS での MariaDB 10.3 のサポート

Amazon RDS は、MariaDB バージョン 10.3 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。

  • Oracle 互換機能 – PL/SQL 互換性パーサ、シーケンス、UNION を補完する INTERSECT と EXCEPT、新しい TYPE OF と ROW TYPE OF 宣言、および非表示のコラム

  • 一時データ処理 – データベースの過去および現在の状態を照会するためのシステムバージョンテーブル

  • 柔軟性 – ユーザー定義による定義、ストレージから独立したコラム圧縮、プロキシがクライアント IP アドレスをサーバーへ中継するプロキシプロトコルのサポート。

  • 管理しやすさ – ADD COLUMN の即時オペレーション、ファストフェイルなデータ定義言語 (DDL) オペレーション。

MariaDB 10.3 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.3 の変更点と改善点」および「リリースノート - MariaDB 10.3 シリーズ」を参照してください。

サポートされない機能の一覧については、「サポートされていない機能」を参照してください。

Amazon RDS での MariaDB 10.2 のサポート

Amazon RDS は、MariaDB バージョン 10.2 以降を実行する DB インスタンスで以下の新しい機能をサポートしています。

  • ALTER USER

  • テーブル共通式

  • イベントの圧縮によるバイナリログのサイズ縮小

  • CREATE USER — リソース使用量と TLS/SSL を制限するための新しいオプション

  • EXECUTE IMMEDIATE

  • フラッシュバック

  • InnoDB — XtraDB に代わる新しいデフォルトストレージエンジン

  • InnoDB — バッファープールサイズの動的設定

  • JSON 関数

  • ウィンドウ関数

  • WiTH

MariaDB 10.2 のすべての機能と関連ドキュメントのリストについては、MariaDB ウェブサイトで「MariaDB 10.2 の変更点と改善点」および「リリースノート - MariaDB 10.2 シリーズ」を参照してください。

サポートされない機能の一覧については、「サポートされていない機能」を参照してください。

サポートされていない機能

以下の MariaDB 機能は、Amazon RDS ではサポートされていません。

  • ColumnStore ストレージエンジン

  • S3 ストレージエンジン

  • 認証用プラグイン – GSSAPI

  • 認証用プラグイン – Unix ソケット

  • AWS Key Management 暗号化プラグイン

  • レプリケーションの遅延

  • XtraDB、InnoDB、および Aria で保管時のネイティブ MariaDB 暗号化。

    MariaDB DB インスタンス用に保管時の暗号化を有効にするには、「Amazon RDS リソースの暗号化」の指示に従います。

  • HandlerSocket

  • JSON テーブルタイプ

  • MariaDB ColumnStore

  • MariaDB Galera クラスター

  • マルチソースレプリケーション

  • MyRocks ストレージエンジン

  • パスワード検証プラグイン、simple_password_check、および cracklib_password_check

  • Spider ストレージエンジン

  • Sphinx ストレージエンジン

  • TokuDB ストレージエンジン

  • MariaDB ドキュメントの「エンジン定義の新しいテーブル/フィールド/インデックス属性」で説明されている、ストレージエンジン固有のオブジェクト属性。

  • テーブルとテーブルスペースの暗号化

マネージド型サービスの操作性を実現するために、Amazon RDS では DB インスタンスへのシェルアクセスはできません。また、上位の権限を必要とする特定のシステムプロシージャやシステムテーブルへのアクセスが制限されます。Amazon RDS は、任意の標準 SQL クライアントアプリケーションによる、DB インスタンス上のデータベースへのアクセスがサポートされています。Amazon RDS では、Telnet、Secure Shell (SSH)、または Windows のリモートデスクトップ接続を使用しての、DB インスタンスに対するダイレクトホストアクセスは行えません。

Amazon RDS の MariaDB でサポートされているストレージエンジン

MariaDB ではさまざまな機能を備えた複数のストレージエンジンがサポートされていますが、それらのすべてのエンジンが回復性やデータ耐久性のために最適化されているわけではありません。InnoDB は、Amazon RDS での MariaDB DB インスタンスについて推奨およびサポートされているストレージエンジンです。Amazon RDS でのポイントインタイムの復元とスナップショット復元機能には、回復可能なストレージエンジンが必要であり、MariaDB バージョンで推奨された ストレージエンジンのみがサポートされています。Amazon RDS は Aria もサポートしていますが、Aria を使用すると、インスタンスに障害が発生した場合の復旧に悪影響を及ぼす可能性があります。

他のストレージエンジンは、現在 MariaDB 用の Amazon RDS ではサポートされていません。

Amazon RDS での MariaDB のファイルサイズ制限

MariaDB DB インスタンスの場合、InnoDB file-per-table テーブル領域を使用するとき、プロビジョンドストレージの最大サイズにより、テーブルのサイズは最大 16 TB に制限されます。また、システムのテーブルスペースも最大 16 TB に制限されています。InnoDB file-per-table テーブルスペース (各テーブルが独自のテーブルスペースに存在) が、デフォルトで MariaDB DB インスタンスに設定されます。詳細については、「Amazon RDS DB インスタンスストレージ」を参照してください。

InnoDB file-per-table テーブルスペースの使用は、アプリケーションにより長所と短所があります。アプリケーションに最適な方法を判断するには、MySQL ドキュメントの「File-Per-Table テーブルスペース」を参照してください。

テーブルを最大ファイルサイズまで拡張可能にすることはお勧めしません。一般的に望ましいのは、データを小さなテーブルにパーティション分割することです。これにより、パフォーマンスと復旧時間が改善される可能性があります。

大きなテーブルを小さなテーブルに分ける方法の 1 つはパーティション化です。パーティション化では、指定したルールに基づいて、大きなテーブルの各部分を個別のファイルに分散します。例えば、トランザクションを日付ごとに保存する場合、パーティション化を使用して古いトランザクションを別々のファイルに分散させるパーティションルールを作成できます。また、定期的に、アプリケーションですぐに使用する必要のない履歴トランザクションデータをアーカイブできます。詳細については、MySQL ドキュメントの「Partitioning」を参照してください。

テーブルのファイルサイズを確認するには

次の SQL コマンドを使用して、パーティション化の対象になる過度に大きなテーブルがあるか判断します。テーブル統計を更新するには、各テーブルに ANALYZE TABLE コマンドを発行します。詳細については、MySQL ドキュメントの「ANALYZE TABLE 構文」を参照してください。

SELECT TABLE_SCHEMA, TABLE_NAME, round(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2) As "Approximate size (MB)", DATA_FREE FROM information_schema.TABLES WHERE TABLE_SCHEMA NOT IN ('mysql', 'information_schema', 'performance_schema');

InnoDB file-per-table テーブルスペースを有効にするには

  • InnoDB file-per-table テーブルスペースを有効にするには、DB インスタンスのパラメータグループで innodb_file_per_table パラメータを 1 に設定します。

InnoDB file-per-table テーブルスペースを無効にするには

  • InnoDB file-per-table テーブルスペースを無効にするには、DB インスタンスのパラメータグループで innodb_file_per_table パラメータを 0 に設定します。

パラメータグループの更新については、「DB パラメータグループを使用する」を参照してください。

InnoDB file-per-table テーブルスペースを有効または無効にした場合は、ALTER TABLE コマンドを発行できます。このコマンドを使用して、テーブルをグローバルテーブルスペースからテーブル独自のテーブルスペースに移動できます。または、テーブルを独自のテーブルスペースからグローバルテーブルスペースに移動できます。次に例を示します。

ALTER TABLE table_name ENGINE=InnoDB, ALGORITHM=COPY;

Amazon RDS での MariaDB のセキュリティ

MariaDB DB インスタンスのセキュリティは以下の 3 つのレベルで管理されます。

  • AWS Identity and Access Management では、どのユーザーが DB インスタンスに対して Amazon RDS の管理アクションを実行できるかを制御します。IAM 認証情報を使用して AWS に接続している場合、IAM アカウントには、Amazon RDS の管理オペレーションを実行するためのアクセス許可を付与する IAM ポリシーが必要です。詳細については、「Amazon RDS での Identity and Access Management」を参照してください。

  • DB インスタンスを作成するときは、VPC セキュリティグループまたは DB セキュリティグループのいずれかを使用して、どのデバイスまたは Amazon EC2 インスタンスが DB インスタンスのエンドポイントとポートへの接続を開くことができるかを制御します。これらの接続は、Secure Sockets Layer (SSL) を使用して作成できます。さらに、会社のファイアウォールルールでも、社内のどのデバイスが DB インスタンスへの接続を開くことができるかを制御できます。

  • MariaDB DB インスタンスへの接続が開かれたら、ログイン認証とアクセス許可は MariaDB のスタンドアロンインスタンスの場合と同じ方法で適用されます。CREATE USERRENAME USERGRANTREVOKESET PASSWORD などのコマンドは、スタンドアロンデータベースの場合と同じ方法で、データベーススキーマテーブルを直接変更します。

Amazon RDS DB インスタンスを作成すると、マスターユーザーには以下のデフォルト権限が付与されます。

  • alter

  • alter routine

  • create

  • create routine

  • create temporary tables

  • create user

  • create view

  • delete

  • drop

  • event

  • execute

  • grant option

  • index

  • insert

  • lock tables

  • process

  • references

  • reload

    この権限は MariaDB DB インスタンスに限定されます。また、FLUSH LOGS または FLUSH TABLES WITH READ LOCK 操作へのアクセスは許可されません。

  • replication client

  • replication slave

  • select

  • show databases

  • show view

  • trigger

  • update

これらの権限の詳細については、MariaDB ドキュメントの「User Account Management」を参照してください。

注記

DB インスタンスのマスターユーザーを削除することはできますが、お勧めはしません。マスターユーザーを再作成するには、ModifyDBInstance API または modify-db-instance AWS CLI を使用して、新しいマスターユーザーのパスワードを該当するパラメータで指定します。インスタンスに既存のマスターユーザーがない場合、指定したパスワードを使用してマスターユーザーが作成されます。

各 DB インスタンスに管理サービスを提供するために、DB インスタンスの作成時に rdsadmin ユーザーが作成されます。rdsadmin アカウントの権限をドロップ、名前変更、パスワード変更、または変更しようとするとエラーになります。

DB インスタンスの管理を可能にするために、標準的なコマンド killkill_query の使用は制限されています。Amazon RDS コマンド mysql.rds_killmysql.rds_kill_querymysql.rds_kill_query_id が MariaDB と MySQL 用に用意されており、DB インスタンスのユーザーセッションやクエリを終了できます。

MariaDB DB インスタンスで SSL を使用する

Amazon RDS では、MariaDB データベースエンジンを実行する DB インスタンスとの Secure Sockets Layer (SSL) 接続がサポートされています。MariaDB は、セキュアな接続に OpenSSL を使用します。

Amazon RDS によって、Amazon RDS によるインスタンスのプロビジョニング時、SSL 証明書が作成され、DB インスタンスにインストールされます。これらの証明書は認証局によって署名されます。SSL 証明書には、なりすまし攻撃から保護するために、SSL 証明書の共通名(CN)として DB インスタンスのエンドポイントが含まれています。

証明書のダウンロードについては、SSL/TLS を使用した DB instance への接続の暗号化 を参照してください。

Amazon RDS for MariaDB は、Transport Layer Security (TLS) バージョン 1.0、1.1、1.2、および 1.3 をサポートしています。次の表は、MySQL バージョンの TLS サポートを示しています。

MariaDB バージョン TLS 1.0 TLS 1.1 TLS 1.2 TLS 1.3

MariaDB 10.5

サポート対象

サポート対象

サポート対象

サポート対象

MariaDB 10.4

サポート対象

サポート対象

サポート対象

サポート対象

MariaDB 10.3

サポート対象

サポート対象

サポート対象

サポート対象

MariaDB 10.2

サポート対象

サポート対象

サポート対象

サポート対象

重要

MySQL 5.7 バージョン、MySQL 8.0 バージョン、または MariaDB バージョンを使用している場合は、mysql クライアントプログラムのパラメータが若干異なります。

使用しているバージョンを確認するには、--version オプションを指定しながら mysql コマンドを実行します。次の例の出力では、MariaDB のクライアントプログラムが使用されていることが確認できます。

$ mysql --version mysql Ver 15.1 Distrib 10.5.9-MariaDB, for osx10.15 (x86_64) using readline 5.1

Amazon Linux、CentOS、SUSE、Debianなど、ほとんどのLinux ディストリビューションでは、MySQL をMariaDB に置き換えており、mysql バージョンは MariaDB と同じものを使用しています。

デフォルトの mysql クライアントを使用して接続を暗号化するには、以下の例のように、--ssl-ca パラメータを使用して mysql クライアントを起動し、公開鍵を参照します。

次の例は、MySQL 5.7 以降で --ssl-ca パラメータを使用しながら、クライアントを起動する方法を示しています。

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=[full path]global-bundle.pem --ssl-mode=REQUIRED

次の例は、MariaDB で --ssl-ca パラメータを使用しながら、クライアントを起動する方法を示しています。

mysql -h myinstance.123456789012.rds-us-east-1.amazonaws.com --ssl-ca=[full path]global-bundle.pem --ssl

証明書バンドルのダウンロードについては、「SSL/TLS を使用した DB instance への接続の暗号化」 を参照してください。

特定のユーザーアカウントに対して SSL 接続を要求できます。例えば、MariaDB バージョンに応じて以下のいずれかのステートメントを使用し、ユーザーアカウント encrypted_user で SSL 接続を要求できます。

次のステートメントを使用します。

ALTER USER 'encrypted_user'@'%' REQUIRE SSL;

MariaDB による SSL 接続の詳細については、MariaDB ドキュメントの「SSL の概要」を参照してください。

キャッシュウォームアップ

InnoDB キャッシュウォームアップでは、DB インスタンスがシャットダウンされたときのバッファプールの最新の状態を保存し、DB インスタンスが起動されたときに保存された情報からバッファプールを再ロードすることによって、MariaDB DB インスタンスのパフォーマンスを向上させることができます。このアプローチにより、通常のデータベースの使用からバッファープールを「ウォームアップする」必要がなくなり、既知の一般的なクエリのページを使用してバッファープールを事前にロードします。キャッシュウォームアップの詳細については、MariaDB ドキュメントの「バッファープールのダンプと復元」を参照してください。

MariaDB 10.2 以上の DB インスタンスでは、キャッシュウォームアップはデフォルトで有効になっています。有効にするには、DB インスタンスのパラメータグループで innodb_buffer_pool_dump_at_shutdown および innodb_buffer_pool_load_at_startup パラメータを 1 に設定します。パラメータグループのこれらのパラメータ値を変更すると、パラメータグループを使用するすべての MariaDB DB インスタンスに影響します。特定の MariaDB DB インスタンスの キャッシュウォームアップを有効にするには、それらの DB インスタンスの新しいパラメータグループを作成することが必要になる場合があります。パラメータグループについては、「DB パラメータグループを使用する」を参照してください。

キャッシュウォームアップは、主に、標準ストレージを使用する DB インスタンスにパフォーマンス上のメリットをもたらします。PIOPS ストレージを使用する場合、一般的に大きなパフォーマンス上のメリットは見られません。

重要

フェイルオーバー時など、MariaDB DB インスタンスが正常にシャットダウンしなかった場合、バッファープールの状態はディスクに保存されません。この場合、DB インスタンスが再開されるときに、MariaDB は利用可能なバッファープールファイルをロードします。特に害はありませんが、復元済みバッファープールは、再起動前のバッファープールの最新の状態を反映していない可能性があります。スタートアップ時に キャッシュをウォームアップするために、バッファープールの最新の状態を利用できるように、定期的に「オンデマンド」でバッファープールをダンプすることをお勧めします。バッファープールをオンデマンドでダンプまたはロードできます。

自動で定期的にバッファープールをダンプするイベントを作成できます。例えば、次のステートメントは、1 時間ごとにバッファープールをダンプする periodic_buffer_pool_dump という名前のイベントを作成します。

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

詳細については、MariaDB のドキュメントの「イベント」を参照してください。

オンデマンドでのバッファープールのダンプとロード

次のストアドプロシージャを使用して、 キャッシュをオンデマンドで格納しロードできます。

MariaDB のデータベースパラメータ

デフォルトでは、MariaDB DB インスタンスは MariaDB データベースに固有の DB パラメータグループを使用します。このパラメータグループには、MySQL データベースエンジンの Amazon RDS DB パラメータグループに含まれるいくつかのパラメータがありますが、すべてのパラメータがあるわけではありません。また、いくつかの新しい MariaDB 固有のパラメータも含まれます。RDS for MariaDB DB エンジンで使用できるパラメータの詳細については、「MariaDB のパラメータ」を参照してください。

MariaDB の一般的な DBA タスク

セッションやクエリの終了、レプリケーションエラーのスキップ、InnoDB テーブルスペースを使用したクラッシュリカバリ時間の短縮、グルーバルなステータス履歴の管理は、MariaDB DB インスタンスで実行する一般的な DBA タスクです。「MySQL DB インスタンスの一般的な DBA タスク」で説明されているように、これらのタスクは、MySQL DB インスタンスの場合と同様に処理できます。クラッシュ回復手順は、MySQL InnoDB エンジンを参照しますが、InnoDB または XtraDB を実行する MariaDB インスタンスにも適用できます。

MariaDB DB インスタンスのローカルタイムゾーン

デフォルトでは、MariaDB DB インスタンスのタイムゾーンは協定世界時 (UTC) です。代わりに、DB インスタンスのタイムゾーンをアプリケーションのローカルタイムゾーンに設定できます。

DB インスタンスのローカルタイムゾーンを設定するには、DB インスタンスのパラメータグループの time_zone パラメータを、このセクションで後述するサポートされている値のいずれかに設定します。パラメータグループの time_zone パラメータを設定すると、そのパラメータグループを使用しているすべての DB インスタンスとリードレプリカは、新しいローカルタイムゾーンを使用するように変更されます。パラメータグループのパラメータの設定については、「DB パラメータグループを使用する」を参照してください。

ローカルタイムゾーンを設定した後、データベースへのすべての新しい接続にその変更が反映されます。ローカルタイムゾーンを変更するときにデータベースへの接続を開いている場合、その接続を閉じて新しい接続を開くまで、ローカルタイムゾーンは更新されません。

DB インスタンスとそのリードレプリカには異なるローカルタイムゾーンを設定できます。そのためには、DB インスタンスとレプリカに異なるパラメータグループを使用し、各パラメータグループの time_zone パラメータを異なるローカルタイムゾーンに設定します。

AWS リージョン間のレプリケーションを実行する場合は、ソース DB インスタンスとリードレプリカに異なるパラメータグループ (パラメータグループは AWS リージョンに固有のもの) を使用します。各インスタンスに同じローカルタイムゾーンを使用するには、インスタンスとリードレプリカのパラメータグループの time_zone パラメータを設定する必要があります。

DB スナップショットから DB インスタンスを復元すると、ローカルタイムゾーンが UTC に設定されます。復元が完了したら、タイムゾーンをローカルタイムゾーンに更新できます。DB インスタンスをある時点まで復元する場合、復元された DB インスタンスのローカルタイムゾーンは、復元された DB インスタンスのパラメータグループに設定されているタイムゾーンです。

ローカルタイムゾーンは以下のいずれかの値に設定できます。

Africa/Cairo

Asia/Riyadh

Africa/Casablanca

Asia/Seoul

Africa/Harare

Asia/Shanghai

Africa/Monrovia

Asia/Singapore

Africa/Nairobi

Asia/Taipei

Africa/Tripoli

Asia/Tehran

Africa/Windhoek

Asia/Tokyo

America/Araguaina

Asia/Ulaanbaatar

America/Asuncion

Asia/Vladivostok

America/Bogota

Asia/Yakutsk

America/Buenos_Aires

Asia/Yerevan

America/Caracas

Atlantic/Azores

America/Chihuahua

Australia/Adelaide

America/Cuiaba

Australia/Brisbane

America/Denver

Australia/Darwin

America/Fortaleza

Australia/Hobart

America/Guatemala

Australia/Perth

America/Halifax

Australia/Sydney

America/Manaus

Brazil/East

America/Matamoros

Canada/Newfoundland

America/Monterrey

Canada/Saskatchewan

America/Montevideo

Canada/Yukon

America/Phoenix

Europe/Amsterdam

America/Santiago

Europe/Athens

America/Tijuana

Europe/Dublin

Asia/Amman

Europe/Helsinki

Asia/Ashgabat

Europe/Istanbul

Asia/Baghdad

Europe/Kaliningrad

Asia/Baku

Europe/Moscow

Asia/Bangkok

Europe/Paris

Asia/Beirut

Europe/Prague

Asia/Calcutta

Europe/Sarajevo

Asia/Damascus

Pacific/Auckland

Asia/Dhaka

Pacific/Fiji

Asia/Irkutsk

Pacific/Guam

Asia/Jerusalem

Pacific/Honolulu

Asia/Kabul

Pacific/Samoa

Asia/Karachi

US/Alaska

Asia/Kathmandu

US/Central

Asia/Krasnoyarsk

US/Eastern

Asia/Magadan

US/East-Indiana

Asia/Muscat

US/Pacific

Asia/Novosibirsk

UTC

Amazon RDS for MariaDB の非推奨バージョン

Amazon RDS for MariaDB バージョン 10.0 および 10.1 は非推奨です。

詳細については、発表: Amazon RDS for MariaDB 10.0 および 10.1 のサポート終了プロセスの延長を参照してください。

MariaDB の Amazon RDS 廃止ポリシーについては、「Amazon RDS​ についてのよくある質問」を参照してください。