NAT Gateway を使ってみた -SNAT編-
こんにちは。
ネクストスケープの開發(@mamikaihatsu)です。
ECSを管理している時、パブリックIPが必要な場合があります。
ECS1つ1つにEIPをバインドさせる必要もなかったり、
Outbound パブリックIP や Inbound パブリックIPのみだったり、それぞれ別IPで管理したい時ってありますよね。
そんな時に NAT Gateway を活用できます。
Alibaba Cloud NAT Gatewayには、SNAT と DNAT の機能が提供されております。
まずは今回、SNATを紹介したいと思います。
そもそも、NAT Gateway とは・・?
NAT Gateway とは
NAT プロキシサービス (SNAT & DNAT) を提供するエンタープライズクラスのインターネットゲートウェイです。
VPCは1つのNAT Gatewayのみ利用可能。
EIPにバインドさせて利用し、EIPは最大10個までバインド可能。
1つのEIPを、SNAT エントリと DNAT エントリの両方にバインドする事は不可。
SNAT(送信元 NAT)
インターネットプロキシサービスを提供し、
vSwitch内のECSが割り当てられたパブリックIPを介してインターネットへのアクセスが可能になる。
利用用途として、InboundのパブリックIPを持たせたくない場合や、SLBバックエンドのECSがサードパーティ製品利用やライセンスサーバーアクセスでインターネットアクセスが必要時等
ECSにすでにパブリックIP(EIPなど)を設定済みの場合は、この設定済みのパブリックIPが使用され、SNAT経由でのアクセスにはなりません。(今回の検証でもチェックしてみます!)
DNAT(宛先NAT)
パブリックIPをプライベートIPにマッピングする事により、
インターネットからvSwitch内のECSにアクセスできるようになる。
ポート/IP マッピングをサポート。
利用用途として、サービスをインターネットに公開する場合など
※DNATは次回やります。
では、NAT Gateway のSNATを試してみましょう。
プライベートIPのみのECS2つをNATGateway経由でインターネットにアクセスし
OutboundのパブリックIPを調べてみようかと思います。
今回の環境
- VPC [日本(Tokyo)] – 10.17.0.0/16
- Vswitch – 10.17.0.0/24
- ECS – 10.17.0.224
- ECS – 10.17.0.225
手順
1.NATGatewayの作成
2.EIPの作成とバインド
3.SNATエントリ作成
4.OutboundのパブリックIPを確認
1.NATGatewayの作成
AlibabaCloud管理コンソールのVPCから
NAT Gateways > NAT Gateway の作成
利用するリージョンとVPC、仕様を指定します。
※1つのVPCにつきNATGatewayは1つのみになります。
作成されました。
2.EIPの作成とバインド
NATGatewayにバインドさせるEIPを作成します。
AlibabaCloud管理コンソールのVPCから
Elastic IP アドレス > EIP の作成
利用するリージョンと最大帯域幅、購入数量を指定し、EIPが作成します。
では、NAT Gatewayにバインドします。
先程作成したEIP の バインドをクリック。
インスタンスタイプ:NAT Gateway インスタンス
NAT Gateway インスタンス:作成したNAT Gatewayを指定
これでバインドは完了です。
3.SNATエントリの作成
バインドしたEIPに対して、ルーティング設定を行います。
NAT Gateway から設定を行います。
作成したNAT Gateway のインスタンスから、
SNATテーブル > SNAT エントリの作成
[VSwitch Granularity]タブで、VSwitchと先ほど作成したパブリックIP(EIP)を指定します。
これで設定が完了しました。
4.OutboundのパブリックIPを確認
確認を行う前に、NAT GatewayでSNATエントリ設定したVSwitch内に
EIPに直接バインド済みのECS(図のC)を1つ追加しました。
この場合に、OutboundのパブリックIPがどうなるのかも見てみましょう。
各、ECSからGIPを表示させるサイトにアクセスしてみました。
結果、AとBはNATGateway経由でインターネットにアクセスし、
Cは直接バインドしたEIPでアクセスしていることが分かります。
最後に
今回は、1つのVSwitch-EIPのみで行いましたが、
冗長化構成を行った別ZoneのVSwitchにもバインドが可能です(SNATエントリは別)
複数のECSを管理する場合は、導入を視野に入れるべきサービスですね。
次回はその逆バージョンのDNAT編をやります。