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)

gefragt vor 9 Monaten761 Aufrufe
3 Antworten
0
Akzeptierte Antwort

早速のご返信、ありがとうございます。以下、今回作成したクラスタ、インスタンスのテンプレートです。当初は一つのファイルにしておりましたが、クラスタが完成する前にインスタンスの作成が始まってしまい、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

beantwortet vor 9 Monaten
  • 改行がすべてなくなってしまいました。どうすればいいのでしょうか?

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
beantwortet vor 9 Monaten
  • ありがとうございます。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
EXPERTE
beantwortet vor 9 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen