近況
22年ぶりにエアライダーの新作が発売されました!
もう楽しいのなんので言葉になりません。
ちなみにNintendo Directの発表ムービーで泣きました。
今までの構成
本題です。最近NAT Gatewayが複数AZに対し1つのNAT Gatewayを展開すればよくなりました。
今までがzonal(AZとNAT Gatewayが1対1)だったのに対し、regional(AZとNAT Gatewayが多対1)となったんですね。
クラメソさんでも次の日には記事が出ていました。毎度早すぎます。ありがとうございます。
いままでの構成とこれからの構成はこんな感じです。
【いままで】
【これから】
CFnで更新する
現在NAT Gateway含むほぼすべてのAWSリソースはCloudFormationで作成・管理しているので、そこで更新していきます。zonalからregionalに切り替える際は、一時的にNAT Gatewayを介した通信が途絶えてしまうので、周知してから実施していきます。
変更の流れは下記のようにしていきます。
①RegionalのNAT Gatewayを作成する(同じEIPを使い続ける要件もないので)
同じEIPを使い続ける要件もないのでサクッと作成していまいます。
RegionalとZonalのNAT Gatewayは同居できるみたいですね。
【いままでとの変更点】
いままで必要なかったパラメータであったため、新たに”AvailabilityMode”の列を追加しました。
また、このパラメータを設定する際は”VpcId”のパラメータも必要になるとのことで、一緒に追加しました。
さらに、”SubnetId”のパラメータは不要となるので削除しました。(確かにリージョナルなのでAZの指定は不要ですね。)
######RegionalNatGateway######
RegionalNatGateway:
Type: AWS::EC2::NatGateway
Properties:
AllocationId: !GetAtt RegionalNatGatewayEIP.AllocationId
AvailabilityMode: regional
VpcId: !Ref VPC
Tags:
- Key: Name
Value: !Sub "${EnvironmentName}-natgw"
- Key: CreatedBy
Value: CFn
######RegionalNatGatewayのEIP######
RegionalNatGatewayEIP:
Type: AWS::EC2::EIP
Properties:
Domain: vpc
Tags:
- Key: Name
Value: !Sub "${EnvironmentName}-eip-natgw"
②ルートテーブルの設定変更する
いままでAZごとのNAT Gatewayに向けていたRouteTableをRegionalのものに変更します。
この作業を忘れると、プライベートからインターネットに通信できなくなります。
③ZonalのNAT Gatewayを削除する(いままで利用していたもの)
パパっと削除するのではなく、通信確認やらをしてから削除しましょう。
この変更で通信がうまくいかなくなればインシデントです。
確認
Zonal NAT GatewayのないプライベートサブネットにあるEC2からインターネット検索ができればOKでしょう。
さいごに
久しぶりに記事を書きましたが、文量と情報量の乏しいものになってしまいました。
これからも新しい内容ややったことを記事化していけるように頑張ります。
それではまたどこかで。


