😸

EC2インスタンスからdnfが通らない時の解決方法

2023/11/11に公開

はじめに

EC2インスタンスにて、dnfコマンドが通らなかったため、
原因と解決方法を模索します。

目標と結果

目標はEC2インスタンスからのdnfコマンドを通すことです。

結果はEC2インスタンスが配置されているVPCのDNS解決を有効化することで
無事にdnfコマンドを通ることができました。

事象と取り組んだこと

事象は以下の通りです。
sudo dnf install -yでシステムのパッケージを最新化しようとしたら、リポジトリへ接続できませんでした。

dnfが通らない原因を探ります。

  1. EC2インスタンスの設定不備
    パブリックIPアドレスは付与しているかつ、パブリックサブネットにも所属しています。
    セキュリティグループの設定にも不備はないようです。

  2. ネットワークの設定不備
    ルーティングテーブルやインターネットゲートウェイは正しく設定できています。

  3. DNS関連
    1と2は問題がなかったため、DNS設定を確認してみました。

「DNS解決を有効化」にチェックすることで、無事に最新化できました。

原因

dnfは最初に利用可能なパッケージの情報を含むリポジトリのメタデータを取得します。
メタデータにはリポジトリのURLなどが含まれるため、
そのURLを名前解決して、リポジトリへアクセスするためDNS解決を有効化する必要があるみたいです。

おわりに

「DNS解決を有効化」はデフォルトで有効化されているため、
わざわざチェックを外したのが間違いでした。

サービスを設定する時、必要最小限の設定(不要な課金も恐れてます)を意識しているので、
いったん必須の設定以外はオフにしていました。

今後は、必要か不要かよく吟味して設定しようと思います。

Discussion