若要使用“导入现有资源”功能,请先确保您的资源符合指定的格式。同时,确保您的CloudFormation角色具有足够的权限来管理您要导入的资源。
以下是可能导致错误的示例代码:
Resources:
ExistingDB:
Type: AWS::RDS::DBInstance
Properties:
DBInstanceIdentifier: mydb
AllocatedStorage: "10"
DBInstanceClass: db.t2.micro
Engine: MySQL
MasterUsername: myuser
MasterUserPassword: mypassword
若要使用“导入现有资源”功能,您需要在CloudFormation堆栈中添加以下内容:
Resources:
ImportedDB:
Type: AWS::CloudFormation::Stack
Properties:
TemplateURL: s3://my-bucket/imports/import-db.json
Parameters:
DBInstanceIdentifier: mydb
TimeoutInMinutes: 30
以上代码中,您需要将“TemplateURL”修改为指向包含您要导入的资源的模板URL。同时,您还需要为要导入的资源提供所需的参数。
如果要导入的资源位于不同的AWS账户中,请在上述代码中添加以下内容:
Resources:
ImportedDB:
Type: AWS::CloudFormation::Stack
Properties:
StackId: arn:aws:cloudformation:us-west-2:111122223333:stack/my-imported-stack/abcdef01-2345-6789-abcd-1234567890ab
StackName: imported-stack
但请注意,这种情况下您仍然需要为CloudFormation角色提供跨账户访问的权限。
如果您仍然没有成功,可能需要进一步检查您的资源和CloudFormation角色的权限是否正确设置。
上一篇:AWS-CloudFormation-MalformedPolicyDocument-SHARR
下一篇:AWS-CloudFormation返回了“stack-already-exists”异常并且在成功创建堆栈的情况下未能更新DynamoDB。