Oracle Database@Google CloudでADBをプロビジョニングしてみた

## はじめに
Oracle Database@Google CloudのAutonomous Database (ADB)をプロビジョニング
していきたいと思います。
従量課金の形態であるPay as You Go (PAYG)の形態であれば、Oracle社の営業担当者にお問い合わせしてのプライベートオファーが必要なくADBを利用できます。
今回はパブリックオファーとして、Oracle社の営業に連絡しない方法でGoogle Cloud Marketplaceにて購入していきます。
Oracle Database@Google Cloudの基本情報に関しては、以前投稿した以下の記事をご覧ください。

https://qiita.com/yunagash/items/478e9a10f80ebcc45804

## 今回構成するアーキテクチャ
今回は、下記のようにOracle Database@Google CloudでADBを構築していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/7ff6bb17-2326-4998-be07-eed10a510add.png)

## 前提条件
Oracle Database@Google CloudでADBを作成していく前に、下記の内容について事前に用意しておく必要がございます。
* Google Cloudのアカウントの作成
* Google Cloudプロジェクトの作成
* Google Virtual Private Network(VPC)の作成

今回は、下記のような設定でプロビジョニングしていきます。
* Google Cloudプロジェクト名：Oracle Database test
* VPC名：default

## Oracle Database@Google CloudでのADB構築手順
### ①Oracle Database@Google Cloudの登録（初回のみ）
Google Cloudのコンソール上から、MarketplaceでOracle Database@Google Cloudの登録を行っていきます。
検索欄からだと、Marketplaceでの登録は、買い物カートのマークの「Oracle Database@Google Cloud」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/7c140b90-77ad-d709-8a02-1f777d45c48e.png)

Marketplaceに移動したら、登録ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/6495f17f-ff80-4264-1e16-d94b293b4e1b.png)

プランの選択で、「Oracle Database at Google Cloud pay-as-you-go」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/9df028cf-3b06-48e2-8c60-99395f72569a.png)

請求先アカウントを選択し、利用規約にチェックを入れたら登録ボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/4c3e9992-ed52-e53e-a10f-9ca2d66fc3a5.png)

そうすると、注文リクエストがOracleに送信されるので承認されるのを待ちます。
※筆者の場合は、1, 2分ほどですぐ承認が完了しましたが個人差があるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/9aabe035-92e8-0096-341e-2e687f3d0d03.png)

### ②Oracle Cloudアカウントの作成 (初回のみ)
検索欄でOracleと入力し、今度はデータベースのマークの「Oracle Database@Googel Cloud」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/1b9df4b7-fdca-8bd9-0cfd-2ff8165511c8.png)

ADBのプロビジョニングを開始するために、Marketplaceで出したオファーを「アカウントを作成」を選択し、接続するOracleアカウントを作成していきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/4721d4be-3b46-efed-bfeb-d19a4cec5d0f.png)

必要な情報を入力し、登録をしていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/17d17fc2-7f69-d2cb-28d0-1f7db45f7158.png)


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/f36b21be-cfee-51fa-aff0-08924b8d08ac.png)

