![[サーバ構築編#2] さくらクラウドでPostgreSQLのアプライアンスDBを作る](/_next/image?url=%2Farticles%2Fserver%2Fsakura-cloud-db%2Fhero.jpg&w=3840&q=75)
サーバ構築編#2さくらクラウドでPostgreSQLのアプライアンスDBを作る
運用が楽々なアプライアンス「データベース」でPostgreSQL環境を作成
初回公開日
最終更新日
サーバ構築編第2回は、DB環境の構築です。「さくらのクラウド」で アプライアンス「データベース」 を利用して、「PostgreSQL」環境を作成する手順の記録です。
事前に少し説明します。
「アプライアンス」とは?
「さくらのクラウド」ではサーバ不要、ソフトウェアのインストール不要で利用できるサービスがあります。それが「アプライアンス」です。そのサービスの中にデータベースもあります。
「さくらのクラウド」ではサーバ不要、ソフトウェアのインストール不要で利用できるサービスがあります。それが「アプライアンス」です。そのサービスの中にデータベースもあります。
これは私のような初心者にはとてもありがたく、少なくとも「アプライアンス」回りについては、バックアップやOSやミドルウェアのパッチ当て作業から解放されるからです。
「アプライアンス」で利用できるデータベースは「PostgreSQL」から「MariaDB」のどちらかです。残念なことに「MySQL」が選択できません。「MySQL」がなくても「MariaDB」があるならそれでいいかな? という方も多いとは思いますが、私は少し前にアプライアンスDBで「MariaDB」を利用していて、DBのディスク容量を
ROCKSDBから出力されるログ
に圧迫されるという問題に直面したことがあり、以来「PostgreSQL」を利用するようにしました。
ただ、ROCKSDB
関する問題はさくらインターネットのサポート曰く、「他ではこんな問題は起きていません」とのことでしたので、レアケースを私が引き当ててしまったようです。前置きはこの辺にして、早速、アプライアンスDBを作成していきます。
1.ローカルスイッチの作成
事前準備としてDBの接続先になるローカルスイッチを作成していきます。
サーバ構築編第1回でも記述したのですが、選択したゾーンによってスイッチの作成可能数に上限があります。
重要かも
ゾーン選択時に料金以外にも重要な点があります。それは、ゾーンによっては、「スイッチ」利用台数が1個のみ制限されることです。2025年5月21日現在では、「東京第2」ゾーンだけスイッチが20個まで作成可能で、他のゾーンは1個だけしか作成できません。複数のスイッチがマストで必要な場合は気をつけてゾーンを選択してください。
ゾーン選択時に料金以外にも重要な点があります。それは、ゾーンによっては、「スイッチ」利用台数が1個のみ制限されることです。2025年5月21日現在では、「東京第2」ゾーンだけスイッチが20個まで作成可能で、他のゾーンは1個だけしか作成できません。複数のスイッチがマストで必要な場合は気をつけてゾーンを選択してください。
私が選択したゾーンでは1個しかスイッチは作成できません。今の構成では1個で十分なので良いのですが、将来的にはまた複数のスイッチが作成できることを願いたいです。
まず、管理画面の左サイドメニューの「ネットワーク」配下の「スイッチ」をクリックします。

スイッチ一覧が表示されますので、右上にある「追加」ボタンをクリックして追加画面へ遷移します。

必須項目は「ルータ」欄だけです。
直接インターネットへ繋げたくないので「いいえ」を選択します。
最後に「作成」ボタンをクリックすると、これだけでスイッチの作成は完了です。
ちなみに「名前」欄や「アイコン」欄は後からでも変更可能です。
下記の内容でローカルスイッチを作成しました。
名前:LocalSwitch
ルータ:いいえ
ルータ:いいえ
2.アプライアンスDBでPostgreSQLインスタンス作成
データベースの新規追加
管理画面の左サイドメニューの「アプライアンス」配下の「データベース」をクリックします。

データベース一覧が表示されますので、右上にある「追加」ボタンをクリックして追加画面へ遷移します。

まず、冗長化オプションという便利なものがあります。
これを選択するだけでDBを冗長化してくれます。ただ、ディスクサイズが90GB以上を選択する必要があります。料金もそれなりに高額になってきます。少し前はPostgreSQLの場合だけ選択可能でしたが、2025年3月6日現在ではMariaDBでも冗長化オプションが選択できるようになっていました。
ただ、冗長化オプションを選択した場合、バックアップ用の領域を別途用意しなければなりません。例えばNFS(Network File System)アプライアンスなどを利用することになります。当然料金も別途掛かります。冗長化しているので、バックアップは不要という選択肢もあるかもしれませんが。
逆に冗長化オプションを使用しない場合は、バックアップサービスが無料でついてきます。私はとりあえず安価に始めたいので、冗長化オプションをスルーしました。
レプリケーション欄は「有効にする」を選択すると、上図のように「モード」の選択ができるようになります。
マスター&スレーブ構成で冗長化していく予定の場合は、これを選択しておきます。
今回は、DBも一台から始めますが、近い将来にマスター&スレーブ構成で冗長化する構想ではあるので、「有効にする」を選択して、モードは「マスター」にしました。
データベースエンジンは「PostgreSQL」、バージョンは「13」のみしか選べませんでした。
ディスクサイズは一旦、最小の「10GB」を選択して、早いうちにスケールアップを試してみたいと考えています。
暗号化は、まだベータ版なので、スルーしました。
ディスクサイズは一旦、最小の「10GB」を選択して、早いうちにスケールアップを試してみたいと考えています。
暗号化は、まだベータ版なので、スルーしました。

続いて、デフォルトユーザ名とパスワードを決めて、メモ等で控えておきます。これはDB接続した際のデフォルユーザです。
レプリカユーザパスワード欄は、今回のように「レプリケーション」を有効にした場合に表示されます。これもメモ等で控えておきます。
接続先スイッチは「1.ローカルスイッチの作成」で作成したものを選択。
ポート番号は任意です。何も指定しなければ、PostgreSQLの場合は5432になります。
IPv4アドレス #1はこのデータベースに割り当てるローカルIPアドレスを入力します。
ネットマスクはデフォルトは24ですが、他を選択することも可能です。
ゲートウェイは接続先のスイッチのIPアドレスになります。通常は
送信元ネットワークで接続制限をかけることも可能です。一旦、空白のままにしても大丈夫です。
レプリカユーザパスワード欄は、今回のように「レプリケーション」を有効にした場合に表示されます。これもメモ等で控えておきます。
接続先スイッチは「1.ローカルスイッチの作成」で作成したものを選択。
ポート番号は任意です。何も指定しなければ、PostgreSQLの場合は5432になります。
IPv4アドレス #1はこのデータベースに割り当てるローカルIPアドレスを入力します。
192.168.0.XXX
という感じで決めます。ローカルネットワークアドレスが192.168.0.0/24
(デフォルト)なら192.168.0.1 〜 192.168.0.254
が割り当て可能な範囲となります。デフォルトゲートウェイのIPは除いて考えてください。ネットマスクはデフォルトは24ですが、他を選択することも可能です。
ゲートウェイは接続先のスイッチのIPアドレスになります。通常は
192.168.0.1
。現状のように、まだローカルスイッチに何も紐づいていない場合、ここを192.168.1.1
とするとローカルネットワークは192.168.1.0/24
となります。送信元ネットワークで接続制限をかけることも可能です。一旦、空白のままにしても大丈夫です。

WEB UIはWEB UIの管理ツールがインストールされます。あると便利ではありますが、一応、セキュリティを考えて今回は「いいえ」にします。
定期バックアップ、これは大変ありがたいサービスです。DBのディスク領域と別領域にバックアップを作成してくれます。今のところ無料で。したがって、10GBのディスク容量はフルにDBの容量として利用できます。「バックアップをする」を迷わず選択。
定期バックアップ間隔は「毎日」を選択。
実行する時間帯はお好きな時間を選択。
名前、説明、タグ、アイコンは任意で、後からでも変更できます。
定期バックアップ、これは大変ありがたいサービスです。DBのディスク領域と別領域にバックアップを作成してくれます。今のところ無料で。したがって、10GBのディスク容量はフルにDBの容量として利用できます。「バックアップをする」を迷わず選択。
定期バックアップ間隔は「毎日」を選択。
実行する時間帯はお好きな時間を選択。
名前、説明、タグ、アイコンは任意で、後からでも変更できます。
入力内容のまとめ
入力項目が多いので、まとめます。今回の入力内容は下記のようにしました。
- 冗長化:選択しない
- レプリケーション:有効にする
- モード:マスター
- クローン元データベース:なし
- データベースエンジン:PostgreSQL
- データベースバージョン:13
- ディスクサイズ:10GB
- 暗号化:選択しない
- デフォルトユーザ名:内緒
- パスワード:内緒
- レプリカユーザパスワード:内緒
- 接続先スイッチ:
LocalSwitch
- ポート番号:例)5432
- ポート番号:例)192.168.0.11
- ネットマスク:24
- ゲートウェイ:例)192.168.0.1
- 送信元ネットワーク:入力しない
- WEB UI:いいえ
- 定期バックアップ:バックアップする
- 定期バックアップ間隔:毎日
- 実行する時間帯:3:00
- 名前:内緒
- 説明:入力なし
- タグ:入力なし
- アイコン:SQLアイコン
以上の入力が完了したら、画面下部の「作成」ボタンをクリックして、データベースの作成が完了します。
アプライアンスデータベースの作成は、少し時間がかかることがあります。落ち着いてしばらく待ちましょう。
3.Webサーバとローカルスイッチ+DBの接続
ここまで「Webサーバ」と「アプライアンスDB」の作成ができました。
しかし、まだ下記の図のように「Webサーバ」と「アプライアンスDB」は「ローカルスイッチ」を挟んで分断されています。

