OCI Always Free完全ガイド【2026年最新】ARM 4OCPU/24GBを永久無料で使い倒す
はじめに
クラウドサービスの「無料枠」は多くのプロバイダーが提供していますが、Oracle Cloud Infrastructure (OCI) の Always Free は他社と比べて圧倒的にスペックが高いのが特徴です。
ARM ベースのインスタンスで最大 4 OCPU / 24 GB メモリ が永久無料。個人プロジェクトや副業の開発環境として十分すぎるスペックを、月額0円で使い続けることができます。
この記事では、OCI Always Free の内容、アカウント作成からインスタンス構築、開発環境のセットアップまでを体系的に解説します。
OCI Always Free 枠の全容
2026年時点の Always Free リソース
| カテゴリ | リソース | スペック |
|---|---|---|
| コンピュート (ARM) | Ampere A1 Compute | 最大 4 OCPU / 24 GB RAM |
| コンピュート (x86) | VM.Standard.E2.1.Micro | 1 OCPU / 1 GB RAM x 2台 |
| ストレージ | Boot Volume | 合計 200 GB |
| ストレージ | Object Storage | 20 GB |
| ネットワーク | Outbound Data | 月 10 TB |
| データベース | Autonomous Database | 2インスタンス(各20GB) |
| ロードバランサー | Flexible LB | 1インスタンス(10 Mbps) |
| 監視 | Monitoring | 5億データポイント/月 |
特筆すべきは ARM インスタンスの 4 OCPU / 24 GB です。これだけあれば、Docker で複数のサービスを同時に動かしても余裕があります。
他社無料枠との比較
| プロバイダー | 永久無料のコンピュート | メモリ | ストレージ |
|---|---|---|---|
| OCI Always Free | 4 OCPU (ARM) + 2 x86 | 24 GB + 2 GB | 200 GB |
| AWS Free Tier | t2.micro x 1(12ヶ月) | 1 GB | 30 GB |
| GCP Free Tier | e2-micro x 1 | 1 GB | 30 GB |
| Azure Free | B1S x 1(12ヶ月) | 1 GB | 64 GB |
OCI の優位性は明らかです。AWSやGCPの無料枠は12ヶ月の期限付きですが、OCIのAlways Freeは期限なしの永久無料です。
アカウント作成手順
Step 1: Oracle Cloud の登録ページにアクセス
Oracle Cloud Free Tier にアクセスし、「無料で開始」をクリックします。
Step 2: 必要情報の入力
- メールアドレス: 個人メールでOK
- 国/地域: Japan
- ホームリージョン: Tokyo(ap-tokyo-1)を選択
- 氏名・住所: 正確に入力
重要: ホームリージョンは後から変更できません。日本国内からの利用なら Tokyo を選びましょう。レイテンシが低く、Always Free リソースも Tokyo で利用可能です。
Step 3: クレジットカードの登録
Always Free のみの利用でもクレジットカードの登録が必要です。ただし、Always Free 枠を超えない限り課金されることはありません。
Step 4: アカウントの有効化
登録完了後、メールで確認リンクが届きます。リンクをクリックするとアカウントが有効化され、OCI コンソールにログインできるようになります。
注意: アカウント停止リスク
OCI の Always Free アカウントには、長期間リソースを使っていないとアカウントが無効化される可能性 があります。以下の対策を推奨します。
- 定期的にコンソールにログインする
- インスタンスを停止したまま放置しない
- 少なくとも月1回はリソースにアクセスする
ARM インスタンスの作成
Step 1: コンソールからインスタンス作成
OCI コンソール → 「コンピュート」 → 「インスタンスの作成」に進みます。
Step 2: イメージの選択
イメージ: Ubuntu 22.04 (aarch64)
シェイプ: VM.Standard.A1.Flex (ARM)
OCPU: 1〜4 (Always Free 合計4まで)
メモリ: 6〜24 GB (Always Free 合計24GBまで)
推奨構成(個人利用):
| 用途 | OCPU | メモリ | 補足 |
|---|---|---|---|
| 全リソースを1台に集約 | 4 | 24 GB | シンプルだが単一障害点 |
| Bot用 + Web用に分割 | 2 + 2 | 12 + 12 GB | 用途別に分離 |
| Bot用 + Web用 + 開発用 | 2 + 1 + 1 | 12 + 6 + 6 GB | 最も柔軟 |
初めてなら 1台に集約 がおすすめです。運用に慣れてから分割を検討しましょう。
Step 3: ネットワーク設定
VCN(Virtual Cloud Network)を新規作成するか、既存のものを選択します。初回は「新しいVCNの作成」を選ぶと、適切なデフォルト設定でネットワークが作られます。
Step 4: SSH キーの設定
SSH でログインするための公開鍵を登録します。
# ローカルで SSH キーを生成(まだ持っていない場合)
ssh-keygen -t ed25519 -C "oracle-cloud"
# 公開鍵の内容をコピー
cat ~/.ssh/id_ed25519.pub
コンソールの「SSH キーの貼り付け」に公開鍵を貼り付けます。
Step 5: インスタンスの作成
「作成」をクリックすると、数分でインスタンスが起動します。パブリック IP アドレスが割り当てられるので、メモしておきましょう。
ARM インスタンスが作成できない場合
Always Free の ARM インスタンスは人気が高く、リージョンのキャパシティ不足で作成に失敗 することがあります。
対策:
- 時間を変えて再試行: 深夜〜早朝は比較的空いている
- OCPU/メモリを減らす: 4 OCPU ではなく 1 OCPU で試す
- 別リージョン: Osaka (ap-osaka-1) を試す
SSH 接続と基本設定
SSH でログイン
ssh -i ~/.ssh/id_ed25519 ubuntu@<パブリックIPアドレス>
初期セットアップ
# パッケージの更新
sudo apt update && sudo apt upgrade -y
# タイムゾーンの設定
sudo timedatectl set-timezone Asia/Tokyo
# スワップの設定(メモリが少ない場合)
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
ファイアウォール(Security List)の設定
OCI のデフォルトでは SSH (22) のみ許可されています。Web アプリを公開する場合は、追加のポートを開放する必要があります。
OCI コンソールでの設定:
- VCN → サブネット → セキュリティ・リストを選択
- 「イングレス・ルールの追加」
- HTTP (80) / HTTPS (443) を追加
iptables の設定(OS 側):
# HTTP と HTTPS を許可
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 netfilter-persistent save
OCI では コンソール側のセキュリティ・リスト と OS 側の iptables の両方でポートを開放する必要があるので注意してください。
Docker 環境の構築
Docker のインストール
# Docker の公式リポジトリを追加
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# ユーザーを docker グループに追加
sudo usermod -aG docker $USER
# 再ログインして反映
exit
ssh -i ~/.ssh/id_ed25519 ubuntu@<IP>
# 確認
docker --version
docker compose version
Docker Compose で複数サービスを管理
Always Free の ARM インスタンスなら、Docker Compose で複数のサービスを動かす余裕があります。
# docker-compose.yml の例
services:
app:
build: .
ports:
- '8080:8080'
restart: always
deploy:
resources:
limits:
memory: 512M
nginx:
image: nginx:alpine
ports:
- '80:80'
- '443:443'
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
restart: always
deploy:
resources:
limits:
memory: 64M
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: always
deploy:
resources:
limits:
memory: 64M
Python 環境の構築
pyenv で Python をインストール
# 依存パッケージのインストール
sudo apt install -y build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl \
libncurses5-dev libncursesw5-dev xz-utils tk-dev \
libffi-dev liblzma-dev git
# pyenv のインストール
curl https://pyenv.run | bash
# .bashrc に追加
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init --path)"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
source ~/.bashrc
# Python のインストール
pyenv install 3.12
pyenv global 3.12
# 確認
python --version
venv で仮想環境を作成
# プロジェクトディレクトリの作成
mkdir -p ~/projects/my-app
cd ~/projects/my-app
# 仮想環境の作成
python -m venv .venv
source .venv/bin/activate
# パッケージのインストール
pip install --upgrade pip
pip install -r requirements.txt
デプロイ例 1: FX Bot の 24 時間運用
OCI Always Free は、FX 自動売買 Bot のような 24時間稼働が必要なサービス に最適です。
構成例
┌─ OCI ARM (2 OCPU / 12 GB) ──────────────────┐
│ │
│ Docker Compose │
│ ├─ bot (Python Bot 本体) 512 MB │
│ ├─ watchdog (死活監視) 64 MB │
│ └─ nginx (API公開用) 64 MB │
│ │
│ メモリ使用量: 約 640 MB / 12 GB │
└────────────────────────────────────────────────┘
Bot の Dockerfile
FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]
systemd で自動起動
Docker Compose を systemd に登録しておけば、サーバー再起動時も自動でBotが起動します。
# /etc/systemd/system/fx-bot.service
[Unit]
Description=FX Bot Docker Compose
After=docker.service
Requires=docker.service
[Service]
Type=oneshot
RemainAfterExit=yes
WorkingDirectory=/opt/bot
ExecStart=/usr/bin/docker compose up -d
ExecStop=/usr/bin/docker compose down
[Install]
WantedBy=multi-user.target
sudo systemctl enable fx-bot
sudo systemctl start fx-bot
Bot の具体的な戦略や実装については Oracle Cloud Always Free で FX Bot を 24 時間無料運用する方法 で詳しく解説しています。
デプロイ例 2: Web アプリの公開
Nginx + Let’s Encrypt で HTTPS 化
# Certbot のインストール
sudo apt install -y certbot python3-certbot-nginx
# 証明書の取得
sudo certbot --nginx -d your-domain.com
# 自動更新の設定
sudo systemctl enable certbot.timer
Nginx の設定例
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
運用上の注意点
1. Always Free のまま使い続けるために
OCI には「Always Free」と「有料トライアル($300クレジット)」の2つの無料枠があります。トライアルクレジットが切れた後も Always Free リソースは使い続けられますが、以下に注意してください。
- 「Upgrade to Paid」を押さない限り課金は発生しない: Always Free アカウントでは有料リソースを作成できないので安心
- ただし有料アカウントにアップグレードした場合: Always Free リソースを超えるものは課金対象になる
2. バックアップは自分で
Always Free のストレージにはバックアップ機能がありません。重要なデータは以下の方法でバックアップしましょう。
- Git: コードは必ず GitHub / GitLab にプッシュ
- Object Storage: データベースのダンプを定期的に保存
- 外部バックアップ: 重要なデータは別のクラウドにもコピー
3. ARM アーキテクチャの注意点
ARM (aarch64) は x86 とバイナリ互換がありません。Docker イメージやパッケージがARM対応しているか確認してください。
- Docker Hub:
linux/arm64タグがあるか確認 - 公式イメージ: nginx, python, node など主要イメージはARM対応済み
- サードパーティ: ARM未対応の場合はマルチアーキテクチャビルドが必要
4. パフォーマンスの監視
# メモリ使用量の確認
free -h
# Docker コンテナごとのリソース使用量
docker stats
# ディスク使用量
df -h
メモリ使用量が 80% を超えたら、サービスの分散や不要なコンテナの停止を検討しましょう。
まとめ
Oracle Cloud の Always Free 枠は、個人プロジェクトや副業の開発環境として最適な選択肢です。
| ポイント | 内容 |
|---|---|
| スペック | ARM 4 OCPU / 24 GB が永久無料 |
| 適した用途 | Bot の 24 時間運用、Web アプリ、開発環境 |
| 注意点 | アカウント無効化リスク、ARM 互換性、バックアップ |
| コスト | 完全無料(有料アカウントにアップグレードしない限り) |
月額 0 円で本格的なサーバー環境が手に入る OCI Always Free は、個人開発者にとって知っておくべきサービスです。まずは小さなプロジェクトから始めて、Always Free の可能性を体感してみてください。