この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
はじめに
ついにAmazon Linux AMI 2014.03がリリースされました!
- Amazon Linux AMI 2014.03 Release Notes
- Amazon Web Services Blog: Amazon Linux AMI 2014.03 is Now Available
何が変わったのかは上記のRelease Notesを見て頂くとして、私としての目玉featureはRuby 2.0がデフォルトになったことと、Dockerに対応したことです。ですので早速試してみました!
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自体が通信出来なくなる、という事象が発生していました。
結局原因と対処は調べきれなかったのですが、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になったり、様々なアップデートや変更が入っています。是非リリースノートを読みつつあれやこれやと試してみて下さい!