ちょっと話題の記事

Amazon Linux AMI 2014.03 Released! 早速試してみた

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

ついにAmazon Linux AMI 2014.03がリリースされました!

何が変わったのかは上記のRelease Notesを見て頂くとして、私としての目玉featureはRuby 2.0がデフォルトになったことと、Dockerに対応したことです。ですので早速試してみました!

al01

al02

Ruby 2.0

以前のAMI(2013.09)では、Ruby 1.8がデフォルトでした。amznリポジトリにも1.9しか無く、Amazon Linux上でRuby 2.0を使うにはyum以外の手段でインストールする必要がありました。しかしその手間も今後は不要です!

$ ruby -v
ruby 2.0.0p451 (2014-02-24 revision 45167) [x86_64-linux]

以前のRubyのバージョンもamznリポジトリに用意されています。

$ yum search ruby
ruby18.x86_64 : An interpreter of object-oriented scripting language
ruby19.x86_64 : An interpreter of object-oriented scripting language
ruby20.x86_64 : An interpreter of object-oriented scripting language

システムの都合で以前のバージョンのRubyが必要な場合は、yumで追加インストールした上で、alternativesコマンドで切り替えることが出来ます。

$ sudo yum install ruby18 ruby19
$ sudo alternatives --config ruby

3 プログラムがあり 'ruby' を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/bin/ruby2.0
   2           /usr/bin/ruby1.9
   3           /usr/bin/ruby1.8

Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:3

$ ruby -v
ruby 1.8.7 (2013-06-27 patchlevel 374) [x86_64-linux]

Docker

amznリポジトリにDockerパッケージが追加されています!

$ yum search docker
docker.x86_64 : Automates deployment of containerized applications

以前はamznリポジトリに無かったため、epelリポジトリからdocker-ioパッケージを取得してインストールする必要がありました。しかしちゃんとインストール出来て起動はするものの、コンテナからyum updateなどでガンガン通信をすると、EC2のInstance Status Checksが1/2となり、EC2自体が通信出来なくなる、という事象が発生していました。

al03

結局原因と対処は調べきれなかったのですが、AMI 2014.03がリリースされたことで、そんな心配も不要になりました!

それでは早速インストールしてみます。

$ sudo yum install docker
$ sudo service docker start
Starting cgconfig service:                                 [  OK  ]
Starting docker:	                                   [  OK  ]

Dockerのバージョンは0.9.0です。epelリポジトリのdocker-ioパッケージが0.8だったので、最新のDockerを使えるのは嬉しいですね!

$ sudo docker version
Client version: 0.9.0
Go version (client): go1.2
Git commit (client): 2b3fdf2/0.9.0
Server version: 0.9.0
Git commit (server): 2b3fdf2/0.9.0
Go version (server): go1.2
Last stable version: 0.9.1, please update docker

それではコンテナを立ち上げてみます。

$ sudo docker run -i -t centos /bin/bash
Unable to find image 'centos' locally
Pulling repository centos
539c0211cd76: Download complete 
bash-4.1# cat /etc/system-release
CentOS release 6.4 (Final)

これでAmazon LinuxでもバリバリDocker使えますね!

次のリリースは?

リリースノートによると、2014年9月を予定しているそうです。

ところがここに気になる記述が...

  • We are considering removing Perl from the packages that are installed by default on the AMI, but it will remain in the repositories.
  • We are considering switching from MySQL to MariaDB.

えっ。

まとめ

以上、速報でした。これ以外にもJava 7がデフォルトになったり、Perlが5.16になったり、様々なアップデートや変更が入っています。是非リリースノートを読みつつあれやこれやと試してみて下さい!