Amazon Aurora MySQL ã®ã¤ã³ãã¬ã¼ã¹ã¢ããã°ã¬ã¼ãæ©è½
ã¤ãå æ¥ãAmazon Aurora ã«ã¦ãMySQL 5.6äºæã®ãã¼ã¸ã§ã³1.xãããMySQL 5.7äºæã®ãã¼ã¸ã§ã³2.xã¸ã¤ã³ãã¬ã¼ã¹ã¢ãããã¼ããå¯è½ã«ãªãã¾ããã
Amazon Aurora が MySQL 5.6 から 5.7 へのインプレースアップグレードをサポート
ãã®æ©è½ã使ããã¨ã§ã徿¥ã®ããã«ã¹ãããã·ã§ããããã®å¾©å ãã¬ããªã±ã¼ã·ã§ã³ãã¤ã³ã¹ã¿ã³ã¹ã®åæ¿ã¨ãã£ã使¥ãããªãã¦ããã¨ã³ããã¤ã³ããªã©ã¯ãã®ã¾ã¾ã«ãç°¡åã«MySQL5.7äºæã«ã¢ããã°ã¬ã¼ããããã¨ãå¯è½ã«ãªãã¾ãã
æ©éãã®æ©è½ã§ã¢ããã°ã¬ã¼ãã試ã¿ãã®ã§ãããCloudFormationã§ç®¡çããã¦ããAuroraã¯ã©ã¹ã¿ã¼ãã¢ããã°ã¬ã¼ãããéã«ã¡ãã£ã¨ããã£ããã¨ããã£ãã®ã§ããã®å 容ã¨å¯¾å¿æ¹æ³ãã·ã§ã¢ãã¾ãã
ã¢ãããã¼ãåã®RDSç¨CloudFormation stack
æ´æ°åã®DBã¯ã©ã¹ã¿ã®CloudFormationã§ã®å®ç¾©ã¯ãããªæãã§ãããï¼ããããããããæå°éã®è¨è¿°ã®ã¿ã«ãã¦ããã¾ãï¼
DevAuroraParameterGroup ã¨ããã«ã¹ã¿ã ã®ã¤ã³ã¹ã¿ã³ã¹ãã©ã¡ã¼ã¿ã°ã«ã¼ãã使ã£ã¦ãã¾ãã
--- AWSTemplateFormatVersion: '2010-09-09' Description: RDS for sandbox Resources: DevAuroraParameterGroup: Type: AWS::RDS::DBParameterGroup Properties: Description: Development Aurora parameter group Family: aurora5.6 Parameters: max_connections: '1024' wait_timeout: '300' DevAuroraParameterGroup57: Type: AWS::RDS::DBParameterGroup Properties: Description: Development Aurora parameter group for 5.7 Family: aurora-mysql5.7 Parameters: max_connections: '1024' wait_timeout: '300' DBCluster: Type: AWS::RDS::DBCluster Properties: DBClusterIdentifier: test-cluster DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup Engine: aurora EngineVersion: 5.6.mysql_aurora.1.22.2 MasterUsername: "{{resolve:ssm:rds.username.default:1}}" MasterUserPassword: "{{resolve:ssm-secure:rds.password.default:1}}" DBInstance: Type: AWS::RDS::DBInstance DeletionPolicy: Delete Properties: DBClusterIdentifier: Ref: DBCluster DBInstanceClass: db.t2.medium DBInstanceIdentifier: test-db Engine: aurora EngineVersion: 5.6.mysql_aurora.1.22.2 DBParameterGroupName: Ref: DevAuroraParameterGroup DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup
ããã£ããã¨
ãããã以ä¸ã®ããã«æ¸ãæãã¦é©ç¨ãããã¨ã§ãMySQL5.7äºæãã¼ã¸ã§ã³ã¸ã®ã¤ã³ãã¬ã¼ã¹ã¢ããã°ã¬ã¼ãã試ã¿ã¾ãã
@@ -82,8 +82,8 @@ DBClusterIdentifier: test-cluster DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup - Engine: aurora - EngineVersion: 5.6.mysql_aurora.1.22.2 + Engine: aurora-mysql + EngineVersion: 5.7.mysql_aurora.2.07.3 MasterUsername: "{{resolve:ssm:rds.username.default:1}}" MasterUserPassword: "{{resolve:ssm-secure:rds.password.default:2}}" DBInstance: @@ -94,9 +94,9 @@ Ref: DBCluster DBInstanceClass: db.t2.medium DBInstanceIdentifier: test-db - Engine: aurora - EngineVersion: 5.6.mysql_aurora.1.22.2 + Engine: aurora-mysql + EngineVersion: 5.7.mysql_aurora.2.07.3 DBParameterGroupName: - Ref: DevAuroraParameterGroup + Ref: DevAuroraParameterGroup57 DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup
ãããã以ä¸ã®ãããªã¨ã©ã¼ã§å¤±æãã¦ãã¾ãã¾ããã
{ "LogicalResourceId": "DBCluster", "ResourceStatus": "UPDATE_FAILED", "ResourceStatusReason": "The current DB instance parameter group sandbox-rds-devauroraparametergroup-fxfe7dqcn31p is custom. You must explicitly specify a new DB instance parameter group, either default or custom, for the engine version upgrade. (Service: AmazonRDS; Status Code: 400; Error Code: InvalidParameterCombination; Request ID: ...)" }
ã«ã¹ã¿ã ã®ã¤ã³ã¹ã¿ã³ã¹ãã©ã¡ã¼ã¿ã°ã«ã¼ãã使ã£ã¦ããããã5.7ã«å¯¾å¿ããæ°ãã DevAuroraParameterGroup57 ã«åãæ¿ããããæå®ããªããã°ãªãã¾ããã
CLIã§ããã° modify-db-cluster ã« --db-instance-parameter-group-name ãªãã·ã§ã³ã§ãããæå®å¯è½ã§ãã
ããããã©ãããCloudFormationã§ã¯ãããæ¸¡ããã¨ãã§ããªãæ§åã§ããåæã« DBInstance ã®æ´æ°ããã¦ããç°ãªããªã½ã¼ã¹ã®å¤æ´ã¾ã§ã¯æ¾ã£ã¦ã¯ãããªãããã§ããã
å¯¾å¿æ¹æ³ãã®1
ããããæã®ä¸ã¤ã®æ¹æ³ã¯ããã£ããCloudFormationã®ç®¡çä¸ããå¤ãã¦ãã¾ããæåã§ã¢ãããã¼ãããã®ã¡ãCloudFormationã«ã¤ã³ãã¼ããç´ãã¨ããæ¹æ³ã§ãã
DBClusterããã³DBInstanceã«DeletionPolicy: Retainãæå®ãã¦é©ç¨ãããã¨ã§ãCloudFormationã«ãã£ã¦ããããåé¤ãããªãããã«ãã¾ããDBClusterããã³DBInstanceã®å®ç¾©ãåé¤ããæ´æ°ãè¡ãã¾ããæ®ã£ãã¯ã©ã¹ã¿ã¼ãAWSã³ã³ã½ã¼ã«ã§5.7ã«æ´æ°ãã¾ãã
5.7ã®å®ç¾©ã§å度
DBClusterããã³DBInstanceã®å®ç¾©ã追å ãããã¤ã³ãã¼ãã ãè¡ãã¾ãããã®æã追å ããåãªã½ã¼ã¹ã«å¯¾å¿ããã¤ã³ã¹ã¿ã³ã¹ã®èå¥åï¼ããã§ã¯test-clusterã¨test-dbï¼ãæå®ãããã¨ã§ãCloudFormationã¹ã¿ãã¯ã«æ¢åãªã½ã¼ã¹ãåãè¾¼ããã¨ãå¯è½ã§ããããªããæ¤ç¥ãè¡ããå®ç¾©ã¨å®æ ã«ãºã¬ããªããã¨ã確èªãã¾ãã
ããããæåãªãã¬ã¼ã·ã§ã³ã¯ãªãã¹ãé¿ãããã¨ãããã¨ã§ã次ã®ãããªæ¹æ³ãèãã¦ã¿ã¾ããã
å¯¾å¿æ¹æ³ãã®2
ã¨ã©ã¼ã¡ãã»ã¼ã¸ãè¦ãã«ãã«ã¹ã¿ã ã®ã¤ã³ã¹ã¿ã³ã¹ãã©ã¡ã¼ã¿ã°ã«ã¼ãã使ããªããã°è¯ãã®ã ããã¨ãããã¨ã§ããã£ããããã©ã«ãã«æ»ããã¤ã³ãã¬ã¼ã¹ã¢ããã°ã¬ã¼ãå¾ã«åã³ã«ã¹ã¿ã ã®ãã©ã¡ã¼ã¿ãé©ç¨ããªããã¦ã¿ã¾ãã
ã¾ãã DBInstance ã®ãã©ã¡ã¼ã¿ã°ã«ã¼ããããã©ã«ãã§ãã default.aurora5.6 ã«ãã¦ã¹ã¿ãã¯ãæ´æ°ãã¾ãã
@@ -96,7 +96,6 @@ DBInstanceIdentifier: test-db Engine: aurora EngineVersion: 5.6.mysql_aurora.1.22.2 - DBParameterGroupName: - Ref: DevAuroraParameterGroup + DBParameterGroupName: default.aurora5.6 DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup
次ã«ã ã¤ã³ãã¬ã¼ã¹ã¢ããã°ã¬ã¼ãã¨åããã¦ãæ°ããã«ã¹ã¿ã ã®ãã©ã¡ã¼ã¿ã°ã«ã¼ããæå®ãã¦ååº¦æ´æ°ãã¾ãã
@@ -82,8 +82,8 @@ DBClusterIdentifier: test-cluster DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup - Engine: aurora - EngineVersion: 5.6.mysql_aurora.1.22.2 + Engine: aurora-mysql + EngineVersion: 5.7.mysql_aurora.2.07.3 MasterUsername: "{{resolve:ssm:rds.username.default:1}}" MasterUserPassword: "{{resolve:ssm-secure:rds.password.default:2}}" DBInstance: @@ -94,8 +94,9 @@ Ref: DBCluster DBInstanceClass: db.t2.medium DBInstanceIdentifier: test-db - Engine: aurora - EngineVersion: 5.6.mysql_aurora.1.22.2 - DBParameterGroupName: default.aurora5.6 + Engine: aurora-mysql + EngineVersion: 5.7.mysql_aurora.2.07.3 + DBParameterGroupName: + Ref: DevAuroraParameterGroup57 DBSubnetGroupName: Fn::ImportValue: DBSubnetGroup
ããã§ãç¡äºã«CloudFormationã®ã¿ã§ã¤ã³ãã¬ã¼ã¹ã¢ããã°ã¬ã¼ããå®äºãã¾ããã ã¾ãMySQL5.7ã¸ã®ç§»è¡å®äºå¾ããDBã¯åé¡ãªãå©ç¨ã§ãããã¨ã確èªã§ãã¾ããã
å¾è ã®æ¹æ³ã¯éä¸ã§ãã©ã¡ã¼ã¿ã°ã«ã¼ãã®æ´æ°ãä½åã«å ¥ãã¨ããæ¬ ç¹ãããã¾ããã対象ãå¤ãã¦èªååãããå ´åãªã©ã¯ãã¡ãã®ææ®µã®æ¹ãè¯ããã¨ãããããããã¾ããã
ãã£ã¨ãã¾ã対å¿ã§ããæ¹æ³ãæä¾ãããã¨ãããããã®ã§ãããã©ãã