CloudFormationでのRDS AuroraMySQLのインスタンスのスタック作成時のエラーについて

0

CloudFormationでRDSのDBインスタンスのスタックを作成しようとすると、以下のようなエラーが出ます。サブネットグループ、セキュリティグループ等の設定はクラスタと一致しています。原因と対処方法お分かりの方、ご教示いただけますと幸いです。 よろしくお願いします。 Resource handler returned message: "The requested DB Instance will be a member of a DB Cluster. Set database endpoint port number for the DB Cluster. (Service: Rds, Status Code: 400, Request ID: 4c001fca-c929-4097-ad89-67b3c032186f)" (RequestToken: 943e169a-3228-c4fe-e6f8-09f79b5329be, HandlerErrorCode: InvalidRequest)

質問済み 9ヶ月前740ビュー
3回答
0
承認された回答

早速のご返信、ありがとうございます。以下、今回作成したクラスタ、インスタンスのテンプレートです。当初は一つのファイルにしておりましたが、クラスタが完成する前にインスタンスの作成が始まってしまい、WaitConditionを入れてもエラーが出たので、現在はファイルを分けています。クラスタは作成できています。(一部伏字にしております) よろしくお願いします

●インスタンス AWSTemplateFormatVersion: "2010-09-09" Metadata: Generator: "former2" Description: "" Resources: RDSDBInstance: Type: "AWS::RDS::DBInstance" Properties: DBInstanceIdentifier: "sandbox-1-instance-2" DBInstanceClass: "db.serverless" Engine: "aurora-mysql" AvailabilityZone: !Sub "${AWS::Region}c" PreferredMaintenanceWindow: "tue:16:15-tue:16:45" MultiAZ: false EngineVersion: "8.0.mysql_aurora.3.04.0" AutoMinorVersionUpgrade: true LicenseModel: "general-public-license" PubliclyAccessible: false StorageType: "aurora" Port: 3306 DBClusterIdentifier: "sandbox-1" KmsKeyId: !Sub "arn:aws:kms:${AWS::Region}:${AWS::AccountId}:key/" MonitoringInterval: 60 PromotionTier: 1 EnablePerformanceInsights: true PerformanceInsightsKMSKeyId: !Sub "arn:aws:kms:${AWS::Region}:${AWS::AccountId}:key/" PerformanceInsightsRetentionPeriod: 7 DBSubnetGroupName: "sandbox-rds-subnet-group" VPCSecurityGroups: - "sg-****************" DBParameterGroupName: "default.aurora-mysql8.0" OptionGroupName: "default:aurora-mysql-8-0" MonitoringRoleArn: !Sub "arn:aws:iam::${AWS::AccountId}:role/rds-monitoring-role" CACertificateIdentifier: "rds-ca-2019"

●クラスタ(作成済み) AWSTemplateFormatVersion: "2010-09-09" Metadata: Generator: "former2" Description: "" Resources: RDSDBCluster: Type: "AWS::RDS::DBCluster" Properties: AvailabilityZones: - !Sub "${AWS::Region}c" - !Sub "${AWS::Region}a" BackupRetentionPeriod: 1 DBClusterIdentifier: "sandbox-1" DBClusterParameterGroupName: "sandbox-rds-cluster-parameter-group" DBSubnetGroupName: "sandbox-rds-subnet-group" Engine: "aurora-mysql" Port: 3306 MasterUsername: "admin" MasterUserPassword: "REPLACEME" PreferredBackupWindow: "14:42-15:12" PreferredMaintenanceWindow: "tue:17:57-tue:18:27" VpcSecurityGroupIds: - "sg-" StorageEncrypted: true KmsKeyId: !Sub "arn:aws:kms:${AWS::Region}:${AWS::AccountId}:key/" EngineVersion: "8.0.mysql_aurora.3.04.0" EnableIAMDatabaseAuthentication: false EngineMode: "provisioned" DeletionProtection: false EnableHttpEndpoint: false

回答済み 9ヶ月前
  • 改行がすべてなくなってしまいました。どうすればいいのでしょうか?

0

ご質問ありがとうございます。

CloudFormationテンプレートの AWS::RDS::DBInstance 内のプロパティで Port を指定していないかご確認をお願いします。

Amazon Auroraクラスタ内にDBインスタンスを作成する際はポート番号をDB クラスタへ設定するため、DBインスタンス作成時にポート番号を指定した場合に、ご質問にあるようなエラーが発生する可能性がございます。

ドキュメント にて

Amazon Aurora
Not applicable. The port number is managed by the DB cluster.

と記載させていただいておりますので、こちらも合わせてご確認いただけますでしょうか。

AWS
回答済み 9ヶ月前
  • ありがとうございます。Portをコメントアウトしてやってみましたが、以下のエラーが出ました。 Resource handler returned message: "The requested DB Instance will be a member of a DB Cluster. Set vpc security group for the DB Cluster. (Service: Rds, Status Code: 400, Request ID: 350bd9c5-3dcf-4ec3-8de5-262ef7233aad)" (RequestToken: 8806c577-a686-394b-c579-b0c1f3d2d383, HandlerErrorCode: InvalidRequest)

  • こちらのエラーも同様に、現在 AWS::RDS::DBInstance に設定されている VPCSecurityGroupsAWS::RDS::DBCluster 側に設定を移して再度試していただけますでしょうか。

    ドキュメントでは https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbinstance.html#cfn-rds-dbinstance-vpcsecuritygroups に詳細を記載させていただいております。

  • ありがとうございます。インスタンスのVPCSecurityGroupsを削除したら、"Set storage encryption key for the DB Cluster"というエラーが出ましたので、KmsKeyIdとPerformanceInsightsKMSKeyIdを削除して再試行すると、以下のようなエラーが出ました。 Set the Serverless v2 scaling configuration on the parent DB cluster before creating a Serverless v2 DB instance. (Service: Rds, Status Code: 400, Request ID: dcd60378-f580-47b6-a9e7-cd19c7b0ebdc)

  • DBインスタンスとして、 db.serverless (Serverless v2)をご利用でしたら、ServerlessV2ScalingConfigurationAWS::RDS::DBCluster に設定いただけるとエラーが解消するかと思います。

      ServerlessV2ScalingConfiguration: 
        MaxCapacity: 8
        MinCapacity: 0.5
    

    このように設定いただけます。

    詳細な設定方法は、https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-serverlessv2scalingconfiguration をご覧ください。

    また、Aurora Serverless v2のACU設定については、Aurora Serverless v2のドキュメントをご参照ください。

  • ありがとうございます、エラーがなくなりました。ただ不思議なのは、クラスタのスタックを削除後、Serverless v2の定義を付加して再度スタック作成した時に、VpcSecurityGroupsの定義があるとエラーになりました。これを削除するとスタックは作成できるようになりましたが、昨日はエラーが出ていなかったのに不思議です。

0

YUTAKA_H様の回答に承認を付けてください。

profile picture
エキスパート
回答済み 9ヶ月前

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン