VPCルータでインターネット上に安全なサーバ環境を作る(2) - VPCルータ編


## 概要

今回は「VPCルータ」編、その２です。その１では環境構築をしました。インターフェース上で安全性の高い環境を作るため、前回は VPC ルータとスイッチを準備し、スイッチを VPC ルータと接続しました。まだの方は、 [こちらを先にご覧ください](https://qiita.com/zembutsu/items/4d8986c88d38730c2c9e) 。

今回は、スイッチのローカルネットワーク環境上にサーバを準備し、インターネット側との通信疎通を確認します。

## 説明

### VPCルータ内のローカルネットワークとは

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/39deaeff-c605-b9fa-08c4-18b937f9318c.png)


VPCルータ内部のネットワークは、インターネット側から直接通信できない閉じたネットワークです。そのため、このネットワークは不用意に内外と通信しないため、VPC外にあるサーバ環境に比べると安全と言えるでしょう。

VPCルータの内部にサーバを置いても、このサーバにはそのままでは SSH ログインもできませんし、ウェブサーバを起動してもインターネットからアクセスできないでしょう。

サーバを作成の後、NAT 設定を自分で行ったり、リモートアクセス(VPN)接続をしたクライアントPCからは接続できます。つまり、意図しないインターネット側からのアクセスを防げます。

### スイッチに接続するサーバを作成する

ここではまず、このVPCルータ内部のネットワークに新しいサーバを作成し、スイッチ配下のローカルネットワークに接続する設定を行います（改めて、ここで追加するサーバはインターネット側に直接接続しません）。

まずサーバを作成します。 [サーバの作成手順](https://qiita.com/zembutsu/items/fe4686cde8a0cd50f2b0) は通常とほぼ変わりません。唯一変わるのが、 **ネットワークの接続先** 設定です。

サーバを作成するには、左メニューの「サーバ」をクリックし、画面右上の「追加」をクリックします。また、以後の説明では「シンプルモード」を前提としていますが、詳細モードでも同じ様にローカルネットワーク側へ接続設定ができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/14b8b429-4613-b128-bae6-262be01c6422.png)


そして、ディスクイメージ選択では「CentOS 7.7」を選択します。サーバプラン選択は「1 仮想コア / 1 GB」、ディスクプランを選択は「20 GB SSD プラン」とします。

それから画面を下にスクロールすると「接続先のネットワーク」の項目があります。これは、サーバのネットワーク・インターフェース（NIC）を、どのネットワークに接続するか指定します。。ここでは初期状態で「インターネット」が選ばれていますが「 **スイッチ** 」をクリックします。そして、スイッチ下の「▼」をクリックし、前回作成した「 **ローカル接続スイッチ** 」という名称のスイッチを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/fc56a6ab-f7b9-756b-0df3-e3055ac38c6e.png)



画面をさらにスクロールし、「サーバの設定」部分で、それぞれ必要項目を記入します。

- IP アドレスの設定 … 「 **固定IPアドレスの利用** 」が選ばれたままにします。
- IP アドレス … 「 **192.168.0.100** 」にします。
- ネットマスク … 「 **/24** 」にします（192.168.0.1～192.168.0.254 までの IP アドレス範囲のネットワークと通信と可能とするためです）。
- ゲートウェイ … 「 **192.168.0.1** 」にします（VPCルータのゲートウェイアドレスを、この 192.168.0.1 にしているためです。ネットワーク設計によっては、好きな IP アドレスをご利用ください）
- 管理ユーザのパスワード … 通常のサーバ同様、任意のパスワードを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/0a4730ff-4f8a-7c3f-1f9d-1aa6756f25b5.png)


あとは、ホスト名に「devlocal」などを入力し、「作成」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/3492b7d9-4eb5-c48c-5e57-6852aa9ccd3c.png)


確認画面は通常通り進め、サーバの作成と起動するまで待ちます。

### VPCルータの電源操作とサーバ疎通の確認

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/5e034680-f9e1-51c0-c5b3-f05f6752468b.png)


