株式会社エスロジカル
株式会社エスロジカル
SSL証明書(DV、OV、EV)、セキュリティ、Web開発、Linux開発、Go言語

HOME > 技術ドキュメント > OCI Compute + Ubuntu 24.04 Web サーバー構築入門

OCI(Oracle Cloud)Compute + Ubuntu 24.04 Web サーバー構築入門


OCI(Oracle Cloud Infrastructure)の大きな特徴は Always Free(無料枠) の充実度です。
Ampere A1 Compute を最大 4 OCPU・24 GB RAM まで永続的に無料で利用でき、 個人プロジェクトから小規模商用サービスまで十分なスペックを確保できます。
この記事では Ubuntu 24.04 LTS のインスタンスを起動し、Web サーバーを HTTPS で公開するまでの手順を解説します。
OCI 特有の落とし穴(OS 側の iptables 設定)も合わせて説明します。


リソース 無料枠の内容
Ampere A1 Compute 4 OCPU・24 GB RAM(合計。複数インスタンスに分割可)
AMD VM.Standard.E2.1.Micro 2 インスタンスまで(1 OCPU・1 GB RAM 各)
ブロックボリューム 合計 200 GB まで
アウトバウンド通信 月 10 TB まで(日本リージョンは月 1 TB)
パブリック IP 2 個まで無料

OCI コンソール(cloud.oracle.com)から操作します。

  1. 「コンピュート」→「インスタンス」→「インスタンスの作成」
  2. イメージ:Canonical Ubuntu → 24.04 を選択
  3. シェイプ:Ampere の VM.Standard.A1.Flex(Always Free 対象)、1 OCPU・6 GB RAM など
  4. SSH キー:既存の公開鍵をアップロードするか、新規生成して秘密鍵をダウンロード
  5. ネットワーキング:デフォルト VCN を使用(後でセキュリティリストを編集)

OCI のファイアウォールは「セキュリティリスト」または「ネットワーク・セキュリティ・グループ」で管理します。
デフォルトでは SSH(22)のみ許可されているため、HTTP/HTTPS を追加します。

  1. 「ネットワーキング」→「仮想クラウドネットワーク」→ 対象 VCN を選択
  2. 「セキュリティ・リスト」→「デフォルト・セキュリティ・リスト」→「イングレス・ルールの追加」
  3. 以下の 2 つのルールを追加する
宛先ポート プロトコル ソース CIDR 用途
80 TCP 0.0.0.0/0 HTTP
443 TCP 0.0.0.0/0 HTTPS(SSL証明書が必要)

OCI の Ubuntu インスタンスは、コンソールのセキュリティリストで許可しただけではポートが開きません。
OS 側の iptables にもデフォルトでルールが設定されており、これも許可する必要があります。
これが OCI で「ポートを開いたはずなのに繋がらない」最大の原因です。

# 現在の iptables ルールを確認
sudo iptables -L INPUT -n --line-numbers

# HTTP (80) と HTTPS (443) を許可するルールを追加
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT

# 設定を永続化
sudo apt install -y iptables-persistent
sudo netfilter-persistent save

UFW を使う場合は UFW を有効化するだけで iptables を上書きできます:

# UFW を使う場合(iptables を直接操作する代わりに)
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

# 秘密鍵のパーミッションを設定
chmod 400 ~/Downloads/oci_key.pem

# SSH 接続(Ubuntu のデフォルトユーザーは ubuntu)
ssh -i ~/Downloads/oci_key.pem ubuntu@your-public-ip
# ~/.ssh/config に登録しておくと便利
Host myoci
    HostName your-public-ip
    User ubuntu
    IdentityFile ~/Downloads/oci_key.pem

# パッケージを最新化
sudo apt update && sudo apt upgrade -y

# タイムゾーンを日本時間に設定
sudo timedatectl set-timezone Asia/Tokyo

sudo apt install -y apache2
sudo systemctl enable apache2
sudo systemctl start apache2

SSL/TLS の設定手順は Apache インストール(Ubuntu 24.04) を、 Nginx を使う場合は Nginx SSL/TLS 設定 を参照してください。


OCI にも「証明書」サービス(OCI Certificates)がありますが、利用できる場面には制限があります。

OCI マネージド証明書 独自 SSL証明書
使える場所 OCI Load Balancer・API Gateway のみ Compute 直接・どこでも使える
Compute 直接利用 ✕ 不可 ✓ 可能
証明書種別 DV のみ DV・OV・EV を選択可能
企業認証(OV/EV) ✕ 不可 ✓ 可能
ワイルドカード ✕ 不可 ✓ 可能

Compute インスタンスに直接 Web サーバーを立てて HTTPS を提供する場合、OCI マネージド証明書は利用できません。
別途 SSL証明書を取得して Apache/Nginx に設定する必要があります。
OCI は Always Free の Compute スペックが非常に大きいため、本格的なアプリを直接 Compute で動かすケースも多く、 そうした構成では独自の SSL証明書を Compute に設置することになります。

エスロジカルでは RapidSSL(DV)3,960円/1年(税込)〜から、 OV・EV・ワイルドカードまで幅広く取り扱っています。 審査サポート・インストール代行も承っています。

SSL証明書の購入・詳細はこちら / DV・OV・EV の違い / インストール代行サービス


# OCI CLI のインストール
bash -c "$(curl -L https://raw.githubusercontent.com/oracle/oci-cli/master/scripts/install/install.sh)"

# 設定(API キーの登録など)
oci setup config

# インスタンス一覧
oci compute instance list --compartment-id <COMPARTMENT_OCID>

# インスタンスの起動・停止
oci compute instance action --instance-id <INSTANCE_OCID> --action START
oci compute instance action --instance-id <INSTANCE_OCID> --action STOP

項目 注意点
Always Free の Ampere A1 一定期間アイドル状態が続くと OCI 側が回収することがある(対策:定期的なアクセスか cron など)
アウトバウンド通信 日本リージョン(ap-tokyo-1, ap-osaka-1)は月 1 TB まで無料、超過分は課金
ブロックボリューム インスタンスを削除してもボリュームが残ると課金される
有料リソースの誤作成 シェイプ選択時に Always Free 対象外を選ばないよう注意

Apache インストール(Ubuntu 24.04) — SSL 有効化、バーチャルホスト設定
Nginx SSL/TLS 設定(Ubuntu 24.04) — HTTPS 設定、Go アプリのリバースプロキシ
UFW・Fail2ban 設定(Ubuntu 24.04) — ファイアウォール設定、SSH ブルートフォース対策
SSH 公開鍵認証・セキュリティ設定(Ubuntu 24.04)


← 技術ドキュメント一覧へ戻る