Amazon Linux 2のECS Optimizedもリリースされ、そろそろ当方のPackerのベースAMIもAmazon Linux 2にするべきなのかと悩み中です。
やはりネックになるのはamazon-linux-extrasですね。
epelが追加されたのはいいんですが…extrasでパッケージコントロールする、ということになると、従来のOSレイヤの管理概念を大きく変えないといけません。
具体的には、そもそもOSが起動してextrasが一回走ったらアップデートとか考えない。
というのがおそらくこのextrasでの考え方なんでしょうね。
アップデート=そもそもクラウドなんだからEC2ごと起動しなおしてCloud-initをrunさせてextrasに最新版を入れさせて自動デプロイでアプリが自動実行されればそれでいいだろう、みたいな。
ECSはそれでいいんですが、これ、オンプレミスの移行として考えると相当に厄介で、アプリ含めクラウド型に書き変わる(デプロイとかのオペ含めて)までの中間期間の運用保守どうすんだよこれは。
みたいな気持ちになるわけです。
もちろん、extrasでepelだけ入れてあとはyum使え、ということなのかもしれないんですが、extrasに含まれているパッケージは軒並みamzn-coreのリポジトリに居ないわけでして。
しばらくはInfrabbitはまだAmazon Linux 2への移行は積極的には行えない感じですねぇ。クラウド的といえばクラウド的なので、面白い試みだとは思うのですが、突っ走り過ぎてしまっている感もあります。
あと、いい加減ロールバックできるようにしてくれないかなー…。
amazon-linux-extras disableが本当に見た目の無効化だけなので、removeなりuninstallなりのサブコマンドはよ!
diableが見た目だけなのはsystemdとかalternativesとかと同じ動きと言えばそうなので、これはこれで正しい気はするのだけど、でもコマンドにアクセスできてしまうのはどうなんだ。
この辺yumを単純パックするんじゃなくて、chrootしたパッケージ用ディレクトリにyum展開して/usr/binとかからSymbolic Linkの作成/削除で対応できなかったもんかなー…とか思っては見たけど、Remove考えるとめんどくさすぎて吐き気がしますね。
いちいちパッケージリストのディレクトリツリーをBtreeあたりで抱え込んどかないといけなくなりそう。
あれ? それってyum本体作ってるのと実質同じじゃね?