2016-07-13 136 views
0

我想从现有的快照ID创建一个新的Sql服务器 - RDS实例(具有更多存储空间)。下面是的投掷的错误我的CloudFormation模板“模板中包含错误:无效的模板属性或特性[类型,属性]”Aws CloudFormation:无效的模板属性或属性[类型,属性]

"MyDB" : { 
    "Type" : "AWS::RDS::DBInstance", 
    "Properties" : { 
     "DBName" : { "Ref" : "NSGlobal" }, 
     "DBSnapshotIdentifier":"rds:xxxxxxxxx-2016-07-13-17-00", 
     "AllocatedStorage" : "400", 
     "DBInstanceClass" : "db.m2.xlarge", 
     "EngineVersion" : "11.0" 
    } 
} 

我复制从AWS网站http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-masterusername这个模板和定制它。有什么问题 ?

+2

删除“AWSTemplateFormatVersion”:“2010-09-09”,然后检查,将工作的模板版本是不是AWS资源属性这就是为什么错误 – error2007s

+0

这给模板包含错误:模板格式错误:不支持的类型或结构。 (第1行,第1列) – Srini

+0

你可以粘贴你编辑的模板吗? – error2007s

回答

1

这工作:

{ 
    "AWSTemplateFormatVersion" : "2010-09-09", 
    "Resources" : { 
     "DBInstance" : { 
      "Type": "AWS::RDS::DBInstance", 
      "Properties": { 
       "DBInstanceClass" : "db.m2.xlarge", 
       "AllocatedStorage" : "400", 
       "MasterUsername" : "myusername", 
       "MasterUserPassword" : "mypassword", 
       "DBSnapshotIdentifier":"xxxxxxxx-2016-07-13-17-00" 
      } 
     } 
    } 
} 

MasterUserName和MasterUserPassword不是强制性的,该模板将是有效的,即使没有它们。

请参阅此线程的详细资料:Creating SQL RDS instance in CloudFormation

1

您错过了Engine属性,请使用下面的模板。这是引擎的有效选项。

有效值:MySQL | mariadb | oracle-se1 | oracle-se | oracle-ee | sqlserver-ee | sqlserver-se | sqlserver-ex | sqlserver-web | postgres |极光

 "MyDB" : { 
      "AWSTemplateFormatVersion" : "2010-09-09", 
      "Resources" : { 
      "DBInstance" : { 
      "Type": "AWS::RDS::DBInstance", 
      "Properties": { 
      "DBInstanceClass" : "db.m2.xlarge", 
      "AllocatedStorage" : "400", 
      "MasterUsername" : "myusername", 
      "MasterUserPassword" : "mypassword", 
      "DBSnapshotIdentifier":"xxxxxxxx-2016-07-13-17-00" 
     } 
     } 
    } 
} 
+0

指定DBSnapshotIdentifier时,引擎是可选属性。反正上面的一个也不行!它表示“模板包含错误:模板格式错误:不支持的类型或结构(第1行,第1列)” – Srini

+0

您正在创建SQL还是Mysql? – error2007s

+0

SQL服务器,我试着用sqlserver-ee和sqlserver-se以及 – Srini