Создание кластера Aurora с помощью Babelfish позволяет использовать Cloud Formation

Можем ли мы каким-либо образом создать кластер Aurora RDS Cluster в нескольких зонах доступности с включенным Babelfish с помощью формирования облака? Мы можем создать его с помощью [console или cli][1]. Однако я хочу создать его с помощью Cloudformation. Я не нахожу варианты в доступных ниже вариантах.

      DBCluster:
Type: AWS::RDS::DBCluster
Properties:
  AssociatedRoles:
    AssociatedRoles
  AvailabilityZones:
    AvailabilityZones
  BacktrackWindow: Number
  BackupRetentionPeriod: Number
  CopyTagsToSnapshot: false
  DBClusterIdentifier: "String"
  DBClusterParameterGroupName: "String"
  DBSubnetGroupName: "String"
  DatabaseName: "String"
  DeletionProtection: false
  EnableCloudwatchLogsExports:
    EnableCloudwatchLogsExports
  EnableHttpEndpoint: false
  EnableIAMDatabaseAuthentication: false
  Engine: "String" # Required
  EngineMode: "String"
  EngineVersion: "String"
  GlobalClusterIdentifier: "String"
  KmsKeyId: "String"
  MasterUserPassword: "String"
  MasterUsername: "String"
  Port: Number
  PreferredBackupWindow: "String"
  PreferredMaintenanceWindow: "String"
  ReplicationSourceIdentifier: "String"
  RestoreType: "String"
  ScalingConfiguration:
    AutoPause: false
    MaxCapacity: Number
    MinCapacity: Number
    SecondsUntilAutoPause: Number
  SnapshotIdentifier: "Number"
  SourceDBClusterIdentifier: "Number"
  SourceRegion: "Number"
  StorageEncrypted: false
  Tags:
    Tags
  UseLatestRestorableTime: false
  VpcSecurityGroupIds:
    VpcSecurityGroupIds

Даже на уровне экземпляра

      DBInstance:
Type: AWS::RDS::DBInstance
Properties:
  AllocatedStorage: "String"
  AllowMajorVersionUpgrade: false
  AssociatedRoles:
    AssociatedRoles
  AutoMinorVersionUpgrade: false
  AvailabilityZone: "String"
  BackupRetentionPeriod: Number
  CACertificateIdentifier: "String"
  CharacterSetName: "String"
  CopyTagsToSnapshot: false
  DBClusterIdentifier: "String"
  DBInstanceClass: "String" # Required
  DBInstanceIdentifier: "String"
  DBName: "String"
  DBParameterGroupName: "String"
  DBSecurityGroups:
    DBSecurityGroups
  DBSnapshotIdentifier: "String"
  DBSubnetGroupName: "String"
  DeleteAutomatedBackups: false
  DeletionProtection: false
  Domain: "String"
  DomainIAMRoleName: "String"
  EnableCloudwatchLogsExports:
    EnableCloudwatchLogsExports
  EnableIAMDatabaseAuthentication: false
  EnablePerformanceInsights: false
  Engine: "String"
  EngineVersion: "String"
  Iops: Number
  KmsKeyId: "String"
  LicenseModel: "String"
  MasterUserPassword: "String"
  MasterUsername: "String"
  MaxAllocatedStorage: Number
  MonitoringInterval: Number
  MonitoringRoleArn: "String"
  MultiAZ: false
  OptionGroupName: "String"
  PerformanceInsightsKMSKeyId: "String"
  PerformanceInsightsRetentionPeriod: Number
  Port: "String"
  PreferredBackupWindow: "String"
  PreferredMaintenanceWindow: "String"
  ProcessorFeatures:
    ProcessorFeatures
  PromotionTier: Number
  PubliclyAccessible: false
  SourceDBInstanceIdentifier: "String"
  SourceRegion: "String"
  StorageEncrypted: false
  StorageType: "String"
  Tags:
    Tags
  Timezone: "String"
  UseDefaultProcessorFeatures: false
  VPCSecurityGroups:
    VPCSecurityGroups

Спасибо, ребята, за ваше время и помощь. [1]: https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/babelfish-create.html

1 ответ

Что ж, я получил ответ на этот вопрос откуда-то еще, и он такой же, как @SilentSteel упомянул в своем комментарии. Вы должны создать новую группу параметров кластера БД с включенной опцией babel fish и назначить эту группу параметров кластеру. Однако babel fish поддерживается только в postgresql13 и более поздних версиях.

      RDSClusterParameterGroupforBF:
Type: AWS::RDS::DBClusterParameterGroup
Properties:
  Description: "Parameter Group for adding BableFish support in Aurora PostgreSQL" # Required
  Family: "aurora-postgresql13" # Required
  Parameters:
    rds.babelfish_status: 'on'

Затем в кластере вы назначите это, используя

      RDSCluster:
Type: 'AWS::RDS::DBCluster'
Properties:
  MasterUsername: !Join ['', ['{{resolve:secretsmanager:', !Ref MyRDSSecret, ':SecretString:username}}' ]]
  MasterUserPassword: !Join ['', ['{{resolve:secretsmanager:', !Ref MyRDSSecret, ':SecretString:password}}' ]]
  DBClusterIdentifier: aurora-postgresql-cluster
  Engine: aurora-postgresql
  EngineVersion: '13.6'
  EngineMode: provisioned
  **DBClusterParameterGroupName: !Ref RDSClusterParameterGroupforBF**
  DBSubnetGroupName: !Ref AuroraDBSubnetGroup1
  DatabaseName: Sample
  Port: '5432'
  VpcSecurityGroupIds:
    - Ref: DatabaseSecurityGroup
  EnableCloudwatchLogsExports:
    - postgresql
  Tags: 
    - Key: Name
      Value: !Sub ${EnvironmentName} Aurora DB Cluster1
Другие вопросы по тегам