aws memo

AWS関連の備忘録 (※本ブログの内容は個人的見解であり、所属組織及び企業の意見を代弁するものではありません。1年以上古いエントリは疑ってかかってください)

カスタムのRHEL 6.4 HVM AMIを作る時の注意点

C3で、RHEL 6.4 HVM AMIにSR-IOVドライバを入れる手順はこちら

[HPC] C3.8xlarge のRHEL6.4 HVMで SR-IOVを有効にする - aws memo

で、ドライバが入った状態のカスタムAMIを作っておきたいと思うのが人情。

この時、create image する前に2つ注意点。(2013年 11月28日時点RHEL AMIが改善されれば不要になるはず)

 

1. udev に注意

[症状]

作成したカスタム RHEL AMIで起動すると、 status checkがエラーになり、ssh接続もpingも通らない。

[原因]

/etc/udev/rules.d/70-persistend-net.rules が存在している状態でAMIを作ると、このファイルを持ったままになる。そのAMIで起動すると、本来 eth0として使いたいNICがeth1として認識してしまう。(rulesに書いてあるMACアドレスをeth0として確保しようとするため)

この状態になると

[対策]

AMIを作る前に、 このファイルをrmしておく。

sudo rm /etc/udev/rules.d/70-persistend-net.rules 

 

2. rc.local に注意

[症状]

udevの対策をして作成したカスタムRHEL AMIで起動すると、 pingは通るが sshが通らない( connection refusedになる)

[原因]

/etc/rc.local のバグで、 /etc/ssh/sshd_config がおかしい状態でAMIを作ってしまう。

そのため、AMIから起動すると、sshdが起動しなくなる。こちらにも書いてある。

linux - EC2 instance launched from AMI not reachable(ssh) after start/stop or reboot - Stack Overflow

[対策]

/etc/rc.localを修正する。sshd_configをいじってるところをコメントアウト

$ diff rc.local /etc/rc.local 
19,21c19,21
< #cat <> /etc/ssh/sshd_config
< #UseDNS no
< #PermitRootLogin without-password
---
> cat <> /etc/ssh/sshd_config
> UseDNS no
> PermitRootLogin without-password