これは「Webサーバ」と「ローカルスイッチ」を接続することで解消されます。
Webサーバインスタンスをシャットダウンする
ローカルスイッチとの接続は一度Webサーバをシャットダウンする必要があります。

上図のように左サイドメニューの「サーバ」からサーバ一覧を表示して、作成したWebサーバを選択して、「電源操作」のサブメニューから「シャットダウン」を選択して、Webサーバをシャットダウンします。
「電源操作」サブメニューから「シャットダウン」を選択したあとにさらに右上に「シャットダウン」ボタンが表示されますので、これをクリックするとシャットダウンが実行されます。
WebサーバのNICを追加する

シャットダウンが終わった状態で上図のように、もう一度Webサーバを選択して、右上のメニューから「詳細」をクリックします。

詳細画面が開いたら、「NIC」タブを開きます。NIC(Network Interface Card)とはネットワークに接続するためのアダプターのことです。
現状では、インターネット接続のNICのみになっています。スイッチに接続するために、「追加」ボタンでNICを追加します。

NICの追加が完了すると「未接続」というNICが一覧へ表示されます。この「未接続」行の末尾に「▼」があります。これをクリックするとサブメニューが表示されます。
このサブメニューから「接続を編集」を選択します。

編集ダイアログが表示されるので「NIC」欄で「スイッチに接続」を選択。「スイッチに接続」欄で作成済みのローカルスイッチを選んで、「更新」ボタンで更新します。
WebサーバのローカルIPの設定を行う
スイッチへの接続設定が完了したら、WebサーバのローカルIPを決めます。

