OCI Exascale検証#1 Exascaleの作成

# Exascaleリリース
新たなOCI Database Serviceとして、7/11にExadata Database Service on Exascale InfrastructureがGAされました！
OCI上では専有環境でしか利用できなかったExadataを、共有環境で小規模から使うことができます。

まだ勉強中なのですがひと通りExascaleを触ることができたので、そこで得た情報を何回かに分けてまとめたいと思います。

# Exascale作成前の準備
#### リージョンの選択
現在Exascaleが利用可能なのは、以下の4リージョンに限られています 。(2024年8月時点)
[San Jose, Ashburn, Frankfurt, and Johannesburg](https://docs.oracle.com/en-us/iaas/exadb-xs/doc/overview-exadb-xs-service.html)
Exascaleを検証するためのテナンシは利用可能リージョンにあるのが絶対条件です。

#### リソースの確認
作成する前にExascaleを使用できるのかをリソース割当から確認できます。
OCIコンソール上のメニューで、
``` 
ガバナンスと管理>制限、割当ておよび使用状況 
```
を確認しましょう。
サービスをDatabaseに指定して、リソースが割当てられているADを選択してExascaleのリソースがあるのかを確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/2e762985-fba5-5ee4-d735-8f4330ce452a.png)
この状態でスクロールすると
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/de3e96eb-e60c-1112-81c4-a62d2631c8f9.png)
Exascaleに関連する項目の割り当てを確認できます。
1番右の"使用可能"列を見ると、新たにExascaleを作成するためのリソースにアクセスすることができる状態になっています。
使用可能が0の項目が1つでもあると、作成時にエラーになってしまいます。

このようにExascaleを作成できる環境なのか事前に確認をしておくと、作成時にリソース不足でエラーになって手戻りが発生することを回避できます。


# Exascaleを作成する
リソースが十分にあることが確認できたので、実際に作成してみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/bba6ba08-5b95-0ccc-fca1-e5cb11469e4e.png)
**VMクラスタの作成**ボタンから作成に必要な情報を入力します。

:::note
作成に必要な項目は以下
* 基本情報の指定
* VMクラスタ構成
* Exascaleデータベース・ストレージ・ボールト
* グリッド・インフラストラクチャの構成
* ネットワーク設定 (Exascale作成前にVCNを用意しておく必要があります)
:::

作成画面の順番に沿って入力したいと思います。

### 基本情報の指定
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/00856f78-b310-29e3-e3eb-ce1f41a7976c.png)
コンパートメント・表示名は自動で入力されています。
表示名・クラスタ名の指定は、任意の値を入力しましょう。


### VMクラスタの構成
まず必要なVM数を入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/1f9cc9b0-9d37-1187-09c5-75c9c20ceaef.png)
VM数を入力して、CPU数とOS領域のストレージ容量を入力しましょう。
OS領域の最小値は280 GBです。
1VMあたりの値を入力して、合計値は設定したVM数に応じて自動で計算してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/24d93a87-a327-acb7-6a80-f810f6bcf96b.png)

#### ECPU数の入力方法
Exascaleには3種類のECPUがあり、以下のように定義されています。
有効ECPU数のみ最小値が決まっており、1VMあたり8 ECPU以上でなければいけません。
```
有効ECPU   = Oracle Databaseライセンスが必要になるECPU
予約済ECPU = 有効ECPUをオンラインでスケールアップするために確保しておくECPU
合計ECPU   = 有効ECPU + 予約済ECPU
```
これらの関係を図にして表すと以下のようになります。
濃い緑ブロックで表された有効ECPU数に対して、Oracle Databaseのライセンス分の課金が掛かります。
予約済ECPUを含めたすべてのECPUである合計ECPU数に対して、インフラストラクチャ料の課金が掛かります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/355328d1-50b5-e31f-46ef-eb64bd5ec37a.png)


メモリサイズは、ここで設定したVM全体の合計ECPU数と連動します。
```
メモリサイズ (GB) = 合計ECPU × 2.75 GB/ECPU
```
直前の図で示した値をもとに考えると、VM全体の合計ECPUは24 ECPUなので確保されるメモリサイズは
```
24 ECPU × 2.75 GB/ECPU = 66 GB
```
と計算できます。
**予約済ECPUを大量に確保すれば合計ECPU数が大きくなるので、インフラストラクチャ課金のみの少額で大規模なメモリサイズを確保することができます。**

ECPU数の入力方法にはいくつかのルールがあります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/f9c0cded-745a-1e05-d183-cd47b2b3f3e2.png)
作成時に入力するのは、1VMあたりの有効ECPUと合計ECPUのみです。
それぞれを入力するときは、8~200の範囲かつ4の倍数を満たすように入力する必要があります。
予約済ECPUは、合計ECPU数と有効ECPUの差にあたるので自動で設定されます。
メモリも入力した合計ECPUに応じて自動で設定されます。

1VMあたりの値を左側に入力し、右側にクラスタでの合計値が表示されます。
合計値は先に設定したVM数分が掛けられた値です。
課金を考える際に必要なのは、このVMクラスタ全体の合計値です。

### Exascaleデータベース・ストレージ・ボールト
続いてDatabaseのストレージ容量を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/8dafa227-297d-4119-7395-2151d1492298.png)
新規で作成する場合は、ボールト名を設定します。
すでにExascaleを作成していてボールトがあり、そのボールトを使用する場合は既存から該当のボールトを指定してください。

#### データベースのストレージ容量の目安
300-100,000 GBの範囲で入力することができます。
検証してわかったのですが、最小の300 GBでは限られた構成しか作成できません。
* VMクラスタ数は2
* 1VMに1データベースホームを作成
* データベースホームに1CDB, 1PDB作成

このような構成で作成した時、使用中のデータベースストレージは**281 GB**でした。
新規でCDBを作成するのに**88 GB**必要だということを考えると複数Database必要な構成では300 GBのストレージはすぐに足りなくなることが予想されます。
作成後に拡張できますが、作成したい構成を踏まえて適切な容量を設定することをお勧めします。

#### スマート・フラッシュ・キャッシュ
入力したデータベースストレージ容量に対して確保するキャッシュの量を、データベースストレージ容量に対する割合で入力します。
データベース内のデータでアクティブなデータの割合を入力することを推奨します。


### グリッド・インフラストラクチャの構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/04ebfc12-428f-894d-7c9e-196de9a51646.png)
Exascaleは23ai以上のGIリリースでしかサポートされていないので、現時点での選択肢はGIのバージョンしかありませんが、適切なものを選択してください。

### SSHキーの追加
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/25421796-d0f1-35b5-7b5d-242aa99fdbda.png)
ここでは鍵の設定をします。
キーがない場合は、ここからキーをペアでそれぞれダウンロードしてください。
手元にSSHキーを持っている場合は、公開鍵をアップロードしても使えます。

### ネットワーク設定の構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/dcaa0736-4fd1-1231-f67a-d9b984afb17f.png)
Exascaleを作成するVCNを設定します。
任意の値をホスト名として入力してください。

### ライセンスタイプ / 診断収集
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/5ac2b777-b974-d641-9ea9-b1e3888254c5.png)
最後にExascaleを使用する際のライセンスタイプの入力と、診断収集についての選択項目を入力します。


### 入力完了→作成
これで必要な項目の入力が完了したので、**VMクラスタの作成**ボタンからExascaleを作成しましょう！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788244/5b93c4e2-8774-d47d-3bcc-13ea156d8cd0.png)
プロビジョニング完了までかなり時間が掛かります。
わたしが作成した時では、だいたい2時間くらいでプロビジョニングが完了しました。

#
今回はここまで。
次回は作成後の内容を書きたいと思います。