0

我不斷收到關於CloudFormation此錯誤:爲什麼CloudFormation不會創建我的數據庫?

Cannot create a db.t2.small database instance because no subnets exist 
in availability zones with sufficient capacity for VPC and storage 
type : standard for db.t2.small. 
Please first create at least one new subnet; choose from these 
availability zones: us-west-2b, us-west-2a, us-west-2c. 

我已經得到了VPC及其子網以外的其他安全地創建和提供通過CloudFormation我的應用程序沒有特定的目標。數據庫必須能夠與EC2實例通信。理想情況下,我也可以使用PgAdmin安全地訪問數據庫,但這不是一個破壞交易的行爲。

下面是相關線路從我的配置文件的部分:

DatabaseInstance: 
Type: AWS::RDS::DBInstance 
Properties: 
    AllocatedStorage: 1 
    DBInstanceClass: db.t2.small 
    PubliclyAccessible: no 

VirtualPrivateNetwork: 
Type: "AWS::EC2::VPC" 
    Properties: 
    CidrBlock: 10.0.0.0/16 

PrivateSubnet: 
Type: "AWS::EC2::Subnet" 
    Properties: 
    AvailabilityZone: us-west-2b 
    CidrBlock: 10.0.1.0/24 
    VpcId: 
     Ref: VirtualPrivateNetwork 

PublicSubnet: 
    Type: "AWS::EC2::Subnet" 
    Properties: 
    AvailabilityZone: us-west-2b 
    CidrBlock: 10.0.0.1/24 
    VpcId: 
     Ref: VirtualPrivateNetwork 

上它爲什麼給我這個令人沮喪的錯誤信息有什麼想法?

+0

我想這可能是因爲您首先啓動RDS然後創建VPC? – error2007s

+0

有趣的建議,但我只是交換訂單到VPC子網子網數據庫,並沒有區別 –

回答

1

在我看來,你在EC2-VPC中有一個默認的VPC關聯它,並且所有新的數據庫實例都是在默認的VPC中創建的,除非你另有指定。

轉到頁RDS和尋找

Supported Platforms 

如果支持的平臺表示VPC,檢查是否有默認VPC。

請看看這個網頁的詳細說明:Check RDS VPC

爲了滿足您的要求,我建議建立在同一個VPC數據庫作爲你的EC2實例,但也許在不同的專用子網隔離呢?或者嘗試在現有的默認VPC中創建新的子網。最後,您打電話瞭解如何去做,但要在VPC中創建數據庫實例,可以嘗試以下步驟:

1)創建一個DB子網組並將子網連接到它。 2)將上面的DB子網組附加到您的數據庫實例。

例如:

 "PrivateSubnet2":{ 
    "Type":"AWS::EC2::Subnet", 
    "Properties":{ 
     "VpcId":{ 
      "Ref":"VirtualPrivateNetwork" 
     }, 
     "CidrBlock":"10.0.3.0/24" 
     "AvailabilityZone":"us-west-2c" 
    } 
    }, 

     "myDBSubnetGroup":{ 
    "Type":"AWS::RDS::DBSubnetGroup", 
    "Properties":{ 
     "DBSubnetGroupDescription":"RDS subnet group", 
     "SubnetIds":[ 
      { 
       "Ref":"PrivateSubnet" 
      }, 
      { 
       "Ref":"PrivateSubnet2" 
      } 
     ] 
    } 
    }, 

DatabaseInstance: 
Type: AWS::RDS::DBInstance 
Properties: 
    AllocatedStorage: 1 
    DBInstanceClass: db.t2.small 
    PubliclyAccessible: no 
    "DBSubnetGroupName":{ 
    "Ref":"myDBSubnetGroup" 
    }, 

請讓我知道,如果你面對任何問題。

+0

謝謝。由於我認爲自己處於正確的軌道,因此我已經投票決定了您的答案,但不幸的是,我現在無法測試並勾選它,因爲我暫時退出了CloudFormation。順便說一句,還有無效的CIDR塊和重疊的IP地址範圍的問題。 –

相關問題