TL

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.2VM.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 HeatWaveOCI Base DatabaseAWS Amazon RDS
位置づけマネージド MySQL(分析統合)マネージド Oracle Databaseマネージド RDB(複数エンジン)
対応エンジンMySQLOracle DatabaseMySQL/PostgreSQL/MariaDB/Oracle/SQL Server/Aurora
可用性(HA)Group Replication(3ノード)Data GuardMulti-AZ
読み取りスケールリードレプリカActive Data Guard / レプリカリードレプリカ
分析の高速化HeatWave(インメモリ列指向)Exadata/In-Memory(別途 Redshift 等)
鍵管理OCI VaultOCI VaultAWS 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、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

データベースreliabilitysecurityperformancecost

他クラウドの同等サービス

役割が近いサービスです。設計の置き換えや比較検討の参考に。