サーバの作成が終われば、左メニューの「マップ」をクリックし、各サーバやスイッチとの説属状況を確認します。下図のようになっていますか？ VPCルータと繋がっているスイッチに、今回作成したサーバが繋がっている状態です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/10576e80-27d0-d6b8-1fd4-ecf8f3fc085b.png)


この状態で、サーバをクリックすると各種メニューが表示されます。「コンソール」をクリックすると、コンソール画面が表示されますので起動してみましょう。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/d13080b7-40cb-467a-6b76-1c7ba7a9317f.png)


コンソール画面では、「一度画面をクリック」するとキー入力を受付可能になります。「login:」では「root」を入力し、「Password:」では先ほど入力した管理者用パスワードを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/9366aea7-072d-f2f5-6274-8f66cdb8828c.png)


このコンソール上で `ping -c 3 1.1.1.1` を入力し、インターネット側との疎通を確認します。この状態では下図の通り、 `Destination Host Unreachable` （対象ホストに到達できない）とメッセージが表示され、疎通できていません。理由はなぜだか分かりますか？

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/5c37ba33-078a-8d24-c33d-1bf266197fd7.png)


この時点で疎通していない理由は「VPCルータ」の電源が入っていないからです。 [前回の手順](https://qiita.com/zembutsu/items/4d8986c88d38730c2c9e) では「VPCルータ」を作成するまでしか行っていません。　**現実世界のルータと同様に、VPCルータも「電源」が入っていないと通信できません** 。

電源を入れるには、このマップ上で「VPCルータ」をクリックし、「電源操作」→「起動」を選びます。確認画面では「実行」をクリックし、起動画面ではステータスが「要求」から「成功」に変わったら「閉じる」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/6798d7bd-0170-81cc-e169-d90e2c6599fd.png)


あるいは、「アプライアンス」→「VPCルータ」一覧から、対象のVPCルータをクリックして、画面右上の「電源操作」→「起動」でも同じ動作になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/ca1d30a9-0e24-5331-266c-e0775ea1c63e.png)


起動が完了すると、画面の VPC ルータの電源状態が緑色（起動中）となります。起動後、数十秒ほどすると設定の読み込みが完了します。これでようやく、サーバはインターネット側と疎通できるようになりました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/fd575c37-41a1-4da9-2134-948e7ddde83f.png)


もう一度コンソールから `ping -c 3 1.1.1.1.1` を実行しましょう。次の様に ping の応答があり、VPC ルータを経由したインターネットへの疎通が確認できます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/740ffdca-e01f-6afc-f345-460ff632b248.png)


今回はサーバ作成の後に VPC ルータを起動しましたが、もちろん予め VPC ルータを起動しておくこともできます。VPCルータが起動済みであれば、追加したサーバは、起動直後からインターネットと疎通できるようにも設定できます。


## 振り返り

インターネット上でありながら、不特定多数がアクセスできない安全なローカルネットワーク環境を作るには、VPC ルータを使います。VPCルータにスイッチを接続し、そのスイッチにサーバを接続すると、インターネットに接続しないサーバ環境ができます。

ちなみに、このサーバにインターネット側から SSH ログインしたり、このサーバ内でウェブサーバなどを動かす時は NAT 設定を行います。不特定多数にサーバを公開する必要がなければ、L2TP や PPTP 接続による認証と暗号化を行い、安全にアクセスすることもできます。

次回はリモートアクセス(VPN)接続の設定方法をみていきます。

なお、今回ご紹介した他にも VPC ルータには多くの機能があります。各機能の詳細については [VPCルータ](https://manual.sakura.ad.jp/cloud/network/vpc-router/index.html) のドキュメントをご覧ください。


## 参考情報

- [さくらのクラウド公式ドキュメント](https://manual.sakura.ad.jp/cloud/)
  - [スイッチ, ルータ＋スイッチ](https://manual.sakura.ad.jp/cloud/network/switch/index.html)
  - [VPCルータ](https://manual.sakura.ad.jp/cloud/network/vpc-router/index.html)


[チュートリアル目次に戻る](https://qiita.com/zembutsu/items/538aa0a0211f9200b6c5)