1. sot528

    Posted

    sot528
Changes in title
+CloudFromationでRoute did not stabilize in expected timeが出る場合
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,59 @@
+CloudFromationで以下のようなエラーが出る場合があります。
+
+```bash
+Route did not stabilize in expected time
+```
+以下のtemplateで`PNPrivateRoute`(`AWS::EC2::Route`) を作成する際に発生しました。5分くらい処理が止まり、このエラーが出て終了してしまいます。
+
+```yaml
+...
+
+ PNNatGateway:
+ Type: 'AWS::EC2::NatGateway'
+ Properties:
+ AllocationId: eipalloc-xxxxxx
+ SubnetId: !Ref PNPublicSubnet
+ PNPrivateRouteTable:
+ Type: 'AWS::EC2::RouteTable'
+ Properties:
+ VpcId: !Ref PrivateNet
+ PNPrivateRoute:
+ Type: 'AWS::EC2::Route'
+ Properties:
+ RouteTableId: !Ref PNPrivateRouteTable
+ DestinationCidrBlock: 0.0.0.0/0
+ GatewayId: !Ref PNNatGateway
+
+...
+```
+
+# 対応
+
+`GatewayId`で指定している箇所を`NatGatewayId`に変更する。
+
+```yaml
+...
+
+ PNNatGateway:
+ Type: 'AWS::EC2::NatGateway'
+ Properties:
+ AllocationId: eipalloc-xxxxxx
+ SubnetId: !Ref PNPublicSubnet
+ PNPrivateRouteTable:
+ Type: 'AWS::EC2::RouteTable'
+ Properties:
+ VpcId: !Ref PrivateNet
+ PNPrivateRoute:
+ Type: 'AWS::EC2::Route'
+ Properties:
+ RouteTableId: !Ref PNPrivateRouteTable
+ DestinationCidrBlock: 0.0.0.0/0
+ NatGatewayId: !Ref PNNatGateway
+
+...
+```
+# 原因
+上記のとおり、`GatewayId`はあくまで`AWS::EC2::InternetGateway`のIDを指定するプロパティであり`AWS::EC2::NatGateway`を指定したい場合は`NatGatewayId`を利用しなければならないためです。
+
+# 備考
+あまりにも挙動とエラーメッセージがわかりにくい..。