AmazonRDS-MySQLの機能

MySQLは人気のあるリレーショナルDBであり、コミュニティエディション機能を備えたAmazonRDSサービスで利用できます。MYSQLのほぼすべての機能は、リージョンとアベイラビリティーゾーンに基づくいくつかの制限のみでRDSプラットフォームで活用できます。以下は、RDSプラットフォームのMYSQLの主な機能に関する簡単な説明です。サポートされているバージョン

バージョン5.5、5.6、および5.7は、RDSプラットフォームでサポートされているメジャーバージョンです。5.6.27を除いて、すべてのバージョンがすべてのAWSリージョンでサポートされています。DBの作成中にバージョンが指定されていない場合、デフォルトでその時点の最新バージョンになります。以下は、PythonSDKプログラムでAWSAPIを使用してサポートされているすべてのDBエンジンバージョンを取得する方法の例です。

import boto3

client = boto3.client('rds')

response = client.describe_db_engine_versions(
    DBParameterGroupFamily='mysql5.6',
    DefaultOnly=True,
    Engine='mysql',
    EngineVersion='5.6',
    ListSupportedCharacterSets=True,
)

print(response)

上記のコードを実行すると、次のような出力が得られます-

{
   "ResponseMetadata": {},
   "DBEngineVersions'": [
      {
         "Engine'": "mysql",
         "DBParameterGroupFamily'": "mysql5.6",
         "SupportsLogExportsToCloudwatchLogs'": true,
         "SupportedCharacterSets'": [],
         "SupportsReadReplica'": true,
         "DBEngineDescription'": "MySQL Community Edition",
         "EngineVersion'": "5.6.40",
         "DBEngineVersionDescription'": "MySQL 5.6.40",
         "ExportableLogTypes'": [
            "audit",
            "error",
            "general",
            "slowquery"
         ],
         "ValidUpgradeTarget'": [
            {
               "Engine'": "mysql",
               "IsMajorVersionUpgrade'": true,
               "AutoUpgrade'": false,
               "Description'": "MySQL 5.7.22",
               "EngineVersion'": "5.7.22"
            }
         ]
      }
   ]
}

MySQLのバージョン番号はMYSQLABCとして維持されます。この表記では、ABはメジャーバージョンを示し、Cはマイナーバージョンを示します。アップグレードのアプローチは、マイナーバージョンとメジャーバージョンのアップグレードで異なります。

マイナーバージョンのアップグレード

DBインスタンスは、Amazon RDSでサポートされるたびに、新しいマイナーバージョンに自動的にアップグレードされます。このパッチは、制御可能なスケジュールメンテナンスウィンドウ中に発生します。自動更新をオフにしたい場合は、手動で新しいバージョンにアップグレードすることもできます。

メジャーバージョンのアップグレード

メジャーバージョンのアップグレードは、自動アップグレードとしては利用できません。これは、アカウントユーザーがDBインスタンスを変更して手動で行う必要があります。以下のフローチャートは、メジャーバージョンのアップグレードを実現するための手順を示しています。このアプローチにより、アップグレードプロセスは、実際の本番データベースに適用される前に徹底的にテストされます。

RDS MYSQL DBのセキュリティは、3つのレイヤーで管理されます。

IAMの使用

このアプローチでは、IAMユーザーは適切なポリシーと権限を持っている必要があります。このようなアクセス許可の付与は、アカウント所有者またはこれらのアクセス許可を付与するスーパーユーザーによって決定されます。

VPCの使用

VPCセキュリティグループまたはDBセキュリティグループのいずれかを使用して、DBインスタンスのエンドポイントとポートへの接続を開くことができるEC2インスタンスを決定します。これらの接続は、SSLを使用して行うこともできます。

IAMデータベース認証の使用

このアプローチでは、IAMロールと認証トークンを使用します。認証トークンは、アクセスプロセスで使用されるIAMロールに関連する一意の値を生成します。ここでは、同じ資格情報のセットがデータベースだけでなく、EC2やS3などの他のawsリソースにも使用されます。