Opsworks 错误:无法使用 ARN 找到 rds 实例
Error by Opsworks : unable to find rds instance with ARN
我正在使用 cloudformation
模板创建一个 opsworks
堆栈,我的堆栈中几乎没有需要 database
RDS 实例的应用程序:
"WordpressApp": {
"Type": "AWS::OpsWorks::App",
"Properties": {
"AppSource" : {
"Type" : "git",
"Url" : "git://github.com:myproject/wordpress.git",
"Revision" : "master"
},
"DataSources":[{
"Arn" : { "Ref" : "RDSInstanceARN" },
"DatabaseName" : "application",
"Type" : "RdsDbInstance"
}],
"Description": "website application",
"Name" : "app",
"Shortname" : "app",
"StackId" : {"Ref": "MyStack"},
"Type" : "php"
}
},
这是 RDSInstancARN
参数:
"RDSInstanceARN" : {
"Description" : "Arn of the RDS instance",
"Type" : "String",
"Default" : "arn:aws:rds:eu-west-1:454524154879:db:instanceappdb"
}
ARN 写得很好。
当我测试模板时出现此错误:
unable to find rds instance with ARN
这个错误的原因是什么?没看懂,arn写对了,存在aws账户和运行。有什么想法吗?谢谢。
你registered your RDS instance with your OpsWorks stack先了吗?
根据Amazon RDS Service Layer文档部分,将RDS实例与OpsWorks堆栈一起使用的过程如下:
- 使用 Amazon RDS 控制台、API 或 CLI 创建实例。
请务必记录实例ID、主用户名、主密码和数据库名称。
- 要将 Amazon RDS 层添加到您的堆栈,请向堆栈注册 Amazon RDS 实例。
- 将图层附加到应用程序,这会将 Amazon RDS 实例的连接信息添加到应用程序的部署属性中。
- 使用特定语言的文件或部署属性中的信息将应用程序连接到 Amazon RDS 实例。
我认为设置 DataSources
property on an AWS::OpsWorks::App
对应于上面的 #3,但需要先完成 #2。
不幸的是,CloudFormation 似乎并未正式支持第 2 步 - 请参阅我对您的其他问题的回答,Create an RDS Opsworks Layer by a Cloudformation template 以了解有关该步骤的更多 details/discussion。
我正在使用 cloudformation
模板创建一个 opsworks
堆栈,我的堆栈中几乎没有需要 database
RDS 实例的应用程序:
"WordpressApp": {
"Type": "AWS::OpsWorks::App",
"Properties": {
"AppSource" : {
"Type" : "git",
"Url" : "git://github.com:myproject/wordpress.git",
"Revision" : "master"
},
"DataSources":[{
"Arn" : { "Ref" : "RDSInstanceARN" },
"DatabaseName" : "application",
"Type" : "RdsDbInstance"
}],
"Description": "website application",
"Name" : "app",
"Shortname" : "app",
"StackId" : {"Ref": "MyStack"},
"Type" : "php"
}
},
这是 RDSInstancARN
参数:
"RDSInstanceARN" : {
"Description" : "Arn of the RDS instance",
"Type" : "String",
"Default" : "arn:aws:rds:eu-west-1:454524154879:db:instanceappdb"
}
ARN 写得很好。 当我测试模板时出现此错误:
unable to find rds instance with ARN
这个错误的原因是什么?没看懂,arn写对了,存在aws账户和运行。有什么想法吗?谢谢。
你registered your RDS instance with your OpsWorks stack先了吗?
根据Amazon RDS Service Layer文档部分,将RDS实例与OpsWorks堆栈一起使用的过程如下:
- 使用 Amazon RDS 控制台、API 或 CLI 创建实例。 请务必记录实例ID、主用户名、主密码和数据库名称。
- 要将 Amazon RDS 层添加到您的堆栈,请向堆栈注册 Amazon RDS 实例。
- 将图层附加到应用程序,这会将 Amazon RDS 实例的连接信息添加到应用程序的部署属性中。
- 使用特定语言的文件或部署属性中的信息将应用程序连接到 Amazon RDS 实例。
我认为设置 DataSources
property on an AWS::OpsWorks::App
对应于上面的 #3,但需要先完成 #2。
不幸的是,CloudFormation 似乎并未正式支持第 2 步 - 请参阅我对您的其他问题的回答,Create an RDS Opsworks Layer by a Cloudformation template 以了解有关该步骤的更多 details/discussion。