OCI(Oracle Cloud Infrastructure)でCentOSにyumできない場合の対処法

スポンサーリンク
プログラミング

Oracle Cloud Infrastructure、通称OCIで個人開発した.NET Coreアプリをデプロイすべく、インスタンスに.NET Coreランタイムをインストールしようとしました。

しかし、なぜかインストールメッセージが進まないので、原因を調べたところ、単純なミスだったので、備忘録的に書き残しておきます。

OCIのCentOSにyumできなかった件

ただ純粋にランタイムをインストールしたかったので、下のようなコマンドを実行しました。

# sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

出力結果はこんな感じです。ずっとRetrievingが表示されていました。


途中、15秒ほど待っても動作がなかったので、「Ctrl+C」で処理を中断しました。

ネットワークを疑う

https経由でインストールできないので、まずはネットワークが繋がっているかを確認しました。事前にPingを受信できるように設定していたので、Pingは通るはず、、と送信してみたところ、案の定通りました。ちなみにOCIのデフォルトネットワーク設定はPingを拒否する設定になっているため、下の手順で受信できるように設定変更できます。

ついでに、以下のコマンドも試しておきました。ちゃんと帰ってきました。

# dig yahoo.co.jp

つまり、ネットワークには繋がっていることが分かりました。(よく考えたらSSH接続してるので繋がってないとおかしいですが)

セキュリティ設定を疑う

次に、OCIのネットワークに対するファイアウォールであるセキュリティ・リストを疑いました。OCIのインスタンスからランタイムを取得するので、エグレスルールを確認します。

宛先ポート番号が80のものしかありませんでした。ここで、httpsのポート番号が443であることを思い出しました。httpsを通信するポートを開けてあげればいけるんじゃ、、

 

ポート443を通過できるようにエグレスルールを設定する

「エグレスルールの追加」ボタンをクリックし、

  • 宛先CIDR:0.0.0.0/0
  • ソースポート範囲:All
  • 宛先ポート範囲:443

下の画像のように設定します。

これで再度、ランタイムをインストールするコマンドを実行してみました。

無事インストールされました!

CentOSにyum出来ない原因は、HTTPS通信のポート443が解放されていないためでした。以上です。ここまでお読みいただき、ありがとうございました。

コメント

タイトルとURLをコピーしました