AWSの EC2に入れる Linuxの Amazon Linux 2023が出ましたので、家でもこれを使えるようにしてみます。
AWSの EC2(Elastic Compute Cloud)って IaaSには、AWS独自の LinuxOSがあります。
最近まで Amazon Linux 2ってのが使われてたのですが、2023年3月に新しい Amazon Linux 2023というのがリリースされました。
ベースは Fedora ってことなので、RedHatか Debianかで言うと、RedHat系ですね。
他の Linuxディストリビューションのように、インストールイメージが配布されているわけではなく、Dockerのコンテナとして利用することができます。
これをオンプレ環境で使うことは現実的ではなく、ほぼ EC2での利用になると思いますが、Amazonの Linuxがどういう環境なのかを知るお勉強のためであれば、EC2を借りる前にこちらで味わっておくのが良いと思います。
実験環境は Ubuntu Server 22.04.2と Dokcerでやりますけど、Rocky Linuxと Podmanでも同じでしょう、多分。
「Dockerエンジン インストール」に Dockerのインストールについて書いていますので、それができた状態からスタートします。
コンテナイメージのダウンロードと、コンテナの開始をし、ターミナルログインします。
subro@UbuntuServer2204-3:~$ sudo docker run -it public.ecr.aws/amazonlinux/amazonlinux:2023 /bin/bash
Unable to find image 'public.ecr.aws/amazonlinux/amazonlinux:2023' locally
2023: Pulling from amazonlinux/amazonlinux
91bcc9cfee80: Pull complete
Digest: sha256:42a67ed3ea638aa64c6101cf52a9333b7794db76ff1b2f827474c7df12a780ba
Status: Downloaded newer image for public.ecr.aws/amazonlinux/amazonlinux:2023
bash-5.2#
Amazon Linux 2023のコンテナにログインしました。
入っているパッケージを見てみました。
bash-5.2# dnf list --installed
Installed Packages
alternatives.x86_64 1.15-2.amzn2023.0.2 @System
amazon-linux-repo-cdn.noarch 2023.0.20230607-0.amzn2023 @System
〜〜〜 省略 〜〜〜
xz-libs.x86_64 5.2.5-9.amzn2023.0.2 @System
yum.noarch 4.12.0-2.amzn2023.0.4 @System
zlib.x86_64 1.2.11-33.amzn2023.0.4 @System
非常に少ない印象です。
コンテナだからインストールするものが絞られているんだろうか…。
パッケージのリポジトリはどこをみているのでしょう。
bash-5.2# dnf repolist --all
repo id repo name status
amazonlinux Amazon Linux 2023 repository enabled
amazonlinux-debuginfo Amazon Linux 2023 repository - Debug disabled
amazonlinux-source Amazon Linux 2023 repository - Source packages disabled
一行目だけ有効になっています。
[/etc/yum.repos.d/amazonlinux.repo]ファイルにリポジトリの URLが書いてありますが、Amazonのコンテンツサーバーになっていました。
ドキュメントには「Repository locking」と謳っているものがあります。
ちょっと意味が捉えられなかったのですが、Amazon Linuxのバージョン毎に何時どのパッケージをアップデートするかをユーザーに分かり易くしている、そういう事を言ってるんだと思います。
具体的には、OSバージョン毎に別なパッケージリポジトリを作り、そこからしかダウンロードできないようにすることで、Amazonがテスト済みで安全なパッケージのみをダウンロードさせるようにしているんだと思います。
だからちょっとトンがった最新のものを入れようとすると、安定版までしかリポジトリに無かった、という事があるのかも知れません。
試しに Nginxをインストールしてみたら、2023年6月9日時点で 1.24.0が入りました。
Nginx本家では5月23日に 1.25.0が出てますので、ソフトによるかも知れませんが、AWSでは比較的早くリポジトリに反映しているようです。
短いですけど、ここではこれで終わりです。
EC2でこの OSを使って環境を作っていくのであれば、先にローカルでこのコンテナを使って試してみて、何が足りないかとか予定のバージョンのパッケージが手に入らなかったとかの検証ができそうだと思いましたね。
先日 AzureもKubernetesのサービス(AKS)用に独自の Linuxディストリをリリースしましたが、同じようにコンテナでも提供してくれると良いんですがねぇ。
いずれにしても、サーバーエンジニアとしては一度は触っておきたい OSです。