LoginSignup
4
5

More than 5 years have passed since last update.

Multi Region & Multi AZで動作可能なCloudFormationテンプレートを書くためのAZの指定方法

Posted at

前置き

記述方法はJSONKumogataのRuby DSLで表記してます。
Kumogataは、JSONだと複雑になりがちなCloudFormationテンプレートをRuby DSLで書けるようにした、
@winebarrel@github さんによるcodenize.toolsの一つです。

Region毎に異なるAZ名を自動で解決させたい場合の記述方法になります。

各種記述方法

Region指定

cloudformation
"Ref": "AWS::Region"
kumogata
Ref "AWS::Region"

APIがコールされたRegionが自動的に入ります。

該当のRegionにおけるAZを全指定

cloudformation
"Fn::GetAZs": {
  "Ref": "AWS::Region"
}
kumogata
Fn__GetAZs do
  Ref "AWS::Region"
end

該当のRegionにおけるAZのうち一つだけを指定

cloudformation
"Fn::Select": [
  "0",
  {
    "Fn::GetAZs": {
      "Ref": "AWS::Region"
    }
  }
]
kumogata
Fn__Select [
  "0",
  _{
    Fn__GetAZs { Ref "AWS::Region" }
  }
]

上記と異なるAZを指定する時には配列のインデックスである"0""1"等に変えます。
そのRegionが有するAZ数を超えるインデックスを指定するとエラーになります。

気になる点等

  • GetAZsが返すAZの配列の順序は保証されているのか
  • RegionによってAZ数が異なるが、それも自動で解決する方法はないのか
4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5