:::note warn
**パスワード入力上の注意**
* パスワードは８文字以上４０文字未満で入力する必要があります。
* パスワードには、小文字１文字、大文字１文字、数字１文字、特殊文字１文字を含める必要があります。
* パスワードには、ユーザーの名前、姓、E-mailアドレス、スペース、`　~　>　\などの特殊文字を含めることはできません。
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/a6f7156c-a1d9-6e07-00c8-32d820358282.png)

:::note warn
**テナンシ名 (クラウドのアカウント名)**
* テナンシ名を作成するときは、個人情報や機密情報を含めないようにしてください。
後で変更できず、名前がログインURLに表示されます。
* クラウド アカウント名は小文字で始め、スペースや特殊文字などは含めず、２５文字以下である必要があります。
* コンソールにサインインすると、名前が会社または組織の環境に割り当てられます。
:::

この手順以降は使用できるリージョンを追加することはできますが、ホームリージョンを変更できないので注意が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/35aa8cf4-f41c-9308-d523-1d72baa97948.png)

サインアップが完了すると、クラウド・アカウントが作成されるまで待つことになります。
※筆者の場合は30分ほどで、「Get Started Now with Oracle Cloud」という以下のようなメールが届き、アカウントが作成されましたが、時間については個人差があるようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/1073c436-b1e8-3d13-7152-f083f173c689.png)

メールの中の「Sign in」を選択して、Oracle Cloudにログインをしていきます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/d6f2d4a2-a599-6b73-d6d6-bb22acd8fb34.png)

登録した「メールアドレス」と「パスワード」を入力し、「サイン・イン」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/b4ce9e29-e477-16d3-79c9-971117e06884.png)

Oracle Cloudは多要素認証が必須であるため、初回ログインの場合、このように「セキュアな検証の有効化」を設定する必要がございます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/18ebe846-1066-bfc1-5d28-fad1d7cffc76.png)

モバイル・アプリケーションの場合ですと、iPhone、Android、Windows (PC)のいずれかで、「Oracle Mobile Authenticator」をインストールして多要素認証を設定してください。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/eff10d84-1458-fcb4-7f79-3e6ad10d919c.png)

**↓ Oracle Mobile Authenticatorのアイコン**
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/7feb6e22-6352-b85b-330b-2e03e25d664f.png" width=15%>

多要素認証の設定が完了すると、このように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/ee3dd230-74d1-7e65-bdf0-c3b76f593fca.png)

無事OCIのコンソールにログイン出来たら、OCI側の準備は完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/83c6ec6a-5d90-5e6f-0d39-2b710609e4de.png)

### ③ADBの構築
Google Cloudのポータル画面に戻り、再度検索欄でOracleと入力し、データベースのマークの「Oracle Database@Google Cloud」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/4b7ccdf1-272e-aed8-d69e-51494f32f069.png)

「Autonomous Database」を選択し、作成を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/b11050c9-ed21-df82-7e19-e108c4e1017a.png)

「インスタンスの詳細」では以下の情報について入力します。
* **インスタンスID**：
IDは一度設定したら変更することができません。
英小文字 (a～z)、数字、ハイフンのみを利用して63文字以下で入力する必要があります。
先頭は英小文字に、末尾は英小文字または数字にする必要があります。
* **データベース名**：
名前に使用できるのは文字と数字のみで、先頭を英字で始める必要があります。最大30文字。
* **データベース表示名**：
ユーザー・フレンドリなデータベース表示名を入力します。
英数字、アンダースコア、ハイフンのみを使用し、255 文字以下で入力する必要があります。
先頭は英字またはアンダースコアにする必要があります。
ハイフンを連続して 2 つ使用することはできません。
* **リージョン**：
一度設定したら変更することができません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/0aac1900-082c-abb5-b315-ca4810931a20.png)

「ワークロードの構成」では4つの選択肢からシステムの用途に合うワークロード・タイプを選択します。
今回は「トランザクション処理」のワークロードを選択しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/e244508a-ce7b-e508-ff2c-db56ddfb26fd.png)

「データベースの構成」では、以下の情報について入力します。
* **ライセンスの種類**：2つの選択肢からライセンス・タイプを選択します。
・ライセンスを含む：Oracle Databaseのライセンスが利用料に込みのタイプ。
・お客様所有ライセンスの使用 (BYOL)：すでに保有しているライセンスをクラウドで利用するタイプ。
* **データベースのバージョンの選択**：2024年11月時点では19cと23aiのバージョンを選択可能です。
* **ECPU数**：最小2 ECPUから最大512 ECPUの値が入力可能です。
2024年11月時点では 1物理コア (OCPU) ≒ 4 ECPU (2 vCPU) 程度と考えられるそうです。
* **ストレージ (TB)**：最小0.02 TB (20 GB)から最大384 TBの値が入力可能です。
選択したワークロードによって、最小のストレージ容量は変化します。
「トランザクション処理」の場合は上記の記載の通りですが、「データウェアハウス」の場合は、最小が1 TBになります。
* **コンピューティングの自動スケーリングを有効にする**：
チェックを入れることで、需要の増加に応じて、指定されたECPU数の3倍まで拡張することをシステムに許可します。
* **ストレージ自動スケーリングを有効にする**：
チェックを入れることで、予約済ストレージの3倍まで自動で拡張可能です。

自動スケーリングの説明に関しては以下をご参照ください。
[Autonomous Database Serverless 技術詳細 | 自動スケーリング](https://speakerdeck.com/oracle4engineer/adb-s-technical-detail-jp?slide=16)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/57d55777-7285-e5ab-c170-ac3a3fb0a55c.png)

「バックアップの保持期間」では、バックアップ保持期間の希望する日数を入力します。
保持期間は、最小1日から最大60日までで設定することが可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/639346d7-5bd1-1acf-3c67-831fd603c0ab.png)

「管理者の認証情報」では、管理者ユーザーのパスワードを入力します。
ADBのデフォルトの管理者ユーザー名はADMINです。

:::note warn
**パスワード入力上の注意**
* パスワードは 12～30 文字で、英大文字、英小文字、数字をそれぞれ 1 文字以上含める必要があります。
* パスワードには、二重引用符（"）やユーザー名「admin」を含めることはできません。
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/ec377269-6961-9e2a-32ae-32034c854a5d.png)

「ネットワーキング」では、以下の情報を入力します。
* **関連付けられたネットワーク**：あらかじめ作成してあるVPCの関連付けられたネットワークを選択します。
* **サブネット範囲**：ADBのサブネット範囲をCIDR表記で入力します。
指定された範囲が、選択したVPCネットワーク内のサブネットと重複していないことを確認してください。
* **相互TLS (mTLS)認証を要求する**：チェックを入れた場合、ADBへの接続を認証するためにmTLSが必要になります。

:::note
**TLS接続に関して**
* JDK8以上のJDBCシン・ドライバを使用する場合、TLS接続を使用すると、ウォレットなしでADBに接続できます。
* TLS接続では、アクセス制御リスト(ACL)またはプライベート・エンドポイントを使用する必要があります。
* 相互TLS (mTLS)接続とTLS接続の詳細に関しては以下をご確認ください。
[Autonomous Database Serverless 技術詳細 | mTLS接続/TLS接続の選択](https://speakerdeck.com/oracle4engineer/adb-s-technical-detail-jp?slide=51)
:::
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/e585b5ad-efc9-fbda-ad95-985ffffe7c51.png)

「オペレーションに関する通知とお知らせの連絡先」では、メールアドレスを入力することで、オペレーションに関する通知が届くように設定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/9bd13daa-0e43-445f-4fc7-cd64157c0d29.png)

「詳細設定」に関しては、ADBの作成後に、OCIのコンソール上で設定を行うことが可能になっています。
「管理」では、以下の情報を入力します。
* **文字セット**：必要に応じて、適切な文字セットを選択します。AL32UTF8文字セットがデフォルトで推奨されています。
* **国別文字セット**：国別の文字セットを選択します。AL16UTF16がデフォルトで選択されています。

全ての項目の入力を終えたら、作成ボタンを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/0d9b0944-ade9-5119-1a8a-333bd9b2ecb1.png)

プロビジョニング中になるので、完了するまで数分待ちます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/ac81d8f7-9427-e2c4-c8d4-91445117738f.png)

無事利用可能になりました！！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3072173/8ac7b7f5-02a5-d0d0-6a13-0fc16e903af0.png)

## まとめ
今回は、Oracle Database@Google CloudのAutonomous Database (ADB)をプロビジョニングしていきました。
他にもOracleのマルチクラウドに関する記事を発信しているので、以下の関連記事も合わせてご参考ください。

## 関連記事
:::note info
**Oracle Database@Googleに関して**
* [Oracle Database@Google Cloudについてまとめてみた](https://qiita.com/yunagash/items/478e9a10f80ebcc45804)
* [Oracle Database@Google CloudでADBをプロビジョニングしてみた](https://qiita.com/yunagash/items/e44bde42f1bcebacceba)
* [Oracle Database@Google CloudでADBのDatabase Actionsに接続してみた](https://qiita.com/yunagash/items/c9443e866bbaa15d4ce8)
* [Oracle Database@Google CloudのADBでコンソール上でできる操作をまとめてみた](https://qiita.com/yunagash/items/5eb02f8482c5724582dd)
* [Oracle Database@Google CloudでCloud DNSの課金が発生する理由](https://qiita.com/yunagash/items/899b05803aae4103c042)
:::

:::note info
**Oracle Database@AWSに関して**
* [Oracle Database@AWSについてまとめてみた](https://qiita.com/yunagash/items/5f6565db017e20d20a34)
:::

:::note info
**Oracle Database@Azureに関して**
* [Oracle Database@Azureについてまとめてみた](https://qiita.com/yunagash/items/e603ef227928824921a3)
* [Oracle Database@AzureをPAYGで利用する手順](https://qiita.com/yunagash/items/1073a8a69cf4f0448960)
* [Oracle Database@AzureでADBをプロビジョニングしてみた](https://qiita.com/yunagash/items/4e17c84c8af4335f8465)
* [Oracle Database@AzureでADBのDatabase Actionsに接続してみた](https://qiita.com/yunagash/items/27001de1a602a59d9225)
* [Oracle Database@AzureのADBへData Pumpで移行してみた](https://qiita.com/yunagash/items/037d00df68d8f17fc144)
* [Oracle Database@Azureでのリージョン数のService Limit引き上げ方法](https://qiita.com/yunagash/items/60036ef2f585d8ab75bf)
* [Oracle Database@AzureでExaDB-XSをプロビジョニングしてみた](https://qiita.com/yunagash/items/cd848c4a9b585be561e6)
* [Oracle Database@AzureのExaDB-XSへData Pumpで移行してみた](https://qiita.com/yunagash/items/e8886945aa33e249132d)
:::

## 編集履歴
* 2024/11/30 記事公開