Katoです。
クロスパワーブログではAWSが新機能をリリースしても即座に紹介するということはしてきませんでしたが、今回は便利な機能が追加されましたので紹介したいと思います。
現在AWSで新規にアカウントを作成すると、それらは全てVPC環境でEC2インスタンスが立ち上がるようになります。そしてVPCの中でサブネットを区切ることで、Aは公開Webサーバ用、Bはバックアップ用、Cはメンテナンス踏み台用…のように使い分けることが可能であり、まさしくオンプレ環境をクラウドで再現できるような機能と言えるものです。
セキュリティやオンプレ環境との統合を重視する場合、VPCにVPN接続を行うことでこれらを実現することも可能なものです。
今回は便利な機能が追加されましたので紹介したいと思います。現在AWSで新規にアカウントを作成すると、それらは全てVPC環境でEC2インスタンスが立ち上がるようになります。他にもネットワーク関連としてはルーティングテーブルやアクセス制限(ACL/セキュリティグループ)が可能であるなど、基本でありつつ高機能なサービスがVPCなのです。
インターネット接続の条件
VPC内のインスタンスがインターネットへアクセスするには、次の条件が必要です。
- 当該VPCにインターネットゲートウェイがアタッチされていること
- インターネットアクセスを必要とするインスタンスが存在するサブネットのルーティングテーブルが適切であること
- プライベートサブネットからアクセスするには、NATインスタンスが存在すること
- プライベートサブネットからアクセスするには、NATインスタンスをルーティングテーブルに含むこと
常時インターネットアクセスができるサブネットをパブリックサブネット、そうではないサブネットをプライベートサブネットと呼びます。 上記に挙げた4つの条件のうちプライベートサブネット特有のものは3と4であり、NATインスタンスの立上げという特有の作業が発生する分だけ手間がかかります。
図1. NATインスタンスを利用する旧来の方式
構築時のみならず、NATインスタンスの監視をCloud Watchで行う、更にSNSで障害通知も行うことになるわけですから、ただNATインスタンスを作れば良いというわけではありません。
VPC NAT Gateway
そこで日本時間の今朝発表されたばかりのVPC NAT Gatewayが登場します。これはNATインスタンスの代用となるものであり、NAT用のインスタンスを立ち上げる必要が無くなるものです。運用の前準備として必要となるインスタンスの作成が無くなるわけですね。
図2. NATゲートウェイを利用する場合
ご覧の通り、NATインスタンスという存在そのものが無くなるため、VPCとサブネットの中身がシンプルになることがパッと見でわかるかと思います。 ただ、いくらNATゲートウェイを使うからと言ってもサブネットにアタッチするルーティングテーブルは編集しなければなりません。NATゲートウェイ経由でインターネットと通信するならば、デフォルトゲートウェイをNATゲートウェイに向ける必要があります。
特徴
箇条書きベースでわかりやすく特徴を書くならば、次のようなものになります。
- NATゲートウェイにはElasticIPを割当て可能 - グローバルIPを管理可能
- フローログの取得が可能 - 通過するパケット数、バイト数などをCloud Watchでモニタリング可能
- 価格は$0.062/時間よりの設定 - 場合によってはNATインスタンスより安くなる可能性も
インフラ管理の観点からは、ElasticIPの割り当てとフローログ取得が重要な要素となります。 また、大規模なNATインスタンスを余儀なくされていた場合はコストメリットが生まれる可能性も考えられそうです。
VPCマネジメントコンソールから設定可能
NATゲートウェイは既に東京リージョンでも利用可能になっており、VPCマネジメントコンソールの左側メニューから触ることが可能です。
図3. VPCマネジメントコンソールのNATゲートウェイ表示
残念ながら日本語公式ドキュメントはまだ整備されていないようですが、NATインスタンスの置き換えとして検討する価値は大いにあると言えるでしょう。