さくらのクラウド「スイッチ + データベース + NFS」の使い方メモ

クラウド
クラウド
スポンサーリンク

さくらのクラウドのスイッチは、その名の通りさくらのクラウドの仮想ネットワーク上で動作する仮想スイッチです。このスイッチを使うことによってインターネットから直接接続できない、セキュリティの確保されたプライベートネットワークを構築することができます。つい先日、さくらのクラウドのスイッチを使う機会がありましたので、スイッチの使い方と、そのスイッチに接続するデータベースおよび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のスイッチとも接続できるそうです。さくらインターネットの各種サービスとも自由自在に接続できるのは魅力的ですね。

コメント

タイトルとURLをコピーしました