さくらのクラウド ネットワーク入門 5. L3スイッチを「ルータ+スイッチ」で実現する
この「さくらのクラウド ネットワーク入門」では、初回から4回目までL2スイッチである「スイッチ」を用いてネットワークを構築してきました(記事末のリンク参照)。今回は、ルーティング機能を提供する「ルータ+スイッチ」を紹介します。

- さくらのクラウドの「ルータ+スイッチ」と「スイッチ」の違い
- 1. ルーティング機能付きスイッチを構築する
- 2. サーバを「ルータ+スイッチ」に接続して起動する
- 3. 外部から「ルータ+スイッチ」越しにSSH接続してみる
- 参考リンク
- 本記事で参照するマニュアル
- さくらのクラウド ネットワーク入門 シリーズ
さくらのクラウドの「ルータ+スイッチ」と「スイッチ」の違い
さくらのクラウドの「ルータ+スイッチ」は、仮想ルータとしてインターネットへのルーティング機能を提供します。これにより、従来の「共有セグメント」を利用せずに「ルータ+スイッチ」の配下にあるネットワークからインターネットへ接続できます。
また「ルータ+スイッチ」では、取得したグローバルIPアドレスを自身および配下のサーバで利用できます。そのため「ルータ+スイッチ」をゲートウェイとして、複数のサーバがインターネットと通信できる外部公開向けのネットワーク構成を構築できます。
詳細は、次の図を含むマニュアル「スイッチ, ルータ+スイッチとは」を参照してください。

なお、さくらのクラウドには他に似た機能等として、仮想ネットワーク間のルーティングを提供する「VPNルータ」アプライアンスや、さくらインターネットのホスティングサービスと相互接続できる「ローカルルータ」サービスもあります。詳細はそれぞれのマニュアルをご確認ください(記事末のリンク参照)。
1. ルーティング機能付きスイッチを構築する
ここから「ルータ+スイッチ」を使って、サーバを1つインターネットに公開する簡単なネットワークを構築してみます。まず「ルータ+スイッチ」を作成します。
さくらのクラウドのコントロールパネルの左メニューで「スイッチ」を選択し、画面右上の「+追加」をクリックします。これは以前に説明した「スイッチ」の作成と同じ手順です。

名前を入力して、ここで「ルータ」のラジオボタンを「はい」に変更します。これで作成するスイッチにルーティング機能が付加されます。

割り当てられるグローバルIPアドレスのブロックを「プリフィクス」で指定します。このとき割り当てられるIPアドレスは、ネットワークアドレスとブロードキャストアドレスを除き、自分自身でも3つ使うため(内部的に2個を冗長化のために使用)、それぞれ表示されているIP数から5を引いた個数のグローバルIPアドレスを配下のサーバに設定できます。

配下のネットワークで共有する帯域を選択します。ちなみに「共有セグメント」は最大100Mbpsの帯域が確保されますが、ここでは最大10Gbps(10000Mbps)まで設定可能です(ただし10Gbpsまで選択できるのは東京第2ゾーンのみで、それ以外は5Gbpsまでなので注意してください)。

最後に必要があればIPv6アドレスを付与できます。

ここで右下の「作成」をクリックすると「ルータ+スイッチ」が作成されます。スイッチの一覧からダブルクリックして詳細画面を確認すると、上記で指定したプリフィクスのIPアドレスが割り当てられていることが「割当可能範囲」で確認できます。自分自身には「ゲートウェイ」欄のIPアドレスが割り当てられています。

2. サーバを「ルータ+スイッチ」に接続して起動する
続いて「ルータ+スイッチ」の配下でインターネットに公開されるサーバを起動します。サーバ作成手順の詳細はマニュアルなどを確認してください。ここでは「NIC」などで設定するネットワーク接続について説明します。
まず、NICを「インターネットに接続」ではなく「スイッチに接続」としてください(この「インターネットに接続」は「共有セグメント」に接続することを意図します)。先ほど作成した「ルータ+スイッチ」の名前を選択します。

これにより「ディスクの修正」で「IPアドレス」が設定できるようになるので、プルダウンメニューで「ルータ+スイッチ」のアドレスブロックから選択します。DHCPなど自動で割り当てる仕組みではないので注意してください。「ネットマスク」と「ゲートウェイ」には「ルータ+スイッチ」の設定値が表示されているはずなので、そのままにしておきます。

また、この後でSSHにより接続を確認するので「公開鍵」を設定しておいてください。本シリーズでは「プロジェクトから選択」するようにしています。これで「+作成」をクリックすると、次のようなサーバが作成されました。NICで指定したIPアドレスが確認できます。

ネットワークの構成は、メニュー左下の「マップ」で確認できます。

共有セグメントから独立したネットワークが存在しており、作成した「ルータ+スイッチ」を介してサーバがインターネットに接続されています。
3. 外部から「ルータ+スイッチ」越しにSSH接続してみる
サーバが起動したら、外部からSSHで接続してみます。今回のサーバは「ルータ+スイッチ」を介して直接インターネットに公開されているため、サーバに設定したグローバルIPアドレスに対して手元のPCから ssh コマンドで接続できます。
localhost ~ $ ssh root@163.xx.xx.x
The authenticity of host '163.xx.xx.x (163.xx.xx.x)' can't be established.
ED25519 key fingerprint is SHA256:Xx9XXxxxxxxXx9xxXXxxxxXx9Xx99x9x+xXXXx/xXXX.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Enter passphrase for key '/Users/xxxxxxxx/.ssh/id_ed25519': 【パスフレーズを入力】
[root@host1 ~]#
逆に「ルータ+スイッチ」を介して外部と通信できるため、そのままサーバからインターネットへのPingが通ります。
[root@host1 ~]# ping sakura.ad.jp
PING sakura.ad.jp (163.43.179.80) 56(84) bytes of data.
64 bytes from vip1b.www.sakura.ad.jp (163.43.179.80): icmp_seq=1 ttl=57 time=1.73 ms
64 bytes from vip1b.www.sakura.ad.jp (163.43.179.80): icmp_seq=2 ttl=57 time=1.64 ms
64 bytes from vip1b.www.sakura.ad.jp (163.43.179.80): icmp_seq=3 ttl=57 time=1.64 ms
64 bytes from vip1b.www.sakura.ad.jp (163.43.179.80): icmp_seq=4 ttl=57 time=1.71 ms
64 bytes from vip1b.www.sakura.ad.jp (163.43.179.80): icmp_seq=5 ttl=57 time=1.67 ms
64 bytes from vip1b.www.sakura.ad.jp (163.43.179.80): icmp_seq=6 ttl=57 time=1.65 ms
^C
--- sakura.ad.jp ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5009ms
rtt min/avg/max/mdev = 1.638/1.671/1.729/0.034 ms
[root@host1 ~]# ping sakura.ad.jp
なお、このようにサーバがインターネットに直接接続されるため、実運用では適切なパケットフィルタなどを設定してください(シリーズvol. 3など参照)。あるいは「VPNルータ」の採用も検討できます。
参考リンク
本記事で参照するマニュアル
さくらのクラウド ネットワーク入門 シリーズ
- Vol. 1 スイッチによるネットワークの構築
- Vol. 2 共有セグメントと内部ネットワークをつなぐ
- Vol. 3 パケットフィルタリングや内部へのSSHログイン
- Vol. 4 スイッチ同士のブリッジ接続を使ってみる
【CTAを入れてください】


