こんにちは、cloudpack の 王子こと廣瀬一海 (@kazumihirose) です。

ふと思うところがあり、スクラッチからカスタマイズ済みのCentOS HVM向けAMIを作ってみました。

AWS Marketplaceで配布されるイメージは、話ではRootボリュームのAttach / Dettachに難があるとかで、万が一Rootボリュームの起動にコケたりする際の障害データの回収など大変らしいので、それなりには役に立つかもしれません。
cloudpack カスタマイズなCentOS 6.6 HVM AMI Imageを作りました

名称 AMI ID Root device type Virtualization type Description
CLP CentOS 6.6 HVM ami-28abbc29 ebs hvm Cloudpack’s customized CentOS 6.6 AMI Image.

Community AMIsから検索で「cloudpack」とキーワードを入れて検索してもらえば見つかるでしょう。

At your own risk!・自己責任

言わずもがなですが「At your own risk!・自己責任」で使ってください。
商用運用などのサポートが必要になりましたら、cloudpack (http://cloudpack.jp/) へ、ご依頼くださいませ。

カスタマイズされている点

カスタマイズといっても、後にカスタマイズしやすいように、シンプルで極力ミニマルなバニラ状態で構成をしています。

SELinux

無効化されています、必要な方は /etc/selinux/config で編集し、enabledにして再起動してください。

IPv6

無効化しています。

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

メモリのswap

メモリを使い切らないとswapしません。

vm.swappiness = 0

他ファイルやネットワーク周りのパラメータ

kernel.sem = 250 32000 100 128
fs.file-max = 6815744
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

リポジトリ

CentOS-Baseとepelが有効になっています。

SR/IOV

CentOS6.6からカーネルにはSR-IOVドライバが含まれていた為、rpmによる追加ドライバのインストールなどを行っていません。
よって、以下の設定のみ行っています。稼働するかは未検証ですので、稼働された方は是非ご連絡いただけますと僕が喜びます。

cat /etc/modprobe.d/ixgbevf.conf
options ixgbevf InterruptThrottleRate=1,1,1,1,1,1,1,1

cloud-init

このイメージはcloud-initによって、以下の作業を自動的に行ってくれます。
カスタマイズされたい方は、必要に応じて /etc/cloud/cloud.cfg を修正してください。

SSH

SSH(TCP 22)でログインが可能です。
以下の二つのアカウントに同一のSSHキーが自動配備され、ログイン可能になります。
また、一般ユーザーの場合は sudo での権利昇格が可能です。

名称 権限 ホームディレクトリ SSHキー
root 管理者 /root 起動時に指定したSSHキーペア
maint 一般ユーザ /home/maint 起動時に指定したSSHキーペア

root volumeの物理伸張および論理伸張

このイメージは8GBのEBSボリュームで構成されたものですが、Root volumeのサイズ変更に対応しています。

例えば、起動時にRootVolume100GBで起動した場合は以下の手順で自動的にディスク容量が伸張されます。その場合は、パーティションテーブルの変更を把握する為、一度は再起動を行ってください。

  1. 初回起動時 パーティションを最大化(growpart)
  2. パーティションテーブル認識の為に再起動
  3. 拡張されたパーティションテーブルに合わせ、論理ボリュームが伸張(resize2fs)

インスタンスストアのマウント

一部のEC2(HVM)では、Instance Store(Ephemeral Disk)という、高速なSSDディスクを使うことができます。
このイメージでは、Instance Storeは利用できる場合に自動でマウントを行います。
また、Instance Storeが0本の場合でも、4本未満の場合でも問題なく起動します。

名称 ディスクデバイス マウント先
Instance Store 0 /dev/xvdb (/dev/ephemeral0) SWAPパーティションにすべて割り当て
Instance Store 1 /dev/xvdc (/dev/ephemeral1) /media/ephemeral1
Instance Store 2 /dev/xvdd (/dev/ephemeral2) /media/ephemeral2
Instance Store 3 /dev/xvde (/dev/ephemeral3) /media/ephemeral3

Instance Store 0が利用可能な場合は、SWAPパーティションを準備し、SWAPに割り当てます。
SWAP発生時などに、EBSへアクセスが発生し、その際の課金を回避する為にあります。

なお、Ephemeral Diskは非永続化領域であり、インスタンスのStart/Stopによってデータが消去されますので(Rebootは大丈夫)、注意してください。
キャッシュ領域や一時的なデータ領域として利用するのが良いと思います。

時刻同期

chronyがデフォルトで起動するようになっており、起動時に同期します。
なお、表記タイムゾーンはAsia/Tokyo(JST)となっています。

Locale

ja_JP.UTF-8となっています。日本語でメッセージが表示されます、SSHなどではUTF-8でログインしてください。

リポジトリやパッケージのアップデート

アップデートは勝手に行います。

元記事はこちらです。
cloudpack カスタマイズなCentOS 6.6 HVM AMI Imageを作りました