このトピックでは、Logic Composer を使用して、Alibaba Cloud の QueryBill 操作を RDS インスタンスに呼び出すことで、Alibaba Cloud アカウントの請求書を定期的にエクスポートする方法について説明します。複数のアカウントの請求書をエクスポートできます。
アーキテクチャ
このアーキテクチャは、Logic Composer を使用して請求 API を呼び出し、請求データを取得し、Logic Composer が提供する MySQL コネクタを使用して RDS インスタンスにデータを書き込むことができることを示しています。 RDS データベースのデータに基づいて、請求書を分析および表示できます。 Logic Composer のトリガーを使用して、請求データを毎日自動的に RDS インスタンスにエクスポートできます。
次の図は、全体的なアーキテクチャを示しています。
準備
RDS インスタンスを作成します。詳細については、「ApsaraDB RDS for MySQL インスタンスを作成する」をご参照ください。
インスタンスが実行されている場合は、以下の情報を準備します。
RDS インスタンスのデータベースのパブリックエンドポイントとポート番号を取得します。詳細については、「ApsaraDB RDS for MySQL インスタンスの内部エンドポイント、パブリックエンドポイント、およびポート番号を表示および変更する」および「パブリックエンドポイントを申請または解放する」をご参照ください。
データベースを作成し、データベースにアカウントを作成し、パスワードを設定し、このアカウントに読み取りおよび書き込み 権限 を付与します。詳細については、「アカウントを作成する」をご参照ください。
Logic Composer がデータベースにアクセスできるように、データベースのホワイトリストを構成します。具体的なホワイトリスト情報は、チケットを送信して取得できます。詳細については、「ApsaraDB RDS for MySQL インスタンスの IP アドレスホワイトリストを構成する」をご参照ください。
ワークフローを作成する
Alibaba Cloud アカウントを使用して、Logic Composer コンソールにログオンします。左側のナビゲーションウィンドウで、[ワークフロー] をクリックします。
[ワークフローの作成] をクリックします。表示されるダイアログボックスで、[ワークフロー名] パラメーターと [リソースグループ] パラメーターを設定し、[OK] をクリックします。表示されるダイアログボックスで、[公式テンプレートのインポート] を選択します。
表示されるダイアログボックスで、[instancebill データを RDS に定期的にエクスポートする] を選択します。ワークフローが作成されます。
ワークフローを構成する
ワークフローが作成されると、[グラフィックビュー] タブが表示されます。データベースコネクタを構成し、請求 API を呼び出す 権限 を Logic Composer に付与する必要があります。 権限 を付与すると、Logic Composer は請求 API を呼び出し、RDS インスタンスにデータを書き込むことができます。 Logic Composer はインポートしたテンプレートを分析し、権限 を付与する必要があるすべての操作を一覧表示します。
データベースコネクタの行で、[作成] をクリックします。表示されるサイドバーに、RDS インスタンスのパブリックエンドポイント、ポート番号、データベース名、ユーザー名、およびパスワードを入力します。
Alibaba Cloud 請求 API 操作の行で、[承認] をクリックします。 [ロールの付与] サイドバーが表示されます。 AliyunBSSFullAccess
を選択します。
すべての承認操作が完了すると、承認リストの各項目が緑色に変わります。 [続行] をクリックして、[グラフィックビュー] ページに進みます。
パラメーターを構成する
キャンバスページで、実行変数を構成できます。たとえば、[設定][合計月数] ノードは、データがインポートされる月数を示します。必要に応じて設定を変更できます。別の例を見てみましょう。インポートしたテンプレートは、毎月 1 日にデータのインポートを開始します。トリガー設定を変更して、毎日 4:00 にデータのインポートを開始できます。キャンバスで [繰り返しタスク] ノードを展開し、関連する構成を変更するだけです。
ワークフローを実行する
パラメーターを構成したら、[保存] をクリックし、[実行] をクリックします。ワークフローが完了するまで待ちます。
データ量が多い場合、データのインポートに時間がかかります。これは主に、アカウントの請求データの量と、データベースへのデータの書き込み時間によって決まります。
ワークフローの実行結果をクエリする
[実行ログ] タブで、実行 レコード を表示できます。ステータスが [成功] の場合、インポートは完了です。
ステータスが [失敗] の場合は、[表示] ボタンをクリックして、データベースホワイトリストの構成が有効かどうか、API 呼び出しが失敗したかどうかなどの詳細を確認します。エラーが発生した場合は、パラメーターを調整してワークフローを再実行できます。テンプレートもそれに応じて処理され、データは繰り返しインポートされません。