LoginSignup
3
2

More than 5 years have passed since last update.

「さくらのクラウド」でサーバにログインせずにDBサーバを構築する

Posted at

さくらのクラウドで以下のような構成を作っていました。

WS000157.png

WebサーバにNIC2つ持たせてグローバルIPアドレスとプライベートIPアドレスの両方をつけます。
DBサーバはプライベートIPだけつけて、Webサーバ・DBサーバ間の通信はプライベートサブネット経由です。
VPCルータはDBサーバにパッケージ入れたりアップデートしたりする用です。
(AWSでいうところのNATインスタンスとして使っています)

WebサーバはグローバルIPアドレス持っているので直接SSHログインできるんですが
DBサーバへSSHログインするには
1. Webサーバを踏み台にしてSSHログイン
2. VPCルータとVPNを張る(サイト間VPNまたはリモートアクセス)
の2種類の方法がありますが、今回ハンズオン用の構成なので
1.だと参加者さん混乱するらしく
2.だとVPNの設定するだけで時間が足りなくなっちゃいます。

というわけで、DBサーバに一切ログインせずにインストールと設定をするスタートアップスクリプトを書きました。

#!/bin/sh
# @sacloud-once
# @sacloud-desc (このスクリプトは、CentOS6.8でのみ動作確認しています)
# @sacloud-password required shellarg maxlen=20 para1 "MySQLのrootユーザパスワード"
# @sacloud-password required shellarg maxlen=20 para2 "MySQLのwordpressユーザパスワード"
PARA1=@@@para1@@@
PARA2=@@@para2@@@
yum -y install mysql-server
service mysqld start
chkconfig mysqld on
echo "UPDATE mysql.user SET Password=PASSWORD('$PARA1') WHERE User='root'" | mysql -u root
echo "create database wordpress" | mysql -u root
echo "grant all privileges on wordpress.* to 'wordpress'@'10.0.0.11' identified by '$PARA2'" | mysql -u root
echo "FLUSH PRIVILEGES" | mysql -u root

やっていることは
1. 最初にrootパスワードとwordpressユーザパスワードを入力する(コンパネにフォームが出ます)
2. MySQLをインストールして起動させて自動起動を有効にする
3. rootパスワード設定
4. データベース「wordpress」を作成
5. wordpressユーザを作成
です。

実運用に使うならこれではいろいろ不足でしょうが、デモなので。
「違法では無いが不適切」な点などありましたら御指摘いただけると幸いです。

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2