AzureでNATインスタンスを構成します。
構成手順について、クラシックモデルの時は一部PowerShellによる設定が必要でしたが、ARMになってからはAzureポータルだけで完結するようになりました。
Contents
NATインスタンスにするVM作成
まずはVMを立てます。OSとしては何ら特別なことをするわけでもないのでよくあるCentOSで構成してみます。
VM構成
- [+新規] > 検索欄に[centos]を入力
- [CentOS-based 7.2]を選択します。
- デプロイモデルは[リソース マネージャー]を選択し、[作成]ボタンを選択します。
- 仮想マシンの作成画面が表示されます。
設定項目と値は下記のようにしてみました。
項目 値 名前 nat01 VM disk type○ Premium(SSD)
● Standardユーザー名azure-user 認証の種類 ○パスワード
●SSH鍵Password – SSH public key 公開鍵の中身を貼り付け サブスクリプション 無料試用版 リソースグループ 既存のものを使用 リソースグループ名 rg_cns 場所 東日本 - VMの性能を決める選択肢が提示されますが、NAT目的だけにしてはちょっとお高いので[すべて表示]。
F1S Standardが安いですね。
このFシリーズもDv2シリーズと同じく、2.4 GHz Intel Xeon® E5-2673 v3 (Haswell)を使っているやつで性能良いようです。
Aシリーズは安いんですけどコアあたりのCPU性能はコレの半分程度です。要注意。
Virtual Machinesの価格
- インスタンスタイプを選択すると、オプション機能の構成画面が表示されます。ネットワーク セキュリティ グループを作成済みのものに切り替えます。
- 拡張機能も使うと色々できて嬉しそうです。
Acronis、 Deep Security、Chef等見慣れたものから、DataDogとかクラウドサービスと連動するものまで。
- 一通り設定したので[OK]ボタンを選択します。
- 検証に成功したら[OK]ボタンを選択します。
- 仮想マシンのデプロイが開始されます。
- デプロイが完了すると仮想マシンの概要が表示されます。
VMへのSSH接続
NATインスタンスとしての設定
VMは出来たので、ここからが本文です。OS設定は勿論行いますが、ネットワークインターフェースに対して、NATインスタンスならではの設定が必要です。
OS設定
- まずはIPフォワード設定を実施します。
sysctl -w net.ipv4.ip_forward=1 echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.d/ip_forward.conf
- 続いてファイアウォール設定です。
systemctl start firewalld systemctl enable firewalld firewall-cmd --set-default-zone=external firewall-cmd --reload
静的IP設定
ルートテーブル設定
NAT試験
- プライベートセグメントに立てた仮想マシンからインターネットアクセスに成功することを確認します。
curl -I http://www.cns.co.jp HTTP/1.1 200 OK