Amazon Linuxのリリースノート

小咄をひとつ。

野暮用でEC2インスタンス上で最新Amazon Linux(2012.03)のリリースノートを見ようと思って、記憶を頼りに/usr/share/doc/system-release/を見てもGPLライセンスの文書しか入っていませんでした。

起動時のバナーにリリースノートの置き場が書いてあったことを思い出してmotdを見ると、web上のURLが書かれていました。記憶違いかと思って古いインスタンス上でmotdを見てみると、ローカル・ファイルシステムのpathが書いてある。調べて見ると、直近にyum updateをかけたタイミングでmotdファイルが書き換わっていました。

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

See /usr/share/doc/system-release/ for latest release notes.

 ↓ ↓ ↓

       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2012.03-release-notes/

この変更について少し理由を考えてみて、ふと、これは不要データを削減する取り組みなのかもしれないと思い至りました。

EC2の規模については、「全世界でxxx万台」などなど、web上でも様々な憶測が流れていますが、とにかくEC2は「莫大な数」のインスタンスを日々走らせています。リリースノート1ファイル単独ではわずかであっても、Amazonが標準で提供するAMIのデータ量を削り込むことで、AWS全体で消費されるストレージや帯域を減らすことができそうです。

たしか、id:naoya氏の「大規模サービス技術入門(asin:4774143073)」という書籍だったか、1000台程度までの大規模サービスと、100万台以上の規模の「超」大規模サービスとでは、インフラに関する考え方もノウハウも異なってくるということが書いてあって、なるほどと思った記憶があります。リリースノートをローカルから削除したことは「今時はwebに掲載していれば十分なはず」という程度の理由かもしれませんが、ひょっとすると、こういったレベルでAMIをシェイプアップしていくというのは超大規模だからこそ意味のあることなのかもしれないと感じた次第です。(EC2チームの真意を確認したわけではありません。)

ちなみにmotdはsetupパッケージに含まれています。

# rpm -qif /etc/motd
Name        : setup                        Relocations: (not relocatable)
Version     : 2.8.14                            Vendor: Amazon.com
Release     : 13.9.amzn1                    Build Date: Fri Jan  6 09:41:43 2012
Install Date: Sat Mar 24 16:57:48 2012         Build Host: build-31003.build
Group       : System Environment/Base       Source RPM: setup-2.8.14-13.9.amzn1.src.rpm
Size        : 665338                           License: Public Domain
Signature   : RSA/8, Fri Feb 17 18:17:51 2012, Key ID bcb4a85b21c0f39f
Packager    : Amazon.com, Inc. <http://aws.amazon.com>
URL         : https://fedorahosted.org/setup/
Summary     : A set of system configuration and setup files
Description :
The setup package contains a set of important system configuration and
setup files, such as passwd, group, and profile.