Aurora MySQL バージョン 3 と Aurora MySQL バージョン 8.4 の比較
Amazon Aurora MySQL バージョン 8.4 では、Aurora MySQL バージョン 3 (MySQL 8.0 と互換) と比較して、大幅な機能強化と変更が導入されています。このガイドでは、何が新しく、何が変わったかを理解するのに役立つ主な違いについて説明します。
認証とセキュリティ
認証プラグイン管理
Aurora MySQL バージョン 3 では、default_authentication_plugin パラメータを使用して、新しいデータベースユーザーのデフォルトの認証プラグインを設定します。
Aurora MySQL バージョン 8.4 では、default_authentication_plugin が authentication_policy パラメータに置き換えられ、より柔軟な認証設定が可能になりました。
TLS と暗号化
Aurora MySQL バージョン 8.4 では、より厳格なセキュリティ標準が適用されます。
-
require_secure_transportパラメータはデフォルトでONに設定され、すべての接続に TLS が必要です。 -
TLS 1.2 および TLS 1.3 のみをサポートします。
-
制限付き暗号スイートを用いて、最新の暗号化標準を適用します。
詳細については、「Amazon Aurora MySQL でのセキュリティ」を参照してください。
パスワード管理
パスワードの検証
Aurora MySQL バージョン 3 では、手動インストールによる validate_password プラグインとコンポーネントがサポートされていますが、デフォルトのパラメータに限定され、カスタマイズは利用できません。
Aurora MySQL バージョン 8.4 では、DB クラスターパラメータを使用した validate_password コンポーネントの管理がサポートされています。
-
新しいクラスターパラメータ:
aurora_enable_validate_password_component -
手動インストールは必要ありません。パラメータを使用して有効または無効にするだけです。
-
コンポーネントは
mysql.componentテーブルに一覧表示されません。 -
コンポーネントのステータスは、クラスターパラメータグループ API またはグローバル変数
aurora_enable_validate_password_componentで確認できます。
Aurora MySQL バージョン 8.4 では、パスワード検証をカスタマイズするために以下のクラスターレベルのパラメータが導入されています。
validate_password.check_user_namevalidate_password.lengthvalidate_password.mixed_case_countvalidate_password.number_countvalidate_password.policy(LOW レベルと MEDIUM レベルのみをサポート)validate_password.special_char_count
詳細については、「Aurora MySQL のパスワードポリシーとパスワード検証」を参照してください。
Aurora MySQL バージョン 8.4 では、以下の変更不可能なインスタンスレベルの validate_password プラグインパラメータが削除されます。
validate-passwordvalidate_password_dictionary_filevalidate_password_lengthvalidate_password_mixed_case_countvalidate_password_number_countvalidate_password_policyvalidate_password_special_char_count
詳細については、「Aurora MySQL 設定パラメータ」を参照してください。
パスワードポリシー
Aurora MySQL バージョン 8.4 では、新しいクラスターパラメータによる包括的なパスワードポリシーのサポートが追加されています。
default_password_lifetimepassword_historypassword_reuse_intervalpassword_require_currentdisconnect_on_expired_password
これらのパラメータは、アカウントごとのパスワードポリシーと連携して、きめ細かな制御を実現します。詳細については、「Aurora MySQL のパスワードポリシーとパスワード検証」を参照してください。
パラメータのデフォルトの変更
temptable_max_mmap
Aurora MySQL バージョン 3 では、すべてのインスタンスクラスとストレージ設定で temptable_max_mmap パラメータのデフォルトとして 1 GiB (1073741824) が固定されています。
Aurora MySQL バージョン 8.4.7 以降では、クラスターに割り当てられたストレージに基づいてデフォルトが動的に計算されます。式は次のとおりです。
LEAST(4294967296, {AllocatedStorage*3/100})
これにより、デフォルトは割り当てられたストレージの 3% に設定され、最大 4 GiB に制限されます。デフォルトは、ストレージ容量に合わせてスケーリングされますが、制限は維持されるため、TempTable ストレージエンジンを使用するリーダーインスタンスでのクエリの失敗を減らすことができます。
パラメータリファレンスエントリについては、「Aurora MySQL 設定パラメータ」を参照してください。
権限とロール
新しい動的権限
Aurora MySQL バージョン 8.4 では、rds_superuser_role に付与される新しい権限がサポートされています。
ALLOW_NONEXISTENT_DEFINERFLUSH_PRIVILEGESOPTIMIZE_LOCAL_TABLESET_ANY_DEFINER
SET_USER_ID 権限は、ALLOW_NONEXISTENT_DEFINER および SET_ANY_DEFINER に置き換えられたため、削除されました。
詳細については、「マスターユーザーアカウント権限」を参照してください。
マスターユーザーの動作
Aurora MySQL バージョン 3: マスターユーザーは、デフォルトでパスワードベースの認証に mysql_native_password 認証プラグインを使用します。
Aurora MySQL バージョン 8.4: マスターユーザー認証プラグインは、authentication_policy クラスターパラメータで定義されたデフォルト値 (デフォルトでは caching_sha2_password プラグイン) に設定されます。
マスターユーザーのパスワードを AWS マネジメントコンソール、CLI、API、または AWS Secrets Manager のローテーションでリセットすると、Aurora はリセット時に現在の authentication_policy パラメータ値で定義された認証プラグインを自動的に使用します。
rdsproxyadmin に対する保護ユーザーの適用
Aurora MySQL バージョン 3: rdsproxyadmin は RDS Proxy の予約済みユーザー名です。ただし、エンジンは、その名前のデータベースユーザーを作成、変更、または削除することを防止しません。
Aurora MySQL バージョン 8.4 (8.4.7 以降): rdsproxyadmin は保護されたユーザーです。エンジンは、どのホストにおいても、rdsproxyadmin に対する CREATE、DROP、RENAME、GRANT、REVOKE、および SET PASSWORD オペレーションを拒否します。拒否されるオペレーションの完全なリストとエラーの例については、「Aurora MySQL の予約済みユーザー」を参照してください。
バージョン 3 クラスターで rdsproxyadmin ユーザーを作成した場合は、アップグレード前のガイダンスとして「rdsproxyadmin に対する保護ユーザーの適用」を参照してください。