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リソースにも使用されます。