2.8. 最終的なデータを収集するクラウド機能の追加作成
AWS は、前月の最終レポートを翌月の初めに送信します。これらの最終レポートを Cost management に送信し、追加情報を分析します。
手順
Lambda 関数の Athena クエリーを作成します。
- Athena を照会するための関数を作成します。
- Author from scratch を選択します。
- Python ランタイムを選択します。
- x86_64 アーキテクチャーを選択します。
- 権限には、以前に作成したロールを選択します。
- をクリックします。
Code タブをクリックして、最終データを収集するスクリプトを追加します。
-
Athena query function をコピーし、クエリーに追加します。
<integration_uuid>を、console.redhat.com で作成したインテグレーションのintegration_uuidに更新します。これは、Integrations ページ に移動してインテグレーションをクリックすると見つかります。作成したバケット名およびデータベースでBUCKETおよびDATABASE変数を更新します。次に、export_nameは、前に作成したデータエクスポート Athena クエリーの名前に更新します。 次のコードからコメントを削除します。
# last_month = now.replace(day=1) - timedelta(days=1) # year = last_month.strftime("%Y") # month = last_month.strftime("%m") # day = last_month.strftime("%d") # file_name = 'finalized-data.json'- をクリックします。次に、 をクリックして実行結果を表示します。
-
Athena query function をコピーし、クエリーに追加します。
レポートファイルを cost management に投稿する Lambda 関数を作成します。
- Author from scratch を選択します。
- 関数に名前を付けます。
- Python ランタイムを選択します。
- x86_64 アーキテクチャーを選択します。
- 権限には、以前に作成したロールを選択します。
- をクリックします。
Code タブをクリックして、確定したデータを投稿するスクリプトを追加します。
-
post function をコピーし、クエリーに追加します。
secret_nameは、AWS Secrets Manager のシークレットの名前に更新します。bucketは、作成したバケット名に更新します。 次のコードからコメントを削除します。
# file_name = 'finalized_data.json'- をクリックします。次に、 をクリックして実行結果を表示します。
-
post function をコピーし、クエリーに追加します。
2 つの関数をトリガーする EventBridge スケジュールを作成します。詳細は、「イベントブリッジスケジュールの作成」 を参照してください。
-
以前の期間の AWS 請求書はその日までに確定するため、EventBridge スケジュールを毎月 15 日以降に 1 回実行するように設定します。例:
(0 9 15 * ? *)および(0 21 15 * ? *)
-
以前の期間の AWS 請求書はその日までに確定するため、EventBridge スケジュールを毎月 15 日以降に 1 回実行するように設定します。例:
この手順を完了したら、cost management は、AWS アカウントおよびリンクされた AWS アカウントからコストおよび使用状況データの収集を開始します。
cost management ダッシュボードに表示されるまでに、データの入力に数日かかる場合があります。