さくらのクラウドでデータベースを構築する (original) (raw)
VPCルータ周りの構築がひと段落したので、次はデータベースの構築をしてみます。
環境
構成図
いつものVPCルータの構成にDB用のSwitchとセグメントを追加しました。
サーバと同じセグメントにおいても良かったのですが、通信制御とか行うことを想定するとDBは別セグメントに置くほうがいいかなと。
今までとの違いとして、VPCルータのPublicIPにsshした場合、Serverにポートフォワーディングするよう設定を入れました。
動作確認するときに、サーバからDBに対してコマンドを実行するためです。
Databasa作成
Switch作成 & VPCルータ設定
Database接続用のSwitchを作成します。
左側のツリーからネットワーク→スイッチ→追加をクリック
名前を適当に入力し、作成をクリック
ルータは今回はいいえにしています。VPCルータがルータの役割を持つ想定です。
諸々確認画面を経てスイッチ構築完了
続いてVPCルータの設定をします。
左側のツリーから、アプライアンス→VPCルータをクリックし対象のVPCルータにチェックを入れて画面右上の詳細をクリック
ポートフォワーディングの設定を行いたいので、NATタブをクリックし追加をクリック
以下の通り設定し追加をクリック
プロトコル:TCP
グローバル側ポート番号:22
プライベート側IPアドレス:192.168.0.2
プライベート側ポート番号:22
設定が出来たら画面右上の反映をクリック
続いてインターフェースタブをクリックしプライベート2の右側にあるえんぴつマークをクリック
以下の通り設定し更新をクリック
スイッチ:既存スイッチを接続にチェック
接続先スイッチ:vpctestswitch02
IPアドレス:192.168.1.254
プリフィックス:/24
更新前チェック:更新前チェックをクリック
設定が出来たら画面右上の反映をクリック
Database作成
ではDatabaseを作成していきます。
さくらのクラウドのコントロールパネルの左側のツリーから、データベースをクリックし画面右上の追加をクリック
データベースですが、PostgreSQLからMariaDBに変更しました。(個人の好みです
接続先スイッチはvpctestswitch02
IPアドレスは192.168.1.2
ゲートウェイは192.168.1.254
送信元ネットワークは192.168.0.0/24と192.168.1.0/24
名前はvpctestdb01
そのほかは特に設定していません
これで作成をクリック
出来ました。
接続してみる
サーバにログインしDatabaseにアクセス
それでは接続確認です。
サーバにSSHでログインしデータベースにアクセスします。
まずはmariadb clientのインストール
ubuntu@vpctestserver01:~$ sudo apt install -y mariadb-client
インストールが終わったらデータベースにログインします。
ubuntu@vpctestserver01:~$ mysql -h 192.168.1.2 -u mariadb -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 10.6.15-MariaDB MariaDB Server
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> MariaDB [(none)]> create database testdb; Query OK, 1 row affected (0.001 sec)
MariaDB [(none)]> use testdb; Database changed MariaDB [testdb]> create table test (id int, name varchar(20)); Query OK, 0 rows affected (0.018 sec)
MariaDB [testdb]> show tables; +------------------+ | Tables_in_testdb | +------------------+ | test | +------------------+ 1 row in set (0.001 sec)
MariaDB [testdb]>
おわり
データベース作成も結構簡単にできました。さくらのクラウドはリソース構築が簡単に出来るようになっていると思います。
それでも手動で作るのが面倒なので、たぶんTerraform化しそう…。
そしてテーブル作成まで自動化したい…となるとuserdataでは難しそうなのでansible化してしまうか…悩み中。