ネットワーク設定で冷や汗
サーバって怖いなぁ…
問題
AWS上のCentOSサーバでElastic IPを設定しているにもかかわらず、(ちょっとした事情があって)
sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
としてファイルを開き、固定IPアドレスを
IPADDR=12.345.678.910
…のように追記して、ネットワーク再起動。
sudo /etc/rc.d/init.d/network restart
するとエラーが発生してネットワーク遮断。
(( ;゚Д゚)))
対処方法
AWSサポートに事情を話してみたところ、
「EC2インスタンスではDHCPでIPアドレスを取得される設定にして置いて頂かなければ、正しくインスタンスにお繋ぎすることはできません」
とのお言葉。
すいません…(´・ω・`)
しかし、以下のような手順で復元することが可能ということを教えていただいた!
実作業
- マネージメントコンソールからインスタンスを停止(stop)
- インスタンスのrootボリュームのボリュームIDを下の枠のBlock Devices: sda1と表示されているところから取得
- 「EBS→Volumes」から「2」で取得したボリュームIDで検索し、右クリックでメニュからボリュームをデタッチ(detach)
- ボリュームが正常にデタッチされたのを確認したら(statusがAvailableになる)、次にこのボリュームをアタッチ選択して、既に起動中の他のインスタンスのデバイス(/dev/*)として追加
- ボリュームをアタッチされたインスタンス上にSSHしてマウント(下記の「マウントの例」参照)
- 必要なファイルを修正
- ボリュームをアンマウント(umount /mnt/recover)し、マネージメントコンソールからボリュームをインスタンスからデタッチ
- ボリュームを元のインスタンスへアタッチして、インスタンスを起動
マウントの例
$ sudo su
# mkdir /mnt/recover
# mount /dev/sdf /mnt/recover