Целевые группы прокси-сервера RDS недоступны

Я только что создал прокси RDS с помощью Cloud Formation

На панели управления прокси он показал, что прокси RDS доступен, но целевые группы недоступны, я не могу отладить это и застрял в состоянии обновления Cloud Formation

Это моя конфигурация формирования облака,

Я использовал группу безопасности входящего трафика как для прокси-сервера rds, так и для экземпляра rds, но, похоже, это не работает ...

Так что, у меня неправильная конфигурация? Я застрял в этом весь день

RDSInstance:
  DependsOn: DBSecurityGroup
  Type: AWS::RDS::DBInstance
  Properties: 
    AllocatedStorage: '20'
    AllowMajorVersionUpgrade: false
    AutoMinorVersionUpgrade: true
    AvailabilityZone: ${self:provider.region}a
    DBInstanceClass: db.t2.micro
    DBName: mydb
    VPCSecurityGroups: 
      - "Fn::GetAtt": [ DBSecurityGroup, GroupId ]
    Engine: postgres
    EngineVersion: '11.9'
    MasterUsername: postgres
    MasterUserPassword: Fighting001
    PubliclyAccessible: true
    DBSubnetGroupName: 
      Ref: DBSubnetGroup
    # VPCSecurityGroups: 
    #   Ref: VPC
DBSecretsManager:
  Type: AWS::SecretsManager::Secret
  Properties: 
    Description: 'Secret Store for database connection'
    Name: postgres
    SecretString: 
      'password'
RDSProxy:
  DependsOn: DBSecurityGroup
  Type: AWS::RDS::DBProxy
  Properties: 
    Auth: 
      - AuthScheme: SECRETS
        SecretArn: 
          Ref: DBSecretsManager
        IAMAuth: DISABLED
    DBProxyName: ${self:provider.stackName}-db-proxy
    DebugLogging: true
    EngineFamily: 'POSTGRESQL'
    RoleArn: 'my role arn'
    VpcSecurityGroupIds: 
    - "Fn::GetAtt": [ DBSecurityGroup, GroupId ]
    VpcSubnetIds: 
      - Ref: PublicSubnetA
      - Ref: PublicSubnetB
RDSProxyTargetGroup:
  Type: AWS::RDS::DBProxyTargetGroup
  Properties:
    DBProxyName: 
      Ref: RDSProxy
    DBInstanceIdentifiers: [Ref: RDSInstance]
    TargetGroupName: "default"
    ConnectionPoolConfigurationInfo:
        MaxConnectionsPercent: 45
        MaxIdleConnectionsPercent: 40
        ConnectionBorrowTimeout: 120

person Thanh Long Lê    schedule 06.11.2020    source источник
comment
А как насчет ролей IAM? Они не показаны.   -  person Marcin    schedule 06.11.2020
comment
Для прокси rds? Он также может получить доступ ко всем секретным значениям менеджера. Ср, я на телефоне   -  person Thanh Long Lê    schedule 06.11.2020


Ответы (2)


Вероятная причина того, что ваш шаблон не работает, заключается в том, что ваш AWS::SecretsManager::Secret не используется и имеет неверные значения.

Ваша БД использует:

    MasterUsername: postgres
    MasterUserPassword: Fighting001

Но ваш DBSecretsManager:

SecretString: 
     'password'

что неверно. Я бы предложил сначала настроить все вручную в консоли AWS. Затем вы можете проверить, какая правильная форма SecretString соответствует вашему варианту использования.

person Marcin    schedule 06.11.2020
comment
Я только что это видел. Похоже, почему. Tks u. Я обновлю позже - person Thanh Long Lê; 06.11.2020
comment
@ ThanhLongLê Нет проблем. Если позже вы найдете ответ полезным, мы будем благодарны за его принятие. - person Marcin; 06.11.2020
comment
Второе обновление, я забыл написать, мне нужно преобразовать SecretString в строку типа JSON SecretString: '{username: yourdbusername, password: password}' помните, что это строка типа JSON - person Thanh Long Lê; 06.11.2020

Хотя это не является причиной первоначальной проблемы, упомянутой выше, это может помочь кому-то, кто получит этот пост в будущем.

Убедитесь, что ваш экземпляр RDS и связанная с ним группа безопасности используют один и тот же порт.

Я испытал тот же результат, потому что моя группа безопасности RDS была настроена с использованием порта, отличного от порта RDS.

По умолчанию Aurora Postgres будет использовать порт 3306, однако моя группа безопасности использовала 5432 (потому что он был скопирован из старого экземпляра Postgres, отличного от Aurora RDS). Я обновил свой экземпляр RDS, чтобы использовать порт 5432, указав свойство Port, которое разрешило эту проблему.

person Klicker    schedule 18.05.2021