1. y-temp4

    誤字を修正

    y-temp4
Changes in body
Source | HTML | Preview
@@ -1,59 +1,59 @@
-CloudFromationで以下のようなエラーが出る場合があります。
+CloudFormationで以下のようなエラーが出る場合があります。
```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`を利用しなければならないためです。
# 備考
あまりにも挙動とエラーメッセージがわかりにくい..。