🐶

Amazon Linux 2023にはamazon-linux-extrasが入っていなかったお話

2023/04/05に公開

対象となる読者

Amazon Linux2023のマシンイメージを使用したEC2でCloudwatch AgentのSetupのためamazon-linux-extrasでcollectdをInstallしようとして怒られた方

背景

Cloudwatchの検証しようとした際、特に何も考えずにデフォルトで選択されているAmazon Linux OSのマシンイメージで立てたEC2でのCloudwatch AgentのSetupで少し引っかかったので備忘として記しておきます。

概要

amazon-cloudwatch-agent自体は問題なくyumでインストールでき、その後/opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-config-wizardを使用したウィザードでの設定まで完了。
そしてMetric収集のために以下の記事を参考にcollectdをインストールしようとした際に…
https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/monitoring/CloudWatch-Agent-custom-metrics-collectd.html

# amazon-linux-extras install collectd
-bash: amazon-linux-extras: command not found

あれれ、commandが無いと言われている。
最初はPATHが通ってないとかなのかと思っていたのですが、ファイル名で乱暴なfindをかけてみても見当たらず。
よくよく調べてみると、どうやら何も考えずにEC2を立てた際に、ちょうど2023/03中旬にリリースされたAmazon Linux 2023のOSイメージを使用していたようでした。
そして以下の公式にもあるように、Amazon Linux 2023にはAmazon-Linux-Extrasは入っていないようでした。

Q: AL2023 は AL2 のような Amazon-Linux-Extras を搭載していますか?

A: いいえ。AL2023 には extras はありません。言語ランタイムなどの高レベルのソフトウェアパッケージの場合、四半期ごとのリリースを使用して、リポジトリで提供されるデフォルトパッケージに加えて、個別の名前空間化されたパッケージとしてメジャー/マイナー更新をパッケージに追加します。 例えば、Amazon Linux 2023 のデフォルトの Python バージョンは 3.8 である可能性がありますが、Python 3.9 (python39) が利用可能になると、別の名前空間化されたパッケージとして追加されます。これらの追加パッケージは、アップストリームリリース頻度とサポートモデルに厳密に従います。また、それらのサポートポリシーは、コンプライアンスとセキュリティのユースケースのために、パッケージマネージャーによってアクセスされることがあります。デフォルトパッケージは、AL2023 の存続期間を通じてサポート対象であり続けます。

https://aws.amazon.com/jp/linux/amazon-linux-2023/faqs/

と、いうことだったのでとりあえずyum install collectdでInstallし、無事CloudWatchエージェント君は動いてくれました。

この他にもデフォルトだとrsyslogが入っていないので/var/log/messagesが無かったり、crondが無かったりなど、色々と以前のAmazon Linux2から変わっていそうだったので注意が必要そうでした。
以下に差分が詳しくわかりやすく纏められていたので併せて載せておきます(いつもお世話になっておりますClassmethod様
https://dev.classmethod.jp/articles/diff-al-2023-and-al-2-packages-and-services/

反省

とりあえずAmazon Linuxだ~と言ってOSイメージをノールックで建ててしまったのが良くなかったので、今後は適当にEC2を建てない。

Discussion