追加した「LocalSwitch」の末尾の「▼」を再度クリックするとサブメニューに「IPv4アドレスを編集」という項目が表示されるようになっています。
これをクリックして、表示されるダイアログに
192.168.0.10
などのローカルIPを入力します。「LocalSwitch」行の「ネットワーク」欄にあるアドレスで割り当て可能なIPアドレスの範囲が確認できます。
192.168.0.0/24
なら192.168.0.1 〜 192.168.0.254
が割り当て可能な範囲となります。デフォルトゲートウェイとデータベースに割り当てたIPは除いて考えてください。ついでにWebサーバのインターネット接続のNICに逆引きホストの設定を行う
これは、もしWebサーバのドメインが決まっていて、DNSの設定が完了していればの話になります。まだドメインが未定の場合は、ドメインが確定した後に作業してください。
この作業もWebサーバをシャットダウンしている最中に行う作業なので、この段階でやってしまうのが良いと思います。

今度は「共有セグメント インターネット」行の末尾の「▼」をクリックして、サブメニューを表示します。すると「ホスト名逆引きを編集」という項目があります。これを選択して、ドメインを入力して完了です。
Webサーバを起動する
先ほど、Webサーバをシャットダウンした「電源操作」メニューから「起動」を選んで実行するとWEBサーバが起動します。
4.まとめ

