さくらのクラウドのスイッチは、その名の通りさくらのクラウドの仮想ネットワーク上で動作する仮想スイッチです。このスイッチを使うことによってインターネットから直接接続できない、セキュリティの確保されたプライベートネットワークを構築することができます。つい先日、さくらのクラウドのスイッチを使う機会がありましたので、スイッチの使い方と、そのスイッチに接続するデータベースおよびNFSアプライアンスの設定方法をメモしておきました。
公式ドキュメント
さくらのクラウド「スイッチ」の最新の情報は、以下のさくらのクラウド公式ドキュメントをご確認ください。
スイッチ, ルータ+スイッチの作成・削除 | さくらのクラウド ドキュメント
構成
前回 さくらのクラウド「エンハンスドロードバランサ」の使い方メモ の記事で作成した、Webサーバ2台を配置した石狩ゾーンにスイッチを追加して、プライベートネットワークを構成します。
プライベートネットワーク内にデータベースアプライアンスとNFSアプライアンスを作成してスイッチに接続し、Webサーバ2台から利用できるようにします。(Webサーバをロードバランシングさせるときによくある構成です)
スイッチの作成
エンハンスドロードバランサを作成します。
さくらのクラウドホームで「さくらのクラウド(Iaas)」をクリックします。
左上のプルダウンメニューからスイッチを作成するゾーンを選択します。今回は、スイッチに接続するWebサーバ2台が石狩第1ゾーンに設置されていますので、同じ「石狩第1ゾーン」を選択します。
「ネットワーク」から「スイッチ」を選択して、右上の「+追加」をクリックします。
適当なスイッチの名前を入力し、ルータは「いいえ」を選択したら「+作成」をクリックします。(他の項目は空欄のままで構いません)
以上でスイッチが作成されました。まだスイッチにはなにも接続されていないため、接続数は0になっています。
サーバにNICを追加してスイッチに接続
Webサーバ2台に、先ほど作成したスイッチに接続するためのNICを追加して、スイッチに接続します。
サーバにNICを追加するには、サーバの電源をOFFにする必要がありますので、あらかじめサーバをシャットダウンしておきましょう。
対象のサーバを選択して「詳細」をクリックします。
「NIC」タブを選択して、右下の「+追加」をクリックします。
追加したNIC(接続が「未接続」と表示されていると思います)の右端の「▼」から「接続を編集」を選択します。
NIC「スイッチに接続」を選択し、スイッチに接続のプルダウンメニューから先ほど作成したスイッチを選択したら「更新」をクリックします。
追加したNICの接続が「スイッチ:<スイッチ名>」と表示されていればOKです。
同様の手順で、スイッチに接続する全てのサーバにNICを追加して、スイッチに接続してください。
MACアドレスの確認
サーバを起動する前に、追加したNICのMACアドレスを確認しておきます。
追加したNICの右端の「▼」から「詳細表示」を選択します。
追加したNICのMACアドレスをメモしておきましょう。(IPアドレスを設定する時に使います)
同様の手順で、追加した全てのNICのMACアドレスを確認してください。
IPアドレスの設定
追加したNICにIPアドレスを設定します、設定するIPアドレスは次の通りです。まず、Webサーバ①(10.10.10.1/24)から設定します。
以下はAlmaLinux9での設定例になりますので、RHEL系のサーバOSなら同じ手順でIPアドレスを設定できます。(少し手順が複雑です、、がんばってください!)
オブジェクト名の確認
サーバOS上でnmcli device show
コマンドを実行して、追加したNICのMACアドレスを頼りにオブジェクト名を調べます。「GENERAL.CONNECTION」のところに表示されている「Wired connection 1」が追加したNICの”オブジェクト名”になります。(ややこしいいですが eth1 は、デバイス名です。オブジェクト名ではありませんので注意してください)
sudo nmcli device show
(略)
GENERAL.DEVICE: eth1 (←こっちはデバイス名)
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 9C:A3:BA:25:A7:3E (←追加したNICのMACアドレス)
GENERAL.MTU: 1500
GENERAL.STATE: 70 (connecting (getting IP configuration))
GENERAL.CONNECTION: Wired connection 1 (←オブジェクト名)
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/5
WIRED-PROPERTIES.CARRIER: on
(略)
以下のように「GENERAL.CONNECTION」にオブジェクト名が表示されていない場合は、NICが切断されています。nmcli device connect eth1
を実行して、NICを接続してください。(コマンドの実行に1~2分かかりエラーメッセージが表示される場合がありますが、NICが接続できているはずです)
GENERAL.DEVICE: eth1 (←こっちはデバイス名)
GENERAL.TYPE: ethernet
GENERAL.HWADDR: 9C:A3:BA:25:A7:3E (←追加したNICのMACアドレス)
GENERAL.MTU: 1500
GENERAL.STATE: 30 (disconnected)
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.CARRIER: on
IPアドレスの設定
オブジェクト名が確認できたらオブジェクト名を指定して、IPアドレスを設定します。(今回のようにオブジェクト名にスペースが入っている場合はクオートしてください)
sudo nmcli con mod 'Wired connection 1' ipv4.addresses 10.10.10.1/24 sudo nmcli con mod 'Wired connection 1' ipv4.method manual
IPアドレスが正しく設定されていることを確認します。
ip address show eth1 3: eth1:mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 9c:a3:ba:25:a7:3e brd ff:ff:ff:ff:ff:ff (略) inet 10.10.10.1/24 brd 10.10.10.255 scope global noprefixroute eth1 valid_lft forever preferred_lft forever
同様の手順で、Webサーバ②にIPアドレス 10.10.10.2/24 を設定します。
疎通確認
IPアドレスの設定が終われば、スイッチを経由してWebサーバ①とWebサーバ②が通信できるはずです。ping コマンドなどで疎通確認をしておきましょう。
ping 10.10.10.1 64 bytes from 10.10.10.1: icmp_seq=1 ttl=64 time=1.06 ms 64 bytes from 10.10.10.1: icmp_seq=2 ttl=64 time=0.446 ms :
データベースアプライアンスの作成
下図の赤丸部分に該当するデーターベースアプライアンスを作成して、スイッチに接続させます。IPアドレスは 10.10.10.11、ネットマスクは 24 ビットを設定します。
サーバと違いデータベースアプライアンスは、マネージドサービスですので、スイッチへの接続やIPアドレスの設定は、さくらのクラウドのコントロールパネルから簡単に設定できます。
「アプライアンス」から「データベース」を選択して、右上の「+追加」をクリックします。
作成するデータベースアプライアンスの設定を選択/入力して、ページ最下部の「+作成」をクリックすれば、データベースアプライアンスが作成されます。
今回は以下のように設定しましたが、用途にあわせて設定してください。設定内容の詳細につきましては、アプライアンス「データベース」 | さくらのクラウド ドキュメント をご参照ください。
冗長化 | (なし) |
レプリケーション | (なし) |
クローン元データベース | (なし) |
データベースエンジン | MariaDB |
データベースバージョン | 10.5 |
ディスクサイズ | 30GB |
デフォルトユーザ名 | sample |
パスワード | (任意のパスワードを設定してください) |
接続先スイッチ | sw01 |
ポート番号 | (省略) |
IPv4アドレス #1 | 10.10.10.11 |
ネットマスク | 24 |
ゲートウェイ | 10.10.10.254 なにを入力すればよいか悩むところですが、重複しないIPアドレスを入力しておけば大丈夫なようです。 |
送信元ネットワーク | (なし) |
WEB UI | いいえ |
定期バックアップ | (なし) |
名前 | db-01 |
説明 | (なし) |
タグ | (なし) |
アイコン | (なし) |
データベースアプライアンスは起動するまで少し時間がかかります。しばし待ちましょう。
以下のような表示になれば、データベースアプライアンスが利用できる状態です。
Webサーバ①とWebサーバ②から、データベースアプライアンスに接続できることを確認してください。
mysql -h 10.10.10.11 -u sample -p
NFSアプライアンスの作成
最後にNFSアプライアンスを作成して、スイッチに接続させます。IPアドレスは 10.10.10.21、ネットマスクは 24 ビットを設定します。
NFSアプライアンスもマネージドサービスですので、スイッチへの接続やIPアドレスの設定は簡単です。
「アプライアンス」から「NFS」を選択して、右上の「+追加」をクリックします。
作成するNFSアプライアンスの設定を選択/入力して、ページ最下部の「+作成」をクリックすれば、NFSアプライアンスが作成されます。
今回は以下のように設定しましたが、用途にあわせて設定してください。設定内容の詳細につきましては、NFSアプライアンス | さくらのクラウド ドキュメント をご参照ください。
接続先スイッチ | sw01 |
クローン元アプライアンス | (なし) |
プラン | SSDプラン |
サイズ | 20GB |
IPv4アドレス | 10.10.10.21 |
ネットマスク | 24 |
ゲートウェイ | (なし) |
名前 | nfs-01 |
説明 | (なし) |
タグ | (なし) |
アイコン | (なし) |
以下のような表示になれば、NFSアプライアンスが利用できる状態です。
Webサーバ①とWebサーバ②から、NFSアプライアンスと疎通ができることを確認します。
ping 10.10.10.21 64 bytes from 10.10.10.21: icmp_seq=1 ttl=64 time=1.86 ms 64 bytes from 10.10.10.21: icmp_seq=2 ttl=64 time=0.530 ms :
NFS のマウント
Webサーバ①とWebサーバ②に、NFSアプライアンスをマウントします。
NFSをマウントするためのパッケージをインストールします。
sudo dnf -y install nfs-utils
適当な場所にマウントポイントを作成します。
sudo mkdir /mnt/nfs-01
サーバ起動時に自動でNFSアプライアンスをマウントするように、/etc/fstab に設定を追記しておきます。
sudo vi /etc/fstab ---(下記を追加)------- 10.10.10.21:/export /mnt/nfs-01 nfs rw 0 0
NFSアプライアンスをマウントします。
sudo mount /mnt/nfs-01
NFSアプライアンスがマウントされていることを確認します。
nfsstat -m ---(以下のような表示であればOKです)------- /mnt/nfs-01 from 10.10.10.21:/export Flags: rw,relatime,vers=4.0,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=10.10.10.2,local_lock=none,addr=10.10.10.21
おわりに
今回は取り上げませんでしたが、さくらのクラウドのブリッジ接続 を使えば、異なるゾーン間や、さくらの専用サーバのスイッチや、さくらのVPSのスイッチとも接続できるそうです。さくらインターネットの各種サービスとも自由自在に接続できるのは魅力的ですね。
コメント