我有一個cloudformation腳本,試圖創建一個VPC,每個AZ有一個子網。有沒有辦法讓雲信息查詢可用區域以創建子網?
當我運行:
aws ec2 describe-availablity-zones
我得到4個區返回:
"AvailabilityZones": [
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1a"
},
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1b"
},
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1c"
},
{
"State": "available",
"RegionName": "us-east-1",
"Messages": [],
"ZoneName": "us-east-1d"
}
]
然而,當我嘗試創建我的籌碼,我得到一個錯誤:
"ResourceStatusReason": "Value (us-east-1a) for parameter availabilityZone
is invalid. Subnets can currently only be created in the following
availability zones: us-east-1c, us-east-1b, us-east-1d.",
我用
指定AZ有沒有辦法檢查AZ是否真的可用於創建子網?
不能讓它們留空,因爲我們在每個AZ中創建一個帶有子網的VPC - 問題並不是每個返回的AZ都允許子網! – chris
因此,如果一個區域不允許使用VPC子網,那麼您使用它在VPC中託管的是什麼?簡單地忽略該區域並處理支持它的3個區域。 – Arya
這是一個手動過程 - 如果我使用索引0,1和2創建基於Fn :: Select的子網,它有時會失敗,因爲實際上有4個AZ,但不是每個都允許子網 – chris