スマートスタイル TECH BLOG

データベース&クラウド技術情報

Terraformで作るMySQLCSインスタンス

はじめに

今回はOracle MySQL Cloud Service(以下MySQLCS)のインスタンス作成第3弾としてTerraformを使用します。

検証でMySQLCSの起動する都度ダッシュボードから作成するのが手間を感じており、またコード管理出来る点でも、メリットは多く最近はよく利用しています。

なおMySQLCSインスタンス作成について、過去2回の記事は下記からご覧ください。
GUI編 https://blog.s-style.co.jp/2018/04/1724/
CLI(PSM)編 https://blog.s-style.co.jp/2018/06/1915/

TerraformでOracle Cloudを利用する公式ドキュメントはこちら
上記サイトをみるとOracle Cloudのプロバイダーとして下記の2つがあります。

  • 【Oracle Cloud Platform】: 対象がPaaS。MySQLCSを作成する場合はこちらを利用
  • 【Oracle Public Cloud】: 対象がIaaS。現状Oracle Cloud Infrastructure Classic(OCI-C)が主で次世代のOracle Cloud Infrastructure(OCI)はまだ使用出来ないようです。

それぞれの違いとして対象リソースがPaaS,IaaSとなっているイメージでしょうか

環境

今回使用した環境は下記になります。

tfファイル

作成したtfファイルです。
変数に関しては別途terraform.tfvarsファイルを用意し、そちらで代入しています。

mysqlcs.tf

ポイントとしてバックアップ用のストレージ・コンテナを事前に用意していなくても、【create_if_missing】をtrueにすることで、インスタンス作成と合わせて作成することができます。
ただterraform destroyで環境を削除したときに、ここで作成したストレージ・コンテナは削除されないので注意が必要です。

補足:ダッシュボードでもOCI-Cでは、インスタンス作成時にストレージを作ることが可能です。
OCIではまだ非対応のようです。
OCI-C画面

OCI画面

build

terraform applyを使用し上記ファイルからインスタンスを作成します。

本検証では16分弱でインスタンスが起動しました。
ダッシュボードからも確認

まとめ

Terraformを使用する利点として、ストレージやネットワーク含めシステム環境をまとめて作成できるという点があると思います。しかし本記事作成時には、まだOCIのNW周りは対象外となっており、その辺りは今後のアップデートに期待したいところです。
ただMySQLCSはOCIでも利用できますので、テストや検証でインスタンスが必要となる場合は利用すると便利だと思います。


Oracle Cloud

 

Return Top