当存储类型:io1 时在 cloudformation 中使用 Iops 属性,当存储类型:gp2 时不使用
Use Iops property in cloudformation when StorageType : io1 and donot use when Storage type : gp2
我创建了一个模板来使用 Cloudformation 配置 RDS。在创建 RDS 时我们有两个选项 io1,gp2 当我们使用 gp2 时我们不需要定义 iops 但当使用 io1 时我们需要定义 iops。
我可以使用 io1,但 gp2 显示错误:-
遇到 属性 Iops
的非数值
我的模板片段
StorageType:
Description: choose the storage type gp2 for 'General purpose SSD' & io1 for 'IOPS SSD'.
Default: "gp2"
Type: String
AllowedValues: ["gp2","io1"]
Conditions:
iops: !Equals [!Ref StorageType, "io1"]
gp2: !Equals [!Ref StorageType, "gp2"]
DB:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceIdentifier: !Sub ${AWS::StackName}
DBName: !Ref 'DBName'
AllocatedStorage: !Ref 'Storage'
DBInstanceClass: !Ref 'InstanceType'
StorageType: !Ref StorageType
****Iops: !If [iops, !Ref iops, "AWS::NoValue"]****
StorageEncrypted: !Ref Encryption
Engine: postgres
EngineVersion: 11.2
Port: !Ref PortNo
MasterUsername: !Ref DBUser
MasterUserPassword: !Ref DBPassword
DBSubnetGroupName: !Ref RDSSubnetGroup
VPCSecurityGroups: [!Ref SecurityGroup]
DBParameterGroupName: !Ref RDSParamGroup
MultiAZ: !Ref MultiAz
PubliclyAccessible: !Ref PublicAccessibelity
提前致谢
正确的语法是:
Iops: !If [iops, !Ref iops, !Ref "AWS::NoValue"]
文档:
我创建了一个模板来使用 Cloudformation 配置 RDS。在创建 RDS 时我们有两个选项 io1,gp2 当我们使用 gp2 时我们不需要定义 iops 但当使用 io1 时我们需要定义 iops。 我可以使用 io1,但 gp2 显示错误:-
遇到 属性 Iops
的非数值我的模板片段
StorageType:
Description: choose the storage type gp2 for 'General purpose SSD' & io1 for 'IOPS SSD'.
Default: "gp2"
Type: String
AllowedValues: ["gp2","io1"]
Conditions:
iops: !Equals [!Ref StorageType, "io1"]
gp2: !Equals [!Ref StorageType, "gp2"]
DB:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceIdentifier: !Sub ${AWS::StackName}
DBName: !Ref 'DBName'
AllocatedStorage: !Ref 'Storage'
DBInstanceClass: !Ref 'InstanceType'
StorageType: !Ref StorageType
****Iops: !If [iops, !Ref iops, "AWS::NoValue"]****
StorageEncrypted: !Ref Encryption
Engine: postgres
EngineVersion: 11.2
Port: !Ref PortNo
MasterUsername: !Ref DBUser
MasterUserPassword: !Ref DBPassword
DBSubnetGroupName: !Ref RDSSubnetGroup
VPCSecurityGroups: [!Ref SecurityGroup]
DBParameterGroupName: !Ref RDSParamGroup
MultiAZ: !Ref MultiAz
PubliclyAccessible: !Ref PublicAccessibelity
提前致谢
正确的语法是:
Iops: !If [iops, !Ref iops, !Ref "AWS::NoValue"]
文档: