ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructure資格証明、テナンシおよびコンパートメントの値の例を使用します。演習を完了する場合は、これらの値をクラウド環境に固有の値に置き換えてください。
Oracle Cloud Infrastructure Cloud Native Servicesを使用したデータベース自動スケーリングの設定
イントロダクション
自動スケーリングの設定は、アプリケーションをクラウドでホストするすべてのチームの要件の一部で、なっています。
Oracle Autonomous Data Warehouse (ADW)やOracle Autonomous Transaction Processing (ATP)などのデータベース・インスタンスの場合、Oracle Cloud Infrastructure (OCI)クラウド・ネイティブ・サービスを使用して自動スケーリングを設定できます。
目的
-
CPU以外のメトリックに基づいて自動スケーリングを設定します。
-
OCI上のクラウド・ネイティブ管理対象サービスを使用して構成します。
前提条件
-
動的グループ、IAMポリシー、ファンクションの作成、ADW/ATP CPU数の更新および通知サービスの作成には、Oracle Cloud Infrastructure Identity and Access Management (OCI IAM)で必要なアクセス権限が必要です。
-
OCIDsおよびその他の関連情報を表示するために必要なすべてのコンポーネントにアクセスします。
-
ファンクションを作成、デプロイおよび起動できるようにOCI Cloud Shellにアクセスします。
タスク1: 必要なIAMポリシーおよび動的グループの設定
-
このリンクを使用して、OCIコンソールにログインします。
-
ログインしたら、IAM動的グループに移動し、次のように新しい動的グループを作成します:

-
次のようにコンパートメントOCIDをルールに指定します。データベース・インスタンスがこのコンパートメントに存在する必要があります:

-
IAMポリシーに移動し、次のステートメントを使用してIAMポリシーを作成します:
allow dynamic-group dynamic_group_name to manage autonomous-database-family in compartment compartment_name
タスク2: ファンクション・コードの作成およびデプロイ
-
関数/アプリケーションに移動し、関数を作成します。このファンクションは、IAM動的グループおよびポリシーを使用してADWにアクセスし、ファンクションがトリガーされたときに必要なスケーリング(起動と停止の両方)を実行します。画面のステップに従って機能を作成します。Pythonを使用して必要なロジックをコーディングしましたが、独自の言語を使用し、必要に応じてロジックを変更できます。コードを記述するには、OCI Cloud Shellでファンクション
requirement.txtファイルおよびfunc.pyファイルを開き、コードを記述します。
-
このrepoから完全なファンクション・コードを取得します。OCIリソース・プリンシパルも使用されるため、OCI資格証明をここで保持することを心配する必要はありません。
-
コードの作成が終了したら、レジストリのファンクションを更新し、クラウド・シェルで次のコマンドを使用して最新のコードをデプロイします:
fn -v deploy — app e2e-function-demo -
デプロイすると、ファンクションを起動する準備が整います。ファンクション呼出しコマンドを使用してテストし、ファンクションが必要に応じて動作していることを確認したら、次のセクションに移動できます。
DEBUG=1 fn invoke e2e-function-demo e2e-fn-streaming
注:
OCIは、リソース/インスタンス・プリンシパルをサポートしているため、ファンクションの実行中にユーザー関連情報が提供されることはありません。そのため、このステップは、関数がAPIをコールするための正しい権限セットを持っていることを確認するために必要であり、どの関数が正しく機能しないかは失敗します。
オプション: トラブルシューティングのためにデバッグ・モードを確認することもできます。たとえば、このコマンドをクラウド・シェルから実行し、ファンクションが期待どおりに動作している場合は起動してテストします:
DEBUG=1 fn invoke e2e-function-demo e2e-fn-streaming.`
タスク3: 通知の設定とアラームの構成
-
作成した関数をトリガーするトピックを作成します。「通知」、「トピック」に移動してトピックを作成します。

-
次に、作成したトピックでサブスクリプションを作成し、作成済の機能をポイントします。

これで、トピックも構成されました。
-
アラームを設定し、トリガー条件を指定して、前述のトピックをトリガー宛先として追加する必要があります。この場合、目的のデータベース・インスタンスに移動し、アラームを作成するメトリックまで下にスクロールして、オプションをクリックし、「この問合せにアラームを作成」オプションをクリックします。

-
名前や説明などの詳細を入力し、重大度を選択します

-
メトリックの説明を設定し、メトリック・ネームスペース、名前、間隔および統計の値を指定します。

-
メトリック・ディメンションおよびトリガー・ルールの詳細を指定します。このドキュメントのメトリック問合せの作成の説明に従って、拡張問合せを使用してトリガー・ルールを設定することもできます。

-
条件が一致したときに関数をトリガーする、作成されたトピックの詳細を指定します。

-
-
アラームを保存します。これにより、アラームがトリガーされ、条件が一致するとファンクションが起動します。
関連リンク
謝辞
- Lovelesh Saxena(クラウド・エンジニアリング・アーキテクト)
その他の学習リソース
docs.oracle.com/learnで他のラボをご覧いただくか、Oracle Learning YouTubeチャネルでより無料のラーニング・コンテンツにアクセスしてください。また、education.oracle.com/learning-explorerにアクセスして、Oracle Learning Explorerになります。
製品ドキュメントについては、Oracle Help Centerを参照してください。
Set Up Database autoscaling using Oracle Cloud Infrastructure Cloud Native Services
F84886-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.