【AWS】amazon linuxのyumリポジトリはS3にある??
AmazonLinux2にPython3を入れたいなと思い、yum install python3
でインストールした。
次にライブラリをインストールしようとpip install
をしたところ、NWエラーが出た。
[aurumAdmin@ip-10-116-0-32 ~]$ pip3 install fabric Collecting fabric Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.VerifiedHTTPSConnection object at 0x7ff73c879250>: Failed to establish a new connection: [Errno 101] Network is unreachable')': /simple/fabric/
そういえば、このEC2って外部NWに繋がってないじゃんと思い納得。
あれ?じゃあなんでyum install python3
はできたんだ?というところが謎に思ったので調べた。
yumリポジトリへの通信経路の違い
python3をyum installした時のリポジトリはAmazon Linux 2 core repositoryを見にいっている。
じゃあEPELとかのリポジトリにも繋がるのかと思い試してみたが、こちらは繋がらなかった!
ということは、AWSのリポジトリと、EPELとかのリポジトリは通信経路が違うことになる。
amzn-coreのある場所
調べたところ、AWSのyumリポジトリはS3に存在しているらしい。
そのため、外部ネットワークに繋がらなくても、VPCエンドポイントの設定を入れることで通信ができるとのこと。
VPCエンドポイントを確認したところ、確かにその設定が入っていた。
参考
よくある質問 - Amazon Linux AMI | AWS
-> Q: VPC エンドポイントを設定して Amazon Linux AMI リポジトリへの接続を許可するにはどうすればよいですか?