😊

【さくらクラウド】サーバーをクローンして新しい環境を作る

2022/08/08に公開

はじめに

ある案件で本番環境完成後、開発環境の構築にあたり、
本番環境をクローンしてこれば楽に構築できるのでは?と思い、実際にやってみました。
そのときの知見を共有します。

環境

  • 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の再起動を行ったりして、開発環境が実際に閲覧できるかどうか確認します。
確認できたら開発環境構築終了です。

参考

【さくらクラウド】アーカイブから複製したままだとSSHログインができない!

Discussion