Cloud Service
OCI MySQL / Base Database
OCI のマネージドなリレーショナルDB。MySQL HeatWave Database Service と Base Database Service が、パッチ・バックアップ・冗長化を自動化して運用負荷を下げる。AWS の Amazon RDS に相当する。
中級信頼性セキュリティパフォーマンス効率コスト最適化
最終更新: 2026-06-03公式ドキュメント ↗
TL;DR要点だけ先に
- 1.MySQL と Oracle DB をマネージドで提供し運用を自動化。
- 2.パッチ・バックアップ・HA フェイルオーバーを肩代わり。
- 3.HA は可用性、リードレプリカは読み取りスケールで別物。
解決する課題
- DB サーバーの OS パッチ・バックアップ・監視が重い → 自動化したい
- 障害で DB が止まると困る → 高可用性(HA)と自動フェイルオーバーで可用性を上げたい
- 読み取りや分析クエリが増えてきた → リードレプリカや HeatWave クラスタでスケールしたい
- 別 OS・別ハードを自前で組まず、OCI 上でそのまま MySQL / Oracle DB を使いたい
主要概念と用語
- DB システム(DB System): 稼働している DB 本体の単位。MySQL でも Base Database でもこの呼称
- MySQL HeatWave: MySQL に統合されたインメモリのクエリアクセラレータ。OLTP に加え、OLAP(分析)・機械学習・Lakehouse を同一 MySQL 上で実行できる
- High Availability(HA): MySQL では Group Replication による3ノード構成(プライマリ+2セカンダリ)で、複数の可用性ドメイン/フォルトドメインに分散し自動フェイルオーバー
- リードレプリカ(Read Replica): MySQL の読み取り専用コピー。読み取りをスケールする用途
- Data Guard: Base Database(Oracle)のスタンバイDBへの複製機能。同期/非同期を選べ、自動フェイルオーバーは Observer 経由
- 自動バックアップ / 手動バックアップ: ポイントインタイムリカバリ(PITR)に対応
- エンドポイント: 接続先のIP/FQDN。HA 構成ではプライマリへ自動で向き先が切替
仕様・制限・クォータ
- 自動バックアップ保持: MySQL は 1〜35 日で設定(既定 7 日)、手動バックアップは任意保持
- メンテナンスウィンドウでパッチ・マイナーバージョン更新を適用
- ストレージは作成時に指定し、後から**拡張(拡大のみ)**が可能。MySQL は最大数十TB規模
- **シェイプ(Shape)**で CPU・メモリを選択(例:
MySQL.2、VM.Standard.E4.Flex等。Flex シェイプは OCPU/メモリを柔軟指定) - リージョン/テナンシごとに**サービス制限(リミット)**があり、引き上げ申請が可能
- Base Database は VM / Bare Metal / Exadata(ExaDB-D) など配置形態が複数あり、エディション(Standard/Enterprise/High Performance/Extreme Performance)でライセンス込み機能が変わる
内部の仕組み
- MySQL HA(Group Replication): 書き込みをセカンダリへ同期複製し、合意(Paxos ベース)で整合性を確保。プライマリ障害時はセカンダリへ自動昇格し、エンドポイントを付け替え(数十秒〜)。可用性のための仕組み
- MySQL リードレプリカ: 非同期複製のため遅延がある。読み取りクエリを分散する用途で、HA とは目的が別物
- HeatWave クラスタ: 列指向・インメモリでデータを分散保持し、複雑な分析クエリを大幅高速化。OLTP データから自動で反映され、別 ETL 不要
- Base Database + Data Guard: プライマリの REDO をスタンバイへ転送。Maximum Availability/Performance/Protection の保護モードを選べ、障害時は Observer がフェイルオーバーを実行
HA(高可用性)と リードレプリカの取り違え注意
HA(Group Replication / Data Guard)=可用性(自動フェイルオーバー)、リードレプリカ=読み取りスケール。目的が別物で、ここは設計時の頻出ポイント。同期のHAと非同期のレプリカを混同しないこと。
設計パターン / ベストプラクティス
- 本番の MySQL は HA(3ノード) を有効化し、複数の可用性ドメイン/フォルトドメインに分散
- 読み取り負荷は リードレプリカ、分析・集計は HeatWave クラスタで分散
- DB はプライベートサブネットに置き、パブリックには公開しない(MySQL DB システムは原則プライベート)
- 接続元は セキュリティリスト / ネットワークセキュリティグループ(NSG) で MySQL の 3306/33060 などに最小限の許可
- パスワードや資格情報は OCI Vault(Secrets) で集中管理し、ハードコードしない
- Base Database では要件に応じ Data Guard とバックアップ先(Object Storage / Autonomous Recovery Service)を構成
運用・監視
- OCI Monitoring(メトリクス)/ Logging / Database Management で性能・接続・スロークエリを可視化
- 接続不可時は セキュリティリスト・NSG・サブネット・ルート・エンドポイントを確認
- スロークエリはインデックスや MySQL のパラメータ(Configuration=パラメータグループ相当)を見直し
- パッチはメンテナンスウィンドウで適用。重要更新はステージング DB システムで事前検証
コスト
| 課金要素 | 内容 | コスト最適化のヒント |
|---|---|---|
| コンピュート | シェイプ(OCPU/メモリ)の稼働時間 | Flex シェイプで right-sizing、不要時は停止 |
| ストレージ | 確保したデータ領域のGB | 拡張は不可逆なので必要量を見極める |
| バックアップ | 自動/手動バックアップの保管量 | 保持期間を要件に合わせて短縮 |
| HeatWave / HA | ノード追加分(HeatWave ノード・HAの追加2ノード) | 分析が不要なら HeatWave を付けない |
| ライセンス(Base DB) | BYOL か ライセンス込み | 保有 Oracle ライセンスがあれば BYOL で割引 |
- MySQL はコンピュート+ストレージ+バックアップが基本。HeatWave や HA はノード分が加算
- Base Database は BYOL(Bring Your Own License) とライセンス込みを選べ、Universal Credits でコスト管理
セキュリティ
- 保存時暗号化は既定で有効。鍵は Oracle 管理に加え、OCI Vault のカスタマー管理鍵を指定可能
- 転送時は TLS/SSL で暗号化。MySQL では
REQUIRE SSL等で強制可能 - DB はプライベートサブネットへ配置し、NSG/セキュリティリストで最小許可
- 操作権限は IAM ポリシー(グループ/動的グループ+ポリシー)で最小権限に絞る
アンチパターン
DB をパブリックサブネットに置き、0.0.0.0/0 から 3306 を開放するのは NG。資格情報をアプリにハードコードするのも厳禁。**プライベート配置+NSG 最小許可+OCI Vault(Secrets)**で守ること。
関連サービス・比較(AWS との対応)
| 観点 | OCI MySQL HeatWave | OCI Base Database | AWS Amazon RDS |
|---|---|---|---|
| 位置づけ | マネージド MySQL(分析統合) | マネージド Oracle Database | マネージド RDB(複数エンジン) |
| 対応エンジン | MySQL | Oracle Database | MySQL/PostgreSQL/MariaDB/Oracle/SQL Server/Aurora |
| 可用性(HA) | Group Replication(3ノード) | Data Guard | Multi-AZ |
| 読み取りスケール | リードレプリカ | Active Data Guard / レプリカ | リードレプリカ |
| 分析の高速化 | HeatWave(インメモリ列指向) | Exadata/In-Memory | (別途 Redshift 等) |
| 鍵管理 | OCI Vault | OCI Vault | AWS KMS |
| 権限付与 | IAM ポリシー | IAM ポリシー | IAM |
- HeatWave は MySQL に分析・ML を統合する点が特徴で、RDS には無い差別化(AWS だと別途分析基盤が必要)
- Oracle DB を OCI で動かすなら Base Database / Exadata、より自動運用なら Autonomous Database が選択肢
ハンズオン / CLI例
# 利用可能な MySQL シェイプを確認
oci mysql shape list \
--compartment-id "$COMPARTMENT_OCID" \
--availability-domain "$AD_NAME"
# HA 構成(3ノード)の MySQL DB システムを作成(プライベートサブネット前提)
oci mysql db-system create \
--compartment-id "$COMPARTMENT_OCID" \
--shape-name "MySQL.2" \
--subnet-id "$PRIVATE_SUBNET_OCID" \
--availability-domain "$AD_NAME" \
--admin-username admin \
--admin-password "$DB_ADMIN_PASSWORD" \
--data-storage-size-in-gbs 100 \
--is-highly-available true \
--display-name app-mysql
# 読み取りを分散するリードレプリカを追加
oci mysql replica create \
--db-system-id "$DB_SYSTEM_OCID" \
--display-name app-mysql-replica
# 手動バックアップを取得(PITR 用の自動バックアップとは別)
oci mysql backup create \
--db-system-id "$DB_SYSTEM_OCID" \
--backup-type FULL \
--display-name app-mysql-manual-bkp
OCI Service
OCI MySQL / Base Databaseを実務で読む
TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。
解決すること
データベース
比較で見る軸
クラウド: OCI / カテゴリ: データベース / 難易度: intermediate
導入後に効く点
パッチ・バックアップ・HA フェイルオーバーを肩代わり。
先に潰すリスク
サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。
数字・仕様の読み方
- クラウド
- OCI
- カテゴリ
- データベース
- 難易度
- intermediate
- 関連資格
- —
- 設計柱
- reliability / security / performance / cost
判断チェックリスト
- 自社の用途が「データベース / reliability」に近いか確認する。
- 強みである「MySQL と Oracle DB をマネージドで提供し運用を自動化。」が本当に評価軸になるか確認する。
- 注意点の「サービス単体ではなく、権限、ネットワーク、監視、課金、バックアップを含めて設計する必要がある。」を運用で吸収できるか確認する。
- 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
- 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
- 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。
他クラウドの同等サービス
役割が近いサービスです。設計の置き換えや比較検討の参考に。