こんにちは。AWS CLIが好きな福島です。
はじめに
今回は、以下のエラーでyumが失敗する場合の対応方法について、記載いたします。
[ERROR]: Could not contact any CDS load balancers: https://rhui3.ap-northeast-1.aws.ce.redhat.com/pulp/content/
結論
rh-amazon-rhui-client のバージョンを3.x以上にアップデートします。
(上記パッケージのバージョンが 3.x よりも古い場合にエラーが発生します。)
対応方法
yumで対象のパッケージをアップデートしたいのですが、そもそもyumができないため、 対象のパッケージを、yumができる別のEC2から取得する必要があります。
上記を考慮した対応方法の流れは以下の通りです。
◆流れ
①rh-amazon-rhui-clientのバージョン 3.x を使用するEC2の構築(RHEL 7.9 の AMI等)
②①で構築したEC2上でrh-amazon-rhui-clientのパッケージをダウンロード
③②で取得したパッケージをyumができないEC2にアップロード
④yumができないEC2に②で取得したパッケージをインストール
⑤yumのキャッシュクリア
⑥動作確認
手順
事前確認
手順を実施する前に、rh-amazon-rhui-clientのバージョン確認します。
yum ができないEC2で以下のコマンドを実行します。
- 実行コマンド
rpm -qa rh-amazon-rhui-client
以下のように、3.x より古い場合、以降の手順を進めます。
もし、3.x以上の場合、別の問題があるため、以降の手順は実施不要です...
- 実行例
[root@ip-10-88-0-222 ~]# rpm -qa rh-amazon-rhui-client rh-amazon-rhui-client-2.2.141-1.el7.noarch [root@ip-10-88-0-222 ~]#
①rh-amazon-rhui-clientのバージョン 3.x を使用するEC2の構築(RHEL 7.9 の AMI等)
手順は割愛いたしますが、私は「ami-008e28833cf3548c9」のAMIを利用してEC2を構築しました。
②①で構築したEC2上でrh-amazon-rhui-clientのパッケージをダウンロード
- 実行コマンド
sudo yumdownloader rh-amazon-rhui-client
- 実行例
[ec2-user@ip-10-88-0-139 ~]$ sudo yumdownloader rh-amazon-rhui-client Failed to set locale, defaulting to C Loaded plugins: amazon-id rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm | 33 kB 00:00:00 [ec2-user@ip-10-88-0-139 ~]$ ls -lrt total 36 -rw-r--r--. 1 root root 33456 Nov 22 08:56 rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm [ec2-user@ip-10-88-0-139 ~]$
③②で取得したパッケージを yum ができないEC2にアップロード
まずは、ローカルにダウンロードしたパッケージをダウンロードします。
- 実行コマンド(ダウンロード)
scp -i [キーペア名] [ユーザー名]@[IP]:[取得したいパッケージのパス] ./
- 実行例
# scp -i fk-test-key.pem ec2-user@10.88.0.139:~/rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm ./ rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm 100% 33KB 323.3KB/s 00:00 #
ローカルからyumができないEC2へアップロードします。
- 実行コマンド(アップロード)
scp -i [キーペア名] ./[アップロードしたいパッケージのパス] [ユーザー名]@[IP]:~/
- 実行例
# scp -i fk-test-key.pem ./rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm ec2-user@10.88.0.222:~/ rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm 100% 33KB 1.2MB/s 00:00 #
④yumができないEC2に②で取得したパッケージをインストール
- 実行コマンド
sudo yum localinstall [アップロードしたパッケージ]
- 実行例
[ec2-user@ip-10-88-0-222 ~]$ sudo yum localinstall rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm Failed to set locale, defaulting to C Loaded plugins: amazon-id, rhui-lb, search-disabled-repos Examining rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm: rh-amazon-rhui-client-3.0.45-1.el7.noarch Marking rh-amazon-rhui-client-3.0.45-1.el7.noarch.rpm as an update to rh-amazon-rhui-client-2.2.141-1.el7.noarch Resolving Dependencies --> Running transaction check ---> Package rh-amazon-rhui-client.noarch 0:2.2.141-1.el7 will be updated ---> Package rh-amazon-rhui-client.noarch 0:3.0.45-1.el7 will be obsoleting ---> Package rh-amazon-rhui-client-beta.noarch 0:2.2.141-1.el7 will be obsoleted --> Finished Dependency Resolution Dependencies Resolved ====================================================================================================================== Package Arch Version Repository Size ====================================================================================================================== Installing: rh-amazon-rhui-client noarch 3.0.45-1.el7 /rh-amazon-rhui-client-3.0.45-1.el7.noarch 62 k replacing rh-amazon-rhui-client-beta.noarch 2.2.141-1.el7 Transaction Summary ====================================================================================================================== Install 1 Package Total size: 62 k Is this ok [y/d/N]: y Downloading packages: Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : rh-amazon-rhui-client-3.0.45-1.el7.noarch 1/3 warning: /etc/yum.repos.d/redhat-rhui-beta.repo saved as /etc/yum.repos.d/redhat-rhui-beta.repo.rpmsave warning: /etc/yum.repos.d/redhat-rhui-client-config.repo saved as /etc/yum.repos.d/redhat-rhui-client-config.repo.rpmsave warning: /etc/yum.repos.d/redhat-rhui.repo saved as /etc/yum.repos.d/redhat-rhui.repo.rpmsave [INFO:choose_repo] choose_repo:37 2022-02-08 04:54:29,681: Enabling binary repos in redhat-rhui-beta.repo [INFO:choose_repo] choose_repo:56 2022-02-08 04:54:29,681: Enabling client config repo [INFO:choose_repo] choose_repo:66 2022-02-08 04:54:29,681: Executing [sed -i 's/enabled=0/enabled=1/' /etc/yum.repos.d/redhat-rhui-client-config.repo] Erasing : rh-amazon-rhui-client-beta-2.2.141-1.el7.noarch 2/3 warning: /etc/yum/pluginconf.d/rhui-lb.conf saved as /etc/yum/pluginconf.d/rhui-lb.conf.rpmsave warning: /etc/yum.repos.d/rhui-load-balancers.conf saved as /etc/yum.repos.d/rhui-load-balancers.conf.rpmsave warning: /etc/yum.repos.d/redhat-rhui-client-config-beta.repo saved as /etc/yum.repos.d/redhat-rhui-client-config-beta.repo.rpmsave Cleanup : rh-amazon-rhui-client-2.2.141-1.el7.noarch 3/3 Verifying : rh-amazon-rhui-client-3.0.45-1.el7.noarch 1/3 Verifying : rh-amazon-rhui-client-beta-2.2.141-1.el7.noarch 2/3 Verifying : rh-amazon-rhui-client-2.2.141-1.el7.noarch 3/3 Installed: rh-amazon-rhui-client.noarch 0:3.0.45-1.el7 Replaced: rh-amazon-rhui-client-beta.noarch 0:2.2.141-1.el7 Complete! [ec2-user@ip-10-88-0-222 ~]$
⑤キャッシュのクリア
- 実行コマンド
sudo yum clean all
- 実行例
[ec2-user@ip-10-88-0-222 ~]$ sudo yum clean all Failed to set locale, defaulting to C Loaded plugins: amazon-id, search-disabled-repos Cleaning repos: rhel-7-server-releases-rhui-beta rhui-client-config-server-7 [ec2-user@ip-10-88-0-222 ~]$
⑥動作確認
実行したいyumコマンドを実行し、正常にyumができることを確認します。 私はyum infoを実行してみました。
[ec2-user@ip-10-88-0-222 ~]$ sudo yum info | head -10 Failed to set locale, defaulting to C Loaded plugins: amazon-id, search-disabled-repos Installed Packages Name : GeoIP Arch : x86_64 Version : 1.5.0 Release : 13.el7 Size : 3.7 M Repo : installed From repo : anaconda Summary : Library for country/city/organization to IP address or hostname Exiting on Broken Pipe [ec2-user@ip-10-88-0-222 ~]$
終わりに
今回は、EC2(RHEL)のyumが失敗する場合の対応についてブログに記載いたしました。
どなたかのお役に立てれば幸いです。