チュートリアル:データをエクスポートし、管理する
コスト分析のチュートリアルをお読みになっていれば、コスト管理データを手動でダウンロードできます。 その一方で、コスト管理データを Azure Storage に対して毎日、毎週、または毎月、自動的にエクスポートする定期タスクを作成することができます。 エクスポートしたデータは CSV 形式になり、Cost Management で収集したすべての情報がそれに含まれます。 エクスポート後は、Azure Storage に格納されたそのデータを外部システムで利用したり、独自のデータと組み合わせたりできます。 また、エクスポートしたデータを、ダッシュボードやその他の金融システムのような外部システムで利用できます。
Azure のコスト データを Azure Storage にエクスポートするスケジュールの作成については、Cost Management でストレージへのエクスポートをスケジュールする方法に関するビデオをご覧ください。 他の動画を視聴するには、Cost Management の YouTube チャンネルにアクセスしてください。
このチュートリアルの例では、段階的にコスト管理データをエクスポートし、データが正常にエクスポートされたことを確認します。
このチュートリアルでは、以下の内容を学習します。
- 毎日のエクスポートを作成する
- データが収集されたことを確認する
前提条件
データのエクスポートは、Enterprise Agreement (EA) や Microsoft 顧客契約のお客様など、さまざまな Azure アカウントの種類で使用できます。 サポートされているアカウントの種類の完全な一覧については、「Understand Cost Management data (Cost Management データの概要)」を参照してください。 ユーザーおよびグループによるデータのエクスポートについては、サブスクリプションに従い、次の Azure のアクセス許可、またはスコープがサポートされています。 スコープの詳細については、「Understand and work with scopes (スコープを理解して使用する)」を参照してください。
- 所有者 - サブスクリプションのスケジュールされたエクスポートを作成、変更、または削除できます。
- 共同作成者 - スケジュールされたエクスポートを作成、変更、または削除できます。 他のユーザーが作成したスケジュールされたエクスポートの名前を変更できます。
- 閲覧者 - アクセス許可を持っているエクスポートをスケジュールできます。
- Enterprise Agreement および Microsoft 顧客契約のスコープのエクスポートを構成するために必要なアクセス権など、スコープの詳細については、「スコープを理解して使用する」を参照してください。
Azure Storage アカウントの場合:
- エクスポートに関するアクセス許可に関係なく、構成されているストレージ アカウントを変更するには書き込みアクセス許可が必要です。
- BLOB またはファイル ストレージに対して Azure ストレージ アカウントを構成する必要があります。
- オブジェクト レプリケーション規則で同期先として構成されているストレージ コンテナーへのエクスポートは構成しないでください。
- ファイアウォールが構成されているストレージ アカウントにエクスポートするには、ストレージ アカウントに関する他の特権が必要です。 その他の特権は、エクスポートの作成または変更中にのみ必要です。 これらは次のとおりです。
- ストレージ アカウントに対する所有者ロール。 または
Microsoft.Authorization/roleAssignments/write
およびMicrosoft.Authorization/permissions/read
アクセス許可を持つ任意のカスタム ロール。 さらに、ファイアウォールを構成するときに、ストレージ アカウントに対する「信頼された Azure サービス アクセスを許可する」を有効にしてください。 Exports REST API を使用して、ファイアウォールの背後にあるストレージ アカウントへのエクスポートを生成する場合は、API バージョン 2023-08-01 以降のバージョンを使用します。 すべての新しい API バージョンでは、引き続きファイアウォールの背後でのエクスポートがサポートされます。
- ストレージ アカウントの構成ては、コピー操作の許可スコープ (プレビュー) オプションが [任意のストレージ アカウントから] に設定されている必要があります。
新しいサブスクリプションをご利用の場合、すぐには Cost Management 機能を使用できません。 すべての Cost Management 機能を使用できるようになるまでに、最大 48 時間かかる場合があります。
Azure へのサインイン
Azure Portal ( https://portal.azure.com ) にサインインします。
毎日のエクスポートを作成する
データ エクスポートを作成または表示する場合、またはエクスポートをスケジュールする場合は、Azure portal でスコープを選択し、メニューで [コスト分析] を選択します。 たとえば、 [サブスクリプション] に移動し、一覧からサブスクリプションを選択して、メニューから [コスト分析] を選択します。 [コスト分析] ページの上部で、[サブスクリプションを構成する]、[エクスポート] の順に選択します。
Note
- サブスクリプション以外にも、リソース グループ、管理グループ、部門、および登録に対してエクスポートを作成できます。 スコープの詳細については、「Understand and work with scopes (スコープを理解して使用する)」を参照してください。
- 課金アカウント スコープまたは顧客のテナントでパートナーとしてサインインしている場合は、パートナーのストレージ アカウントにリンクされている Azure Storage アカウントにデータをエクスポートすることができます。 ただし、CSP テナントにアクティブなサブスクリプションが必要です。
- [作成]
- [エクスポートの詳細] で、次のいずれかを選択します。
- エクスポートの名前を入力します
- [月度累計コストの日単位のエクスポート] - 月度累計コストに関する新しいエクスポート ファイルが毎日提供されます。 最新のデータは、以前の毎日のエクスポートから集計されます。
- [過去 7 日間のコストの週単位のエクスポート] - 選択したエクスポートの開始日からさかのぼって 7 日間のコストに関するエクスポートが週単位で作成されます。
- [先月のコストに関する月単位のエクスポート] - エクスポートを作成している月の前月のコストに関するエクスポートが提供されます。 それ以降は、スケジュールによって、毎月 5 日に前月分のコストを使用してエクスポートが実行されます。
- [ワンタイム エクスポート] - 履歴データの日付範囲を選択して、Azure Blob Storage にエクスポートすることができます。 選択した日付から最大 90 日間の履歴コストをエクスポートできます。 このエクスポートはすぐに実行され、2 時間以内にストレージ アカウント内で利用できます。 エクスポートの種類に応じて、開始日を選択するか、 [開始日] と [To](終了日) の日付を選択します。
- Azure ストレージ アカウントのサブスクリプションを指定し、お使いのリソース グループを選択するか、新しいリソース グループを作成します。
- ストレージ アカウント名を選択するか、新しいアカウントを作成します。
- 場所 (Azure リージョン) を選択します。
- エクスポート ファイルの保存先となるストレージ コンテナーとディレクトリ パスを指定します。
- エクスポートの詳細を確認して [作成] を選択します。
新しいエクスポートがエクスポートの一覧に表示されます。 既定では、新しいエクスポートが有効になっています。 日程を組んだエクスポートを無効にするか、削除する場合、一覧にあるエクスポートを選択し、[無効化] または [削除] を選択します。
最初は、エクスポートが実行されるまで 12 時間から 24 時間かかることがあります。 ただし、エクスポートされたファイルにデータが表示されるまでに、さらに時間がかかる場合もあります。
ファイアウォールを使用してストレージ アカウントのエクスポートを構成する
セキュリティとコンプライアンス要件のためにファイアウォールの内側にあるストレージ アカウントにエクスポートする必要がある場合は、すべての前提条件を満たしていることを確認してください。
Note
既存のスケジュールされたエクスポートがあり、ストレージ ネットワーク構成を変更する場合、変更を反映するためにエクスポートを更新して保存する必要があります。
ストレージ アカウントで [信頼された Azure サービスにアクセスを許可する] を有効にします。 ストレージ アカウントのファイアウォールを構成するときに、[ネットワーク] ページからこれを有効にすることができます。 ページを示すスクリーンショットをこちらに示します。
この設定を有効にしなかった場合は、新しいエクスポートを作成するときに [エクスポート] ページから簡単に行うことができます。
システム割り当てマネージド ID は、新しいジョブ エクスポートの作成時または変更時に作成されます。 Cost Management は特権を使用して StorageBlobDataContributor ロールをマネージド ID に割り当てるため、アクセス許可が必要です。 アクセス許可は、ストレージ アカウント コンテナースコープに制限されます。 エクスポート ジョブが作成または更新された後、ユーザーには通常のランタイム操作に対する所有者アクセス許可が必要ありません。
注意
- ユーザーが送信先の詳細を更新するか、エクスポートを削除すると、マネージド ID に割り当てられた StorageBlobDataContributor ロールが自動的に削除されます。 システムでロールの割り当てを削除できるようにするには、ユーザーに
microsoft.Authorization/roleAssignments/delete
アクセス許可が必要です。 アクセス許可を利用できない場合、ユーザーはマネージド ID のロールの割り当てを手動で削除する必要があります。 - 現在、ファイアウォールは同じテナント内のストレージ アカウントでサポートされています。 ただし、ストレージ アカウント上のファイアウォールは、テナント間エクスポートではサポートされていません。
信頼されたサービスの一覧にエクスポートを追加します。 詳細については、「マネージド ID に基づく信頼されたアクセス」を参照してください。
エクスポートのスケジュール
スケジュールされたエクスポートは、エクスポートを最初に作成したときの時刻と曜日の影響を受けます。 スケジュールされたエクスポートを作成すると、それ以降、毎回同じ頻度でエクスポートが実行されます。 たとえば、1 日 1 回の頻度に設定されている "月度累計コストの日単位のエクスポート" の場合、エクスポートは毎日 (UTC 時間) 1 回実行されます。 同様に、週単位のエクスポートでは、スケジュールに従って毎週同じ曜日 (UTC 時間) にエクスポートが実行されます。 個々のエクスポート実行は、1 日のうちで異なる時間に実行される可能性があります。 そのため、エクスポート実行の正確な時刻に固執しないようにしてください。 実行のタイミングは、当該の UTC 日に Azure に存在するアクティブな負荷によって異なります。 エクスポートの実行が開始されると、データは 4 時間以内に使用できるようになります。
エクスポートは協定世界時 (UTC) を使用してスケジュールされます。 Exports API は常に UTC を使用して表示します。
- Exports API を使用してエクスポートを作成する場合は、
recurrencePeriod
を UTC 時刻で指定します。 API では、ローカル時刻は UTC に変換されません。- 例 - 週単位のエクスポートが、8 月 19 日の金曜日にスケジュールされ、
recurrencePeriod
が午後 2 時に設定されます。 API はこの入力を、8 月 19 日の金曜日の午後 2 時 (UTC) として受け取ります。 毎週のエクスポートは毎週金曜日に実行されます。
- 例 - 週単位のエクスポートが、8 月 19 日の金曜日にスケジュールされ、
- Azure portal でエクスポートを作成すると、その開始日時は対応する UTC 時刻に自動的に変換されます。
- 例 - Azure portal から週単位のエクスポートが、8 月 19 日の金曜日のローカル時刻の午前 2 時 (UTC+5:30) にスケジュールされます。 API はこの入力を、8 月 18 日の木曜日の午後 8 時 30 分として受け取ります。 毎週のエクスポートは毎週木曜日に実行されます。
エクスポートごとに新しいファイルが作成されるため、古いエクスポートは上書きされません。
複数のサブスクリプションのエクスポートを作成する
管理グループを使用して、サブスクリプションのコスト情報を 1 つのコンテナーに集約できます。 エクスポートでは、Enterprise Agreement の管理グループ スコープはサポートされますが、Microsoft 顧客契約やその他のサブスクリプションの種類についてはサポートされません。 管理グループのエクスポートでは、複数の通貨もサポートされていません。
管理グループ スコープでのエクスポートでは、使用料金のみがサポートされています。 予約や節約プランを含む購入は、サポートされていません。 償却コスト レポートもサポートされていません。 管理グループ スコープに対して Azure portal からエクスポートを作成する場合、メトリック フィールドは既定で使用の種類に設定されているため、表示されません。 REST API を使用して管理グループ スコープのエクスポートを作成する場合は、ExportType に Usage
を選択します。
- まだ管理グループを作成していない場合は作成し、それにサブスクリプションを割り当てます。
- コスト分析で、管理グループにスコープを設定し、 [Select this management group](この管理グループを選択する) を選択します。
- そのスコープでエクスポートを作成し、管理グループに含まれるサブスクリプションのコスト管理データを取得します。
大規模なデータセットのファイルのパーティション分割
Microsoft 顧客契約、Microsoft Partner Agreement、Enterprise Agreement のいずれかを結んでいる場合は、エクスポートを使用して、ファイルを複数の小さなファイル パーティションに分割し、データ インジェストに役立てることができます。 最初にエクスポートを構成するときに、 [File Partitioning](ファイルのパーティション分割) 設定を [オン] に設定します。 既定では、この設定は [オフ] です。
Microsoft 顧客契約、Microsoft Partner Agreement、Enterprise Agreement のいずれも結んでいない場合、[File Partitioning](ファイルのパーティション分割) オプションは表示されません。
パーティション分割は、現在、リソース グループや管理グループ スコープではサポートされていません。
ファイルのパーティション分割を使用するよう既存のエクスポートを更新する
既存のエクスポートがあり、ファイルのパーティション分割を設定する場合は、新しいエクスポートを作成します。 ファイルのパーティション分割は、エクスポートの最新バージョンでのみ使用できます。 作成される使用ファイルの一部のフィールドに軽微な変更が加えられている場合があります。
既存のエクスポートでファイルのパーティション分割を有効にすると、ファイル出力のフィールドに対して軽微な変更が加えられる場合があります。 変更はすべて、最初に設定した後にエクスポートに加えられた更新に起因します。
パーティション分割の出力
ファイルのパーティション分割を有効にした場合、エクスポートのデータの各パーティションのファイルと _manifest.json ファイルが作成されます。 マニフェストには、完全なデータセットの概要と、その中の各ファイル パーティションに関する情報が含まれています。 各ファイル パーティションにはヘッダーがあり、完全なデータセットのサブセットのみが含まれています。 完全なデータセットを処理するには、エクスポートの各パーティションを取り込む必要があります。
マニフェスト ファイルの _manifest.json の例を示します。
{
"manifestVersion": "2021-01-01",
"dataFormat": "csv",
"blobCount": 1,
"byteCount": 160769,
"dataRowCount": 136,
"blobs": [
{
"blobName": "blobName.csv",
"byteCount": 160769,
"dataRowCount": 136,
"headerRowCount": 1,
"contentMD5": "md5Hash"
}
]
}
エクスポート バージョン
スケジュールされたエクスポートを Azure portal で、または API を使用して作成すると、作成時に使用されるエクスポート バージョンで常に実行されます。 Azure では、以前に作成したエクスポートが、更新しない限り、同じバージョンで保持されます。 これにより、エクスポート バージョンが変更された場合に、料金と CSV フィールドの変更が防止されます。 エクスポート機能が時間の経過に伴い変化すると、フィールド名が変更され、新しいフィールドが追加される場合があります。
使用可能な最新のデータとフィールドを使用したい場合は、Azure portal で新しいエクスポートを作成することをお勧します。 既存のエクスポートを最新バージョンに更新するには、Azure portal または最新の Export API バージョンを使用して更新します。 既存のエクスポートを更新すると、その後生成されるファイルのフィールドと料金にわずかな違いが生じる可能性があります。
データが収集されたことを確認する
コスト管理データが収集されていることは簡単に確認できます。また、Azure Storage Explorer を利用し、エクスポートした CSV データを簡単に表示できます。
エクスポートの一覧で、ストレージ アカウント名を選択します。 ストレージ アカウント ページで、Explorer の [開く] を選択します。 確認ボックスが表示されたら、 [はい] を選択し、Azure Storage Explorer でファイルを開きます。
Storage Explorer で、開くコンテナーに移動し、当月のフォルダーを選択します。 CSV ファイルの一覧が表示されます。 1 つを選択して、 [開く] を選択します。
ファイルは、CSV ファイル拡張子を開くように設定されているプログラムまたはアプリケーションで開きます。 ここでは Excel の例を示します。
エクスポートされた CSV データ ファイルをダウンロードする
CSV ファイルをダウンロードするには、Microsoft Azure Storage Explorer でファイルを参照してダウンロードします。
エクスポートの実行履歴を表示する
エクスポートの一覧ページで個々のエクスポートを選択することによって、スケジュールされたエクスポートの実行履歴を表示できます。 エクスポートの一覧ページでは、前回のエクスポートの実行日時と、次回のエクスポートの実行日時をすばやく確認することもできます。 実行履歴の表示例を次に示します。
実行履歴を表示するエクスポートを選択します。
月初から 5 日間はエクスポートが 1 日に 2 回実行される
毎日のエクスポートを作成した後、月初から 5 日間は 1 日に 2 回実行されます。 1 回目の実行で、現行の月のコスト データを含むファイルが作成されます。 実行履歴で確認できるのはこの実行です。 さらに、2 回目の実行では、前月からのすべてのコストを含んだファイルが作成されます。 2 回目の実行は、その時点で実行履歴に表示されません。 Azure は 2 回目の実行で、過去 1 か月の最新ファイルに、すべての料金が請求書の記載どおりに含まれるようにします。 これが実行されるのは、カレンダー月の締めから最大 72 時間後までの潜在的な使用と料金が請求書に含まれるケースがあるためです。 Cost Management の使用状況データの更新について詳しくは、「コストと使用状況データの更新と保持」を参照してください。
Note
現在の月の 1 日から 5 日の間に作成される毎日のエクスポートでは、前月のデータは生成されません。これは、エクスポート スケジュールが作成日から開始するためです。
エクスポートしたデータに他のシステムからアクセスする
コスト管理データをエクスポートする目的の 1 つは、外部システムからそれにアクセスすることにあります。 ダッシュボード システムやその他の金融システムを使用することがあります。 そのようなシステムは幅広く存在し、例を示すことは実際的ではありません。 それでも、Azure Storage の概要に関するページで、自分のアプリケーションからデータにアクセスすることから始めることはできます。
エクスポートの FAQ
エクスポートについてよく寄せられる質問とその回答を紹介します。
エクスポートしたコスト ファイルを Microsoft Excel で開くと文字化けした文字が表示されるのはなぜですか?
Excel で文字化けした文字が表示され、日本語や中国語などのアジア言語を使用している場合は、次の手順でこの問題を解決できます。
新しいバージョンの Excel の場合:
- Excel を開きます。
- 上部にある [データ] タブを選択します。
- [テキスト/CSV から] オプションを選択します。
- インポートする CSV ファイルを選択します。
- 次のボックスで、[元のファイル] を [65001: Unicode (UTF-8)] に設定します。
- [読み込み] を選択します。
以前のバージョンの MS Excel の場合:
- Excel を開きます。
- 上部にある [データ] タブを選択します。
- [テキストから] オプションを選択し、インポートする CSV ファイルを選択します。
- Excel にテキストのインポート ウィザードが表示されます。
- ウィザードで、[区切り記号付き] オプションを選択します。
- [元のファイル] フィールドで、[65001: Unicode (UTF-8)] を選択します。
- [次へ] を選択します。
- 次に、[コンマ] オプションを選択し、[終了] を選択します。
- 表示されるダイアログ ウィンドウで、[OK] を選択します。
エクスポートされたファイルの集計コストがコスト分析に表示されるコストと異なるのはなぜですか?
エクスポートされたファイルの集計コストと、コスト分析に表示されるコストの間に不一致に気づく可能性があります。 これらの違いは、合計コストの読み取りと集計に使用するツールが 10 進値を切り捨てた場合に発生する可能性があります。 この問題は、Power BI や Microsoft Excel などのツールでは一般的です。
Power BI の使用
コスト値が整数に変換されるときに、小数点以下の桁数が削除されているかどうかを確認します。 10 進値がなくなると、精度が失われ、集計コストが誤って表示される可能性があります。
Power BI で列を 10 進数に手動で変換するには、次の手順に従います。
- テーブル ビューに移動します。
- データの変換を選択します。
- 必要な列を右クリックします。
- 型を 10 進数に変更します。
Microsoft Excel の使用
.csv または .txt ファイルを開くと、自動データ変換が実行されようとしていることを検出すると、警告メッセージが表示されることがあります。 メッセージが表示されたら、 [変換] オプションを選択して、数値がテキストではなく数値として保存されるようにします。 これにより、正しい集計合計が保証されます。 詳細については、「Windows および Mac の Excel でのデータ変換を制御する」を参照してください。
正しい変換が使用されていない場合は、Number Stored as Text
エラーが表示された緑色の三角形が表示されます。 このエラーにより、料金が正しく集計され、コスト分析との不一致が発生する可能性があります。
次のステップ
このチュートリアルでは、以下の内容を学習しました。
- 毎日のエクスポートを作成する
- データが収集されたことを確認する
次のチュートリアルに進み、活動休止状態のリソースや十分に活用されていないリソースを特定することで効率性を最適化し、改善してください。