- Oracle Cloud
- Oracle Database
OCIでGPUインスタンスを構築してみた
OCIで提供されている生成AIサービスとGPUインスタンスを前回の記事「生成AIにGPUが適している理由」で紹介しました。本記事では、GPUインスタンスをデプロイして、インスタンス上でLLM(大規模言語モデル)の動作環境を構築する方法をご紹介します。
|
Oracle Cloud Infrastructure(以降、OCI)で提供されているDBシステム(以降、DBCS)を使用する場合、OS以上(OS、ミドルウェア、アプリケーション)のレイヤーはお客様の管理範囲となります。特にデータベースの管理項目として欠かせないのがパフォーマンス監視ではないでしょうか。
ComputeサービスではCPUやメモリなどのリソース使用率をメトリックとして監視できますが、DBCSはメトリックの監視ができず、別の管理サービスと連携させる必要がありました。
しかしながら、DBCSのメトリック監視機能「OCI Database Management」がリリースされ、数ステップの設定で、CPU使用率やIOPSおよびIOスループットと言ったストレージのパフォーマンスを始めとした監視が利用可能になりました。今回は一連の設定方法と注意点をご紹介します。
必要なステップは以下のとおりです。
1.データベースの監視および管理に必要な権限をデータベースユーザ(DBSNMPなど)に付与する
2.データベースユーザのパスワードをVaultサービスにシークレットとして保存する
3.必要なポリシーを設定する
4.データベース管理のプライベート・エンドポイントを作成する
5.DBCSのメトリックを有効化する
数が多いですが、それぞれのステップを見てみましょう。
本稿では、DBSNMPユーザに権限を付与します。
1.ホストOSにopcユーザでログイン後、oracleユーザにスイッチします。
(opc) $ sudo su - oracle
2.SYSDBA権限でデータベースに接続します。
(oracle) $ sqlplus / as sysdba
3.DBSNMPユーザをアンロックし、権限を付与します。
SQL> alter user DBSNMP identified by <パスワード(*1)> account unlock;
User altered.
SQL> select USERNAME,ACCOUNT_STATUS from dba_users where USERNAME='DBSNMP';
USERNAME ACCOUNT_STATUS
------------------ --------------------------------
DBSNMP OPEN ★オープンされていることを確認
SQL> grant create procedure to DBSNMP;
Grant succeeded.
SQL> grant select any dictionary, select_catalog_role to DBSNMP;
Grant succeeded.
SQL> grant alter system to DBSNMP;
Grant succeeded.
SQL> grant advisor to DBSNMP;
Grant succeeded.
SQL> grant execute on dbms_workload_repository to DBSNMP;
Grant succeeded.
(*1)パスワードの長さは14文字から127文字であり、少なくとも1つの小文字、1つの大文字、
1つの数字、および1つの特殊文字を含める必要があります。
付与する権限は以下のとおりです。
grant create procedure to DBSNMP;
grant select any dictionary, select_catalog_role to DBSNMP;
grant alter system to DBSNMP;
grant advisor to DBSNMP;
grant execute on dbms_workload_repository to DBSNMP;
Vaultサービス(OCI Vault)は、暗号化キーの一元管理を提供するサービスで、OCIに保持されているデータを保護する機能を有しています。
DBSNMPユーザに設定したパスワードをOCI Vaultに保存します。
1.OCIコンソールメニューから[アイデンティティとセキュリティ >> ボールト]をクリックします。
|
2.「ボールトの作成」をクリックします。
|
3.作成先のコンパートメントを選択して名前を入力後「ボールトの作成」をクリックします。
|
4.作成したVaultの詳細画面から「キーの作成」をクリックして暗号化キーを作成します。
|
5.Vaultの詳細画面の左側の「シークレット」をクリックします。
その後、設定値を入力し「シークレットの作成」をクリックしてシークレットを作成します。
※「シークレット・コンテンツ」にDBSNMPユーザのパスワードを入力後、「Base64変換の表示」を”ON”にすると、入力したパスワードが変換して表示されます。
|
データベース管理の有効化および使用に必要な権限を提供するポリシーを作成します。
1.OCIコンソールメニューから[アイデンティティとセキュリティ >> ポリシー]をクリックします。
|
2.「ポリシーの作成」をクリックしてルートコンパートメント上にポリシーを作成します。
|
3.必要なポリシーを設定して「作成」をクリックします。
|
今回は以下のポリシーを設定しました。
Allow group <作成したグループ名> to manage dbmgmt-family in tenancy
Allow group <作成したグループ名> to use database-family in tenancy
Allow group <作成したグループ名> to manage virtual-network-family in tenancy
Allow group <作成したグループ名> to manage secret-family in tenancy
Allow group <作成したグループ名> to read metrics in compartment <コンパートメント名>
Allow service dpd to read secret-family in compartment <コンパートメント名> where target.vault.id = '<作成したVaultのOCID>'
Allow group <作成したグループ名> to manage alarms in compartment <コンパートメント名>
Allow group <作成したグループ名> to manage ons-topics in compartment <コンパートメント名>
OCI Database Managementがデータベースに接続するために、プライベート・エンドポイントを作成する必要があります。
1.OCIコンソールメニューから[監視および管理 >> 管理(データベース管理)]をクリックします。
|
2.データベース管理画面の左側の「プライベート・エンドポイント」をクリックして「プライベート・エンドポイントの作成」をクリックします。その後、設定値を入力し「プライベート・エンドポイントの作成」をクリックしてプライベート・エンドポイントを作成します。
|
最後にOCI Database Managementのメトリックを有効化します。
1.データベース管理画面の左側の「管理対象データベース」をクリックして「データベース管理の有効化」をクリックします。
その後、設定値を入力し「データベース管理の有効化」をクリックします。
こちらで、項番2.および4.で作成したOCI Vaultのシークレットとプライベート・エンドポイントを指定します。
|
|
※完全管理および基本管理については、後述の「利用にあたっての補足」でご説明します。
2.OCIコンソールメニューから[Oracle Database >> ベア・メタル、VMおよびExadata]をクリックして管理対象のデータベースの詳細画面を開きます。
画面下部の「メトリック」にグラフが表示されていれば有効化完了です。
|
|
または、OCIコンソールメニューから[Observability & Management >> メトリック・エクスプローラ]をクリックして、問合せの「メトリック・ネームスペース」から”oracle_oci_database”を選択し、「メトリック名」からグラフで確認した項目以外の情報を確認することも可能です。
|
OCI Database Managementの利用にあたり、いくつかご留意いただきたい点がありますので、併せてご紹介します。
DBCSは、OS(Oracle Linux)込みでOracle Database環境が使用できるサービスですが、2021年10月時点でOCI Database Managementの管理対象は「CDBのみ」となっています。
そのため、OS全体またはPDB単位のリソース監視はできません。
OCI Database Managementの有効化画面で管理オプション「完全管理」と「基本管理」が選択できますが、それぞれ以下の違いがあります。
・完全管理
-OCI Database Managementが提供する、すべての機能が利用できます。
-追加費用が発生します。
-管理対象のOracle DatabaseのエディションはEnterpriseEditionおよびStandard Editionの両方で利用できますが、Standard Editionの場合は一部の機能(Performance Hub)が含まれません。
・基本管理
-CPU使用率などの基本的なメトリックが監視可能です。
-追加費用は発生しません。
OCI Database Managementの有効化に伴い、OCI Vaultやプライベート・エンドポイントを設定しましたが、これらの費用についても触れておきましょう。
・OCI Vault
-暗号化キーの数で費用が請求されますが、20キーまでは「無料」です。
・プライベート・エンドポイント
-OCI内部の通信で使用されるため、費用は発生しません。
最後に、実際の運用を想定した設定例を1つご紹介します。
上述の設定では、OCIコンソールにサインインして都度画面を確認する必要がありますが、異常を検知した場合には、できるだけ早く状況を確認する必要があります。
その場合、アラーム機能を利用して問題を検知したらメールを送信する設定を行うと便利です。
1.アラームを設定したいチャートのオプションから「この問合せにアラームを作成」をクリックします。今回はCPU使用率を選択します。
|
2.必要な項目を入力して「アラームの保存」をクリックします。
|
※併せてメール送信の設定も行う必要がありますが、次の記事に設定方法を纏めていますので、よろしければご参考ください。
デフォルト機能と侮るなかれ。OCIのモニタリング機能を活用しよう!
https://www.ashisuto.co.jp/db_blog/article/N0017_OracleCloud_20200519.html
3.アラームが作成できたことを確認します。
|
4.アラームのルールに抵触した場合、以下のようなメールが届きます。
|
今回は、OCI Database Managementの設定方法、利用にあたっての補足、もう一歩踏み込んだ設定例をご紹介しました。
まだまだ発展途上の機能という印象ですが、DBCSを長らくご利用されていたお客様には待ち望んだ機能であり、これからDBCSをご利用いただくお客様には環境作成と併せて設定をご検討いただきたい機能です。
ご利用の際には、以下マニュアルとあわせて、本記事をご参考いただければ幸いです。
データベース管理のスタート・ガイド
https://docs.oracle.com/ja-jp/iaas/database-management/doc/get-started-database-management.html
■本記事の内容について
本記事に示した定義及び条件は変更される場合があります。あらかじめご了承ください。
■商標に関して
・Oracle®、Java、MySQL及びNetSuiteは、Oracle、その子会社及び関連会社の米国及びその他の国における登録商標です。
・Amazon Web Services、AWS、Powered by AWS ロゴ、[およびかかる資料で使用されるその他の AWS 商標] は、Amazon.com, Inc. またはその関連会社の商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。
OCIで提供されている生成AIサービスとGPUインスタンスを前回の記事「生成AIにGPUが適している理由」で紹介しました。本記事では、GPUインスタンスをデプロイして、インスタンス上でLLM(大規模言語モデル)の動作環境を構築する方法をご紹介します。
前回の記事でお伝えしたとおり、OCVSを構築するとVMwareの複数の機能が利用可能です。 それらの機能の中で、今回はHCXの概要や具体的な機能、OCVSでHCXを利用するメリットなどをお伝えします!
2024年5月にOracle Cloud環境にて、先行してOracle DB 23aiがリリースされました。 Oracle Base Database ServiceにおけるOracle Database 23aiの検証結果を報告します。 今回は「統合メモリー管理」をテーマにお伝えします。