2017-08-28 48 views
1

我有一個CloudFormation腳本,用於創建RDS實例並請求子網組。但不是讓用戶逐個指定子網並創建一個新的組,我想選擇一個現有的組。請求AWS CloudFormation腳本中的現有子網組

現在我有這個子網組:

"DatabaseSubnets": { 
     "Description": "The subnets to place database instances in.", 
     "Type": "List<AWS::EC2::Subnet::Id>" 
    }, 
    .... 
    "DatabaseSubnetGroup": { 
     "Type": "AWS::RDS::DBSubnetGroup", 
     "Properties": { 
      "DBSubnetGroupDescription": "CloudFormation managed DB subnet group.", 
      "SubnetIds": { 
       "Ref": "DatabaseSubnets" 
      } 
     } 
    }, 

我如何改變它,選擇現有的組?我應該用Ref替換"Properties"組嗎?

回答

1

如果子網是在此Cloudformation模板之外創建的,那麼您所做的將是最佳方法。另一種方法是對子網進行硬編碼,這比傳入參數時更不理想。

或者,如果您要在同一個Cloudformation模板中創建子網,則可以引用它們,但在這裏似乎不是這種情況。

+0

我更想着傳遞子網組ID作爲參數。 – sashoalm

+1

DBSubnetGroup只接受子網ID。看到這裏:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbsubnet-group.html 如果你想重新使用現有的RDS,那麼你可以通過DBSubnetGroupName參數傳入:http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-rds-dbcluster.html#cfn-rds-dbcluster-dbsubnetgroupname和http:// docs。 aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-rds-database-instance.html#cfn-rds-dbinstance-dbsubnetgroupname – n00b

1

該類型指定不正確。試試這個:

"DatabaseSubnets": { 
    "Description": "The subnets to place database instances in.", 
    "Type": "AWS::EC2::Subnet::Id" 
    "Default" : "" 
}, 
+0

該類型是一個子網列表,因爲我需要至少2個子網用於RDS 。 – sashoalm

相關問題