おはようございます、サービス基盤部の森田です。
今回は以前から何度かお問い合わせをいただいていたIDCFクラウド RDBへのリージョン/ゾーン間接続例ということで記事を書いてみようと思います。
説明ではプライベートコネクトを使用したリージョン間接続としておりますが、アプリケーションはデータセンターのオンプレ環境で構築し、データベースはバーチャルブリッジを使用してIDCFクラウド RDBに接続して利用したい、と言った構成例でも基本的にRDB側でのルーティング設定を行わずに接続を行うことが出来ます。
今回は、西日本リージョンのaugustaと東日本リージョン3のvoltのネットワークをプライベートコネクトで接続し、augustaに作成したClient用仮想マシンからvoltに作成したRDBへ接続してみます。
事前準備
voltに追加ネットワークを作成
augustaに追加ネットワークを作成
追加ネットワークをプライベートコネクトに接続
仮想ルーターを作成するためにvoltの追加ネットワークを選択してコンピュート上に仮想マシンを作成します(諸々の事情で...)
voltの追加ネットワークを選択してRDBを新規作成
西日本リージョンのaugustaにClient用仮想マシン作成
リージョン/ゾーン間接続用にClient用仮想マシンでスタティックルートを追加
スタティックルートを追加
nmcli c mod "有線接続 1" +ipv4.routes "192.168.0.0/23 192.168.3.254"
設定を有効
nmcli c down "有線接続 1" nmcli c up "有線接続 1"
ルーティングの設定を確認
[root@rdb-client-01 ~]# ip route default via 10.21.0.1 dev ens160 proto dhcp metric 101 10.21.0.0/21 dev ens160 proto kernel scope link src 10.21.0.28 metric 101 192.168.0.0/23 via 192.168.3.254 dev ens192 proto static metric 102 192.168.2.0/23 dev ens192 proto kernel scope link src 192.168.2.96 metric 102
voltのRDBへの接続を確認
[root@rdb-client-01 ~]# mysql -utest -p -htest-morita-01.local.rdb.idcfcloud.net Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 136 Server version: 8.0.20 MySQL Community Server - GPL Copyright (c) 2000, 2021, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
まとめ
プライベートコネクトを利用しネットワークを接続したうえで接続元のVMにスタティックルートの設定を入れるだけで、容易にIDCFクラウド RDBへのリージョン/ゾーン間接続を行うことができます。
ただしこの方法では、IDCFクラウド RDBを利用したリージョン/ゾーン間でのRDB側から通信を行うケース(レプリケーション構成においてRDB側がレプリカとなる場合等)に、RDB側のルーティング設定が足りないため、ソースとなるデータベースに接続することができません。この問題については去年リリースしたIDCFクラウド RDBのルーティング機能を使用することで解決することができますので、別の記事にてご紹介いたします。