さくらのクラウドでデータベースを構築する (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化してしまうか…悩み中。