AWSのEC2でAmazonLinux2を使ったときのメモ


はじめに

EC2インスタンスを作る時に新しくAmazonLinux2が選択出来るようになりました。
今までのAmazonLinuxは現行が最終バージョンとなりアップデートは無いみたいです。
ので、今から新規でインスタンスを作るときはこちらを選択していくことになると思います。

どう変わったの?

基本的に同じくcentosベースなのですが、仕様や使い勝手の面で変わってます。

その1、Centos7ベースになった

7ベースなのでsystemコマンドもsystemctlになってます。
yumで入ってくるリポジトリとかも基本的に7準拠。

その2、リポジトリが変わった

個人的に一番変わったところなのですが、amazon-linux-extrasリポジトリで管理するものが出てきました。

example
[ec2-user@ip-xxx ~]$ amazon-linux-extras list
  0  ansible2   disabled  [ =2.4.2 ]
  1  emacs=latest  enabled  [ =25.3 ]
  2  memcached1.5   disabled  [ =1.5.1 ]
  3  nginx1.12=latest  enabled  [ =1.12.2 ]
  4  postgresql9.6   disabled  [ =9.6.6 ]
  5  python3=latest  enabled  [ =3.6.2 ]
  6  redis4.0   disabled  [ =4.0.5 ]
  7  R3.4   disabled  [ =3.4.3 ]
  8  rust1   disabled  [ =1.22.1 ]
  9  vim   disabled  [ =8.0 ]
 10  golang1.9   disabled  [ =1.9.2 ]
 11  ruby2.4   disabled  [ =2.4.2 ]
 12  nano   disabled  [ =2.9.1 ]
 13  php7.2   disabled  [ =7.2.0 ]
 14  lamp-mariadb10.2-php7.2=latest  enabled  [ =10.2.10_7.2.0 ]

というようにamazon-linux-extrasのリストにあるものはここからパッケージを入れる感じです。(自分のEC2なのでいくつか入れてますが・・・14番enableにするだけでlamp環境イッパツで構築出来るの楽。ただしdbはagentだけ入るという・・・RDS使えということか)
入れるときはenableに。

example2
[ec2-user@ip-xxx ~]$ amazon-linux-extras install ruby2.4

これで11番のrubyがインストールされます。
詳しい情報とかは

example3
[ec2-user@ip-xxx ~]$ amazon-linux-extras info ruby2.4
ruby2.4 recommends ruby                       # yum install ruby
ruby2.4 recommends ruby-irb                   # yum install ruby-irb
ruby2.4 recommends rubygem-rake               # yum install rubygem-rake
ruby2.4 recommends rubygem-json               # yum install rubygem-json
ruby2.4 recommends rubygems                   # yum install rubygems

てな感じでセットになっているパッケージが分かるわけです。
ちなみにここにないものは今まで通りyumなり何なりで普通に入れます。

その他ちょっとひっかかった所

タイムゾーン合わせが変わっていて手間取りました。

example4
[ec2-user@ip-xxx ~]$ timedatectl set-timezone Asia/Tokyo

これだけで日本に合わせられます。今まではclock開いて編集してた感ありますが、より簡単になりました。

おわりに

とりあえずまだまだ相違点ありそうだ・・・じっくり触っていこう。