😸
EC2インスタンスからdnfが通らない時の解決方法
はじめに
EC2インスタンスにて、dnfコマンドが通らなかったため、
原因と解決方法を模索します。
目標と結果
目標はEC2インスタンスからのdnfコマンドを通すことです。
結果はEC2インスタンスが配置されているVPCのDNS解決を有効化することで
無事にdnfコマンドを通ることができました。
事象と取り組んだこと
事象は以下の通りです。
sudo dnf install -y
でシステムのパッケージを最新化しようとしたら、リポジトリへ接続できませんでした。
dnfが通らない原因を探ります。
-
EC2インスタンスの設定不備
パブリックIPアドレスは付与しているかつ、パブリックサブネットにも所属しています。
セキュリティグループの設定にも不備はないようです。
-
ネットワークの設定不備
ルーティングテーブルやインターネットゲートウェイは正しく設定できています。 -
DNS関連
1と2は問題がなかったため、DNS設定を確認してみました。
「DNS解決を有効化」にチェックすることで、無事に最新化できました。
原因
dnfは最初に利用可能なパッケージの情報を含むリポジトリのメタデータを取得します。
メタデータにはリポジトリのURLなどが含まれるため、
そのURLを名前解決して、リポジトリへアクセスするためDNS解決を有効化する必要があるみたいです。
おわりに
「DNS解決を有効化」はデフォルトで有効化されているため、
わざわざチェックを外したのが間違いでした。
サービスを設定する時、必要最小限の設定(不要な課金も恐れてます)を意識しているので、
いったん必須の設定以外はオフにしていました。
今後は、必要か不要かよく吟味して設定しようと思います。
Discussion