上図のようにサーバ構成が完了しました。
あとは、SSHで接続して、細かな設定やミドルウェアのインストールなどを進めていきます。ここからは「さくらのクラウド」に依存しない話になっていきます。
サーバ構築編の第1回と今回とで設定した下記の情報は第3回以降で必要になってくるので、しっかりとまとめておいてください。
- 秘密鍵のパスフレーズ
- WebサーバのグローバルIP、ローカルIP
- DBサーバのローカルIP
- 各種ユーザ名・パスワード(さくらのクラウドで作成したUbuntuサーバのデフォルトユーザは
ubuntu
になります)
続きはこちら...
前回の確認はこちら...
この記事の執筆・編集担当
DE
松本 孝太郎
DELOGs編集部/中年新米プログラマー
ここ数年はReact&MUIのフロントエンドエンジニアって感じでしたが、Next.jsを学んで少しずつできることが広がりつつあります。その実践記録をできるだけ共有していければと思っています。
▼ 関連記事
[サーバ構築編#3] Ubuntu初期設定-ユーザ作成とSSH接続の強化
SSHでサーバへ接続して、Ubuntu Server 24.04.1LTSの主にユーザ作成とSSH接続の強化
2025/6/20公開
![[サーバ構築編#3] Ubuntu初期設定-ユーザ作成とSSH接続の強化のイメージ](/_next/image?url=%2Farticles%2Fserver%2Fubuntu-user-ssh%2Fhero-thumbnail.jpg&w=1200&q=75)
[サーバ構築編#4] Ubuntu初期設定-日本語化
Ubuntu Server 24.04.1LTSの言語設定の日本語化とシステム時間の日本時間ゾーン設定
2025/6/20公開
![[サーバ構築編#4] Ubuntu初期設定-日本語化のイメージ](/_next/image?url=%2Farticles%2Fserver%2Fubuntu-locale%2Fhero-thumbnail.jpg&w=1200&q=75)
[サーバ構築編#5] Ubuntu初期設定-アプライアンスDB(PostgreSQL 13)との接続設定
Webサーバのイーサネット設定を行いローカルスイッチとアプライアンスDBのPostgreSQL 13へのアクセスを可能に
2025/6/20公開
![[サーバ構築編#5] Ubuntu初期設定-アプライアンスDB(PostgreSQL 13)との接続設定のイメージ](/_next/image?url=%2Farticles%2Fserver%2Fubuntu-ethernets%2Fhero-thumbnail.jpg&w=1200&q=75)
[サーバ構築編#6] UbuntuへNginx1.28.0をインストール
Ubuntu 24.04.2 LTSへNginx1.28.0をインストールします。合わせて、SetGIDやACLを利用して運用しやすいディレクトリの権限設定を実施
2025/6/20公開
![[サーバ構築編#6] UbuntuへNginx1.28.0をインストールのイメージ](/_next/image?url=%2Farticles%2Fserver%2Fnginx%2Fhero-thumbnail.jpg&w=1200&q=75)
[サーバ構築編#1] さくらクラウドでUbuntuサーバのインスタンスを作る
コントロールパネルからサクッとUbuntuサーバのインスタンスを作成
2025/6/20公開
![[サーバ構築編#1] さくらクラウドでUbuntuサーバのインスタンスを作るのイメージ](/_next/image?url=%2Farticles%2Fserver%2Fsakura-cloud-server%2Fhero-thumbnail.jpg&w=1200&q=75)