リージョナルに対応したNATGWを触ってみた

はじめに

NATGWがリージョンモードに対応したとAWSからの発表がありました。
ご存じのようにこれまでのNATGWはサブネット単位で作成する必要があり、冗長構成を作るためには複数のサブネットに分散配置する必要がありました。
当然ですがルーティングの設定も(多少)面倒であり、どうにかならないかなと思っていたのですがNATGWがリージョン単位の作成になるのであれば色々な課題が解決されるように思います。

目次

手順の概要

というわけでさっそくつくっていきます。
公式ドキュメントによれば、まだコンソールでの作成は対応されていないようなのでCLIを使って作っていきます。

サブネットIDを指定してくださいねというエラーが出ました。
コマンドも一応載せておきます。
aws ec2 create-nat-gateway --vpc-id vpc-** --availability-mode regional**
リリースノートを確認すると、NATGW周りの設定を含め色々と追加されているようです。
どうやらAWS CLIのバージョンを最新にする必要があるようでした。
折角なので自分の開発環境でAWS CLIを最新化します。

AWS CLIを更新してから同じコマンドを実行すると作成できました。
ちゃんとリージョナルと書いてあります。
ではコンソールでどう表示されているのか見ていきたいと思います。

ENIやサブネット、PIPなどが消えているのがわかります。
あとは今までのNATGWの使い方と同じですね。
ルートテーブルに紐づけてしまえば自動的に使えるようになります。
実際にプライベートサブネットにインスタンスをたててみましたが、問題なくdnf installなど利用できました。

公式ドキュメントから拝借してきた画像なのですが、パブリックサブネットがなくてもNATGWが利用できるようです。
セキュリティ的に気になる環境ではより使いやすくなったのではないでしょうか。

注意点

一点料金について注意しておきます。
詳しくは公式ドキュメントを参照していただきたいのですが、NATGWの料金はAZの分発生します。
仮にリージョナルNATGWを作成したVPCに3AZ存在する場合はNATGWの費用が3つ分必要だということです。
料金が同じで使いやすくなりましたよ、ということですね。
値段が以前と同じならすごかったのですがさすがにそんなうまい話はありませんでした。

まとめ

当然ですが、これまでのサブネット単位でのNATGWも作成できます。
冗長構成はいらないから安く使いたい場合はサブネット単位のNATGW、冗長構成を利用したい場合はリージョンモードのNATGWという形でうまく使い分けできるといいですね。

投稿者プロフィール

takeshige
そろそろGCPに手を出したい