Develop with pleasure!

福岡でCloudとかBlockchainとか。

インスタンス起動時にEBSボリュームをマウント

EC2のインスタンスをDBサーバとして使用する場合とかマウントしたEBSにデータを保存する必要がある。

そのためにEC2のインスタンス起動時に毎回EBSをマウントするのは結構メンドくさい。なので、自動マウントできないかなーって思ってたら、AWSのフォーラムでこんなエントリを発見。
AWS Developer Forums: Scripts to automatically attach and ...


さらに実際にやられてる人もいるじゃないですか。
Amazon EBSのボリュームを自動でattachしてマウントしたい - 旧cyberarchitect

早速、Blogを参考にさせてもらいながら実施。

aws_ebs_mountの自動起動設定のためchkconfigを使おうとaws_ebs_mountの内容を一部変更。

#! /bin/sh
# /etc/init.d/aws_ebs_mount
# chkconfig: 2345 79 6
# description: EBS Volume mount
# processname: aws_ebs_mount
...

chkconfigの定義が無いと、chkconfig -addしても怒られるので、その定義を追記。この定義だとランレベル2,3,4,5でonになり、79番目に起動し、6番目に終了する。
こうしたのは、このボリュームを使用するOracleXEランレベル2,3,4,5で80番目に起動5番目に終了するので、それより前に起動、後に終了する必要があったため。

設定が終わったら、その状態でAMIを作成し、インスタンスを停止し作成したAMIからインスタンスを起動すると無事EBSがマウントされた状態で起動した♪


2009/06/23 追記
↑の記事に/etc/fstabへの追記があったけど、aws_ebs_mountでやってくれるので特に追記する必要は無さげ。逆にaws_ebs_mountよりも先にマウントしようとして、結果EBSボリュームがアタッチされていない状態でマウントしようとしエラーになってしまう。