【さくらクラウド】サーバーをクローンして新しい環境を作る
はじめに
ある案件で本番環境完成後、開発環境の構築にあたり、
本番環境をクローンしてこれば楽に構築できるのでは?と思い、実際にやってみました。
そのときの知見を共有します。
環境
- CentOS Linux release 7.8.2003
- Apache/2.4.6 (CentOS)
- 5.5.65-MariaDB MariaDB Server
- PHP 5.4.16 (cli)
サーバーのクローン
クローンについては下記
クローン | さくらのクラウド ドキュメント
今回は本番環境のデータもまるまるコピーする形でクローンした。
以後、2つのサーバーの名称を下記とします。
- サーバーA・・・・クローン元のサーバー
- サーバーB・・・・サーバーAをクローンして作成されたサーバー
クローンを利用したサーバー構築手順
1. クローンする前に…(やらなくて良い)
サーバーAがrootログイン不可の状態でクローンを作ろうとすると、サーバーBもrootログイン不可の状態になってしまいます。
なのでクローン後、サーバーBでrootログインしたいので、サーバーAのrootログイン不可を一時的に解除します。
2020/07/09追記:これをする意味はありませんでした。
$ vi /etc/ssh/sshd_config
## rootログイン不可を解除
PermitRootLogin yes
2. コンパネにてクローン実行
コンパネでサーバーAのクローンを作成します。
3. サーバーBの設定ファイルをさわる
3.1. 接続する前に、ちょっと説明
さくらクラウドの場合、クローンでサーバーを作成してもすぐにSSH接続はできません。
というのも、サーバーAの内容をまるまるコピーするので、外側はサーバーBでも中身がサーバーAという状態です。
そこで設定に食い違いが生じ、SSH接続ができなくなります。
3.2. コンパネのコンソールからrootログイン
ssh接続をできるようにしたいので、コンソールにて、ユーザーとパスワードを入力して、サーバーに接続します。
3.3. コンソールでサーバーBの設定値をいじる
コンパネのサーバー情報を参照し、ゲートウェイとIPを設定する
$vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
GATEWAY=********** # ←これと
PREFIX=24
DNS2=**********
IPADDR=********** # ←これを編集
DNS1=**********
ホスト名も一応変えます
$vi /etc/hostname
そしてサーバーの再起動を行います。
コンソール画面の右上にある、Ctrl+Alt+Delで再起動できます。
これでサーバーBへのssh接続が可能になりました。
4. ssh接続し、開発環境仕様にする
サーバーBに、晴れてssh接続できるようになったので、各種設定を行い、開発環境仕様に変更します。
例
・iptables
・crontab
・confファイル
・gitのブランチを開発ブランチに切り替え
・DBデータのマスク
あとはapacheの再起動を行ったりして、開発環境が実際に閲覧できるかどうか確認します。
確認できたら開発環境構築終了です。
Discussion