OCIの最新E6インスタンス(Ubuntu)でゲームサーバーを公開するポート開放手順
OCI E6インスタンスでゲームサーバーを公開するためのポート開放ガイド
Oracle Cloud Infrastructure(OCI)で提供されている最新の Compute E6 インスタンス(AMD EPYC) は、優れたシングルスレッド性能と高いメモリ帯域を備えており、FiveMやRust、7 Days to Dieといった高負荷なゲーム専用サーバーをマルチプレイで運用するのに最適な環境です。
しかし、OCIは初期状態のセキュリティ(ネットワーク制限)が非常に厳格であるため、ただゲームのサーバープログラムを起動しただけでは外部のプレイヤーが接続できません。
外部から正しく接続できるようにするためには、**「OCIコンソール(仮想クラウド・ネットワーク側)」と「Ubuntu(OS側)」**の両方でポートを開放する必要があります。その具体的な手順を備忘録としてまとめます。
1. OCIコンソール側の設定(イングレス・ルールの追加)
まずは、クラウドの境界(VCN)で対象ポートのパケットを通過させるための設定を行います。
- OCIの管理コンソールにログインし、対象インスタンスの「プライベートIPアドレス」のページから、紐づいている 仮想クラウド・ネットワーク(VCN) をクリックします。
- 左メニューの「サブネット」から対象のサブネットを選択し、「既定のセキュリティ・リスト(Default Security List)」 を開きます。
- 「イングレス・ルールの追加」 をクリックし、以下の通り設定します。
設定値の例(FiveM等の場合:UDP/TCP 30120)
- ソースCIDR:
0.0.0.0/0(すべてのIPからの接続を許可) - IPプロトコル:
TCP(またはUDP。両方必要な場合はそれぞれ個別にルールを追加する) - 宛先ポート範囲:
30120(構築したいゲームのポート番号)
2. Ubuntu(OS内)のファイアウォール設定(E6環境向け)
OCIのUbuntuイメージは、初期状態から iptables のルールが非常に強力に組まれており、これが原因で「セキュリティリストを開けたのに繋がらない」というトラブルが頻発します。
SSHでE6インスタンスに接続し、以下のコマンドを実行して内部のファイアウォールを適切に開放します。
# TCPポートの開放(例: 30120)
sudo iptables -I INPUT 6 -p tcp --dport 30120 -j ACCEPT
# UDPポートの開放(例: 30120)
sudo iptables -I INPUT 6 -p udp --dport 30120 -j ACCEPT
# 変更したiptablesのルールを永続化(インスタンス再起動対策)
sudo netfilter-persistent save
sudo netfilter-persistent reload