gpt4 book ai didi

amazon-web-services - 如何在cloudformation中提供 `AWS::RDS::DBInstance`的变量?

转载 作者:行者123 更新时间:2023-12-03 07:42:02 25 4
gpt4 key购买 nike

我使用 cloudformation 将 RDS aurora 预置到 AWS,并在模板中使用 AWS::RDS::DBClusterAWS::RDS::DBInstance 资源。我有不同的环境,例如devuatprod。每个环境的集群下都有不同数量的数据库实例。如何将数据库实例的数量设置为 cloudformation 模板中的变量?

下面是我的 AWS::RDS::DBInstance 模板。正如您所看到的,模板中有三个实例。它仅用于生产而非开发。如何使用参数来指示实例数?例如,在 dev 中部署 1 个实例,在 prod 中部署 3 个实例。

AuroraDBFirstInstance:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: ${self:provider.postgresqlInstanceClass}
Engine: aurora-postgresql
EngineVersion: ${self:provider.postgresqlEngineVersion}
DBClusterIdentifier: !Ref AuroraDBCluster
PubliclyAccessible: ${self:provider.publiclyAccessible}

AuroraDBSecondInstance:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: ${self:provider.postgresqlInstanceClass}
Engine: aurora-postgresql
EngineVersion: ${self:provider.postgresqlEngineVersion}
DBClusterIdentifier: !Ref AuroraDBCluster
PubliclyAccessible: ${self:provider.publiclyAccessible}

AuroraDBThirdInstance:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceClass: ${self:provider.postgresqlInstanceClass}
Engine: aurora-postgresql
EngineVersion: ${self:provider.postgresqlEngineVersion}
DBClusterIdentifier: !Ref AuroraDBCluster
PubliclyAccessible: ${self:provider.publiclyAccessible}

最佳答案

您可以将其添加为参数并在运行堆栈时传递,您甚至可以进行如下映射:

Environment:
Type: String
AllowedValues:
- dev
- uat
- prod
Mappings:
EnvironmentToDb
dev:
Cluster: 1
uat:
Cluster: 2
prod:
Cluster: 3

然后您可以使用以下方式引用它:DBClusterIdentifier:!FindInMap [EnvironmentToDb,!Ref“环境”,集群]

关于amazon-web-services - 如何在cloudformation中提供 `AWS::RDS::DBInstance`的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64314553/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com