Develop with pleasure!

福岡でCloudとかBlockchainとか。

AMIファイルの作成

EC2のAMIファイルを作成する方法は主に2通り。


Amazonで公開されているAMIのOSをそのまま利用するのであれば前者で良いが、そうでない場合は、後者の方法でAMIを作成する必要がある。

loopbackファイルを利用してAMIを作成する方法は、こちらの公式ドキュメントに記載されている。
Creating an Instance Store-Backed AMI From a Loopback - Amazon Elastic Compute Cloud

実際にやってる人もいるようで、日本語で解説されているところだと、
[僕] Amazon EC2 用に自分で CentOS 5 のイメージを用意する
とか参考になる。

Linuxのインストール時にはyumを使用しているのだが、これはFedoraCentOS等、無償でyumリポジトリが公開されている場合は良いが無償公開されていないようなケースだと困る。

今回Oracle Enterprise Linuxをインストールするんだけど、上記ケースに当てはまる。yumのリポジトリをローカルに構築する必要がある。OSイメージが入ってるDVDがあれば、↓の記事を参考にローカルリポジトリを構築すれば良い。
ぺんぎん戦記 RHEL5をローカルでyumを使ってupdate

ローカルリポジトリができたら

yum --installroot=/mnt/ec2-fs -y groupinstall Base

を実行するとloopbackファイルにインストールが始まる。ただ、ローカルリポジトリ作成時にServer以外のVT、Cluster、ClusterStorageを/etc/yum.repos.d/local.repoに定義しているとエラーとなったので除外した。

loopbackファイルへのインストールが終了したら、先ほどの記事にしたがってAMIの作成をすればOK。
最後の「キー受け取り用のスクリプトを仕込んでおく」というのが重要。ちなみに、うっかりget-credentials.shに実行権限を付けるの忘れて実行してしまい、EC2のインスタンスを起動してもPermission deniedと怒られた…。S3のAMIのアップロードはかなり時間が掛かるので、この辺は慎重にした方が良い。