Amazonrds-mariadb-features
Amazon RDS-MariaDBの機能
MariaDBは人気のあるオープンソースリレーショナルDBであり、コミュニティエディション機能を備えたAmazon RDSサービスで利用できます。 MariaDBのほぼすべての機能をRDSプラットフォームで活用できます。 以下は、RDSプラットフォームにおけるMariaDBの主要な機能の簡単な説明です。
サポートされているバージョン
バージョン10.0、10.1、10.2は、RDSプラットフォームでサポートされているメジャーバージョンです。 DBの作成中にバージョンが指定されていない場合、その時点での最新バージョンがデフォルトになります。 以下は、Python SDKプログラムでAWS APIを使用して、サポートされているすべてのDBエンジンバージョンを取得する方法の例です。
import boto3
client = boto3.client('rds')
response = client.describe_db_engine_versions(
DBParameterGroupFamily='',
DefaultOnly=True,
Engine='mariadb',
EngineVersion='',
ListSupportedCharacterSets=False, #True,
)
print(response)
上記のプログラムを実行すると、次の出力が得られます-
{
"ResponseMetadata": {
"RetryAttempts": 0,
"HTTPStatusCode": 200,
"RequestId": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
"HTTPHeaders": {
"x-amzn-requestid": "16179fbd-9d07-425b-9b86-cc61359ce7b4",
"date": "Fri, 14 Sep 2018 06:45:52 GMT",
"content-length": "1658",
"content-type": "text/xml"
}
},
"u'DBEngineVersions'": [
{
"u'Engine'": "mariadb",
"u'DBParameterGroupFamily'": "mariadb10.2",
"u'SupportsLogExportsToCloudwatchLogs'": true,
"u'SupportsReadReplica'": true,
"u'DBEngineDescription'": "MariaDb Community Edition",
"u'EngineVersion'": "10.2.12",
"u'DBEngineVersionDescription'": "mariadb 10.2.12",
"u'ExportableLogTypes'": [
"audit",
"error",
"general",
"slowquery"
],
"u'ValidUpgradeTarget'": [
{
"u'Engine'": "mariadb",
"u'IsMajorVersionUpgrade'": false,
"u'AutoUpgrade'": false,
"u'Description'": "MariaDB 10.2.15",
"u'EngineVersion'": "10.2.15"
}
]
}
]
}
データベースセキュリティ
RDS MariaDBのセキュリティは3つの層で管理されます。
IAMを使用する
このアプローチでは、IAMユーザーに適切なポリシーとアクセス許可が必要です。 このような権限の付与は、アカウント所有者またはこれらの権限を付与するスーパーユーザーによって決定されます。
VPCを使用する
VPCセキュリティグループまたはDBセキュリティグループを使用して、DB2インスタンスのエンドポイントとポートへの接続を開くことができるEC2インスタンスを決定します。 これらの接続は、SSLを使用して行うこともできます。
IAMデータベース認証を使用する
このアプローチでは、IAMロールと認証トークンを使用します。 認証トークンは、アクセスプロセスで使用されるIAMロールに関連する一意の値を生成します。 ここでは、同じ資格情報のセットがデータベースとEC2やS3などの他のAWSリソースに使用されます。
キャッシュウォーミング
キャッシュウォーミングは、DBインスタンスのシャットダウン時にバッファープールの現在の状態を保存し、DBインスタンスの起動時に保存された情報からバッファープールを再読み込みすることにより、MariaDB DBインスタンスのパフォーマンスを向上させることができます。 このアプローチは、通常のデータベースの使用から「ウォームアップ」するバッファプールの必要性をバイパスし、代わりに既知の一般的なクエリのページでバッファプールをプリロードします。
キャッシュウォーミングは、主に標準ストレージを使用するDBインスタンスにパフォーマンス上の利点を提供します。
バッファプールを定期的に自動的にダンプするイベントを作成できます。 たとえば、次のステートメントは、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();