お金をかけずにサーバーの勉強をしよう

家で Amazon Linux 2023を使えるようにする

2023年6月9日

メニューへ戻る

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です。