AWS のコストと使用状況レポートの統合を設定して構成する

Note

Cost Management サービスの AWS のコネクタは、2025 年 3 月 31 日に廃止されます。 ユーザーは、AWS コスト管理レポートの代替ソリューションを検討する必要があります。 2024 年 3 月 31 日、Azure は、すべての顧客に対して AWS に新しいコネクタを追加する機能を無効にします。 詳細については、アマゾン ウェブ サービス (AWS) コネクタの廃止に関する記事を参照してください。

Amazon Web サービス (AWS) のコストと使用状況レポート (CUR) の統合では、Cost Management で AWS 支出を監視して制御します。 統合により、Azure portal の単一の場所で、Azure と AWS の両方での支出を監視して制御します。 この記事では、統合を設定し、Cost Management 機能を使用して、コストを分析し、予算を確認できるように構成する方法を説明します。

Cost Management では、レポート定義を取得し、レポートの GZIP CSV ファイルをダウンロードするために AWS アクセス資格情報を使用して、S3 バケットに格納されている AWS のコストと使用状況レポートを処理します。

AWS でコストと使用状況レポートを作成する

コストと使用状況レポートの使用は、AWS のコストを収集して処理するための AWS で推奨される方法です。 Cost Management クロス クラウド コネクタでは、管理 (統合) アカウント レベルで構成されたコストと使用状況レポートがサポートされています。 詳細については、「AWS Cost and Usage Report」 (AWS のコストと使用状況レポート) というドキュメントを参照してください。

AWS の Billing and Cost Management コンソールの [Cost & Usage Reports]\(コストと使用状況レポート\) ページを使用して、以下の手順でコストと使用状況レポートを作成します。

  1. AWS Management コンソールにサインインし、[Billing and Cost Management](課金とコスト管理) コンソールを開きます。
  2. ナビゲーション ウィンドウで、で、[Cost & Usage Reports]\(コストと使用状況レポート\) を選択します。
  3. [レポートの作成] を選択します。
  4. [レポート名] には、レポートの名前を入力します。
  5. [Additional report details] の下で [Include resource IDs] を選択します。
  6. [Data refresh settings](データ更新設定) では、お客様の請求確定後に AWS が返金、クレジット、またはサポート料金をお客様のアカウントに適用した場合に、AWS のコストと使用状況レポートを更新するかどうかを選択します。 レポートが更新されると、新しいレポートが Amazon S3 にアップロードされます。 この設定は選択されたままにしておくことをお勧めします。
  7. [次へ] を選択します。
  8. [S3 bucket](S3 バケット) には、 [構成] を選択します。
  9. [Configure S3 Bucket](S3 バケットの構成) ダイアログ ボックスで、バケット名と新しいバケットを作成するリージョンとを入力して [次へ] を選択します。
  10. [I have confirmed that this policy is correct] (このポリシーが正しいことを確認しました) を選択してから、[Save] (保存) を選択します。
  11. (省略可能) [Report path prefix](レポート パス プレフィックス) では、レポートの名前の先頭に追加するレポート パス プレフィックスを入力します。
    スキップした場合、既定のプレフィックスはレポートに指定した名前です。 日付範囲は /report-name/date-range/ の形式です。
  12. [時間単位] で、[毎時間] を選択します。
  13. [Report versioning] (レポートのバージョン管理) では、レポートの各バージョンで前のバージョンを上書きするか、新しいレポートを追加するかを選択します。
  14. [Enable data integration for](データ統合の有効化対象) は、選択の必要はありません。
  15. [圧縮] では、 [GZIP] を選択します。
  16. [次へ] を選択します。
  17. レポートの設定を確認した後、[確認して完了] を選択します。
    レポート名をメモしておきます。 これは後の手順で使用します。

AWS で Amazon S3 バケットへのレポートの配信が開始されるまで、最大で 24 時間かかる場合があります。 配信が開始された後、AWS では、少なくとも 1 日 1 回は AWS のコストと使用状況レポート ファイルが更新されます。 配信の開始を待たずに、AWS 環境の構成を続行することができます。

Note

メンバー (リンク済み) アカウント レベルで構成されたコストと使用状況レポートは、現在サポートされていません。

AWS でポリシーとロールを作成する

Cost Management では、1 日数回、コストと使用状況レポートが配置されている S3 バケットにアクセスします。 このサービスでは、新しいデータを確認するために資格情報へのアクセスが必要です。 Cost Management によるアクセスを許可するには、AWS でロールとポリシーを作成します。

Cost Management で AWS アカウントへのロールベースのアクセスを有効にするために、AWS コンソールでロールが作成されます。 AWS コンソールからの ロール ARN外部 ID が必要です。 後で、Cost Management の [AWS コネクタの作成] ページでこれらを使用します。

ポリシーの作成ウィザードを使用する

  1. AWS コンソールにサインインし、[サービス] を選択します。
  2. サービスの一覧で [IAM] を選択します。
  3. [ポリシー] を選択します。
  4. [ポリシーの作成] を選択します。
  5. [サービスの選択] を選択します。

コストと使用状況レポートのアクセス許可を構成する

  1. Cost and Usage Report」と入力します。
  2. [アクセス レベル]>[読み取り]>DescribeReportDefinitions の順に選択します。 この手順により、Cost Management では、定義されている CUR レポートを読み取り、レポート定義の前提条件が一致するかどうかを判断できます。
  3. [アクセス許可の追加] を選択します。

S3 バケットとオブジェクトのアクセス許可を構成する

  1. [サービスの選択] を選択します。
  2. S3」と入力します。
  3. [アクセス レベル]>[List](一覧表示)>ListBucket の順に選択します。 このアクションでは、S3 バケット内のオブジェクトの一覧を取得します。
  4. [アクセス レベル]>[読み取り]>GetObject の順に選択します。 このアクションでは、課金ファイルのダウンロードを許可します。
  5. [リソース]>[固有] を選択します。
  6. バケットで、[ARN の追加] リンクを選択して別のウィンドウを開きます。
  7. [リソース バケット名] に、CUR ファイルを保存するために使用されるバケットを入力します。
  8. [ARN の追加] を選択します。
  9. [オブジェクト]で、[任意] を選択します。
  10. [アクセス許可の追加] を選択します。

Cost Explorer のアクセス許可を構成する

  1. [サービスの選択] を選択します。
  2. Cost エクスプローラー サービス」と入力します。
  3. [All Cost Explorer Service actions (ce:*)](すべての Cost エクスプローラー サービス アクション (ce:*)) を選択します。 このアクションでは、コレクションが正しいことを検証します。
  4. [アクセス許可の追加] を選択します。

AWS 組織へのアクセス許可を追加する

  1. [組織] を入力します。
  2. [アクセス レベル]>[List](一覧表示)>ListAccounts の順に選択します。 このアクションでは、アカウントの名前を取得します。
  3. [アクセス許可の追加] を選択します。

ポリシーのアクセス許可を構成する

  1. [IAM] を入力します。
  2. [アクセスレベル] > [リスト] >[ListAttachedRolePolicies][ListPolicyVersions][ListRoles] を選択します。
  3. [アクセス レベル] > [読み取り] >[GetPolicyVersion] と選択します。
  4. [リソース]> [<ポリシー>] を選択してから、[任意] を選択します。 これらのアクションによって、コネクタには最小限必要な一連のアクセス許可のみが付与されたことを検証できます。
  5. [次へ] を選択します。

確認と作成

  1. [ポリシーの確認] に、新しいポリシーの名前を入力します。 正しい情報を入力したことを確認します。
  2. タグの追加。 使用するタグを入力することも、この手順をスキップすることもできます。 この手順は、Cost Management でコネクタを作成するためには必要ありません。
  3. [ポリシーの作成] を選択して、この手順を完了します。

ポリシー JSON は次の例のようになるはずです。 bucketname は S3 バケットの名前に、accountname はお使いのアカウント番号に、rolename は作成したロール名に置き換えます。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": [
                "organizations:ListAccounts",
                "iam:ListRoles",
                "ce:*",
                "cur:DescribeReportDefinitions"
            ],
            "Resource": "*"
        },
        {
            "Sid": "VisualEditor1",
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:ListBucket",
                "iam:GetPolicyVersion",
                "iam:ListPolicyVersions",
                "iam:ListAttachedRolePolicies"
            ],
            "Resource": [
                "arn:aws:s3:::bucketname",
                "arn:aws:s3:::bucketname/*",
                "arn:aws:iam::accountnumber:policy/*",
                "arn:aws:iam::accountnumber:role/rolename"
            ]
        }
    ]
}

[新しいロールの作成] ウィザードを使用する

  1. AWS コンソールにサインインし、 [サービス] を選択します。
  2. サービスの一覧で [IAM] を選択します。
  3. [ロール] を選択してから [ロールの作成] を選択します。
  4. [Select trusted entity] (信頼されたエンティティの選択) ページで [AWS アカウント] を選択し、[An AWS account] (ある AWS アカウント) の下で [Another AWS account] (別の AWS アカウント) を選択します。
  5. [アカウント ID] の下に、「432263259397」と入力します。
  6. [オプション] の下で、[Require external ID (Best practice when a third party will assume this role)] (外部 ID が必要 (サード パーティでこのロールを想定する場合のベスト プラクティス)) を選択します。
  7. [外部 ID] に、外部 ID を入力します。これは、AWS ロールと Cost Management 間の共有パスコードです。 Cost Management の [新しいコネクタ] ページで使用するため、外部 ID をメモします。 外部 ID を入力する場合には、強力なパスコードポリシーを使用するようお勧めします。 外部 ID は、次の AWS の制限に準拠している必要があります。
    • 種類: 文字列
    • 長さの制約: 最小長は 2 です。 最大長は 1224 です。
    • 正規表現パターン [\w+=,.@: /-]* を満たす必要があります。

    Note

    [MFA の要求] の選択は変更しないでください。 クリアされたままにしておく必要があります。

  8. [次へ] を選択します。
  9. 検索バーで、新しいポリシーを検索して選択します。
  10. [次へ] を選択します。
  11. [ロールの詳細] にロール名を入力します。 正しい情報を入力したことを確認します。 後で Cost Management コネクタを設定するときに使用するため、入力した名前をメモします。
  12. 必要に応じて、タグを追加します。 任意のタグを入力するか、この手順をスキップできます。 この手順は、Cost Management でコネクタを作成するためには必要ありません。
  13. [ロールの作成] を選択します。

Azure で新しい AWS コネクタを設定する

AWS コネクタを作成し、AWS コストの監視を開始するには、次の情報を使用します。

注意

初期セットアップ中に自動更新の構成を [オン] に設定した場合、試用期間が終了しても Connector for AWS はアクティブなままになります。 それ以外の場合は、試用後にコネクタは無効になります。 完全に削除されるまでの 3 か月間、無効のままになる場合があります。 コネクタが削除された後、同じ接続を再アクティブ化することはできません。 無効になっているコネクタのサポートについて、または削除後に新しい接続を作成するには、Azure portal でサポート リクエストを作成します。

前提条件

  • 少なくとも 1 つの管理グループが有効になっていることを確認します。 サブスクリプションを AWS サービスにリンクするには、管理グループが必要です。 管理グループの作成方法の詳細については、Azure での管理グループの作成に関する記事をご覧ください。
  • 自分がサブスクリプションの管理者であることを確認します。
  • AWS でコストと使用状況レポートを作成する」セクションの説明に従って、新しい AWS コネクタに必要なセットアップを完了します。

新しいコネクタを作成する

  1. Azure portal にサインインします。
  2. [コストの管理と請求] に移動し、必要に応じて課金スコープを選択します。
  3. [コスト分析] を選択し、 [設定] を選択します。
  4. [AWS のコネクタ] を選択します。
  5. [コネクタの追加] を選択します。
  6. [コネクタの作成] ページで、 [表示名] にコネクタの名前を入力します。
    構成する [コネクタの作成] ページと AWS コネクタを示すスクリーンショット。
  7. 必要に応じて、既定の管理グループを選択します。 検出されたすべてのリンクされたアカウントが保存されます。 これは後で設定できます。
  8. 継続処理を希望する場合は、 [課金] セクションで [自動更新][オン] にします。 自動オプションを選択した場合は、課金サブスクリプションを選択する必要があります。
  9. [ロール ARN] に、AWS でのロールの設定時に使用した値を入力します。
  10. [外部 ID] に、AWS でのロールの設定時に使用した値を入力します。
  11. [レポート名] に、AWS で作成した名前を入力します。
  12. [次へ][作成] の順に選択します。

新しい AWS スコープ、AWS 統合アカウントと AWS のリンクされたアカウント、およびそれらのコスト データが表示されるまで、数時間かかる場合があります。

コネクタを作成した後、アクセス制御をそれに割り当てることをお勧めします。 ユーザーには、新しく検出されたスコープへのアクセス許可が割り当てられます。AWS 統合アカウントと AWS のリンクされたアカウントです。 コネクタを作成するユーザーは、コネクタ、統合アカウント、およびすべてのリンクされたアカウントの所有者です。

検出後にユーザーにコネクタのアクセス許可を割り当てても、既存の AWS スコープにアクセス許可は割り当てられません。 代わりに、新しいリンクされたアカウントにのみ、アクセス許可が割り当てられます。

その他の手順を行う

  • まだ設定していない場合は、管理グループを設定します。
  • スコープ ピッカーに新しいスコープが追加されたことを確認します。 [更新] を選択して最新のデータを表示します。
  • [クラウド コネクタ] ページで、コネクタを選択し、 [請求先アカウントに移動する] を選択して、管理グループにリンクされたアカウントを割り当てます。

Note

管理グループは、Microsoft 顧客契約 (MCA) のお客様に対して現在サポートされていません。 MCA のお客様は、コネクタを作成し、ご自身の AWS データを表示できます。 ただし、MCA のお客様は、管理グループの下に Azure のコストと AWS コストをまとめて表示することはできません。

AWS コネクタを管理する

[AWS のコネクタ] ページでコネクタを選択した場合は、次の操作を行うことができます。

  • [請求先アカウントに移動する] を選択して、AWS 統合アカウントの情報を表示します。
  • [アクセスの制御] を選択して、コネクタのロール割り当てを管理します。
  • [編集] を選択して、コネクタを更新します。 AWS アカウント番号はロール ARN に表示されるため、変更できません。 ただし、新しいコネクタを作成することはできます。
  • [確認] を選択して、確認テストを再実行し、Cost Management でコネクタ設定を使用して、データを収集できることを確認します。

AWS コネクタの詳細を示すスクリーンショット。

Azure 管理グループを設定する

クラウド間のプロバイダーの情報を表示する単一の場所を作成するには、Azure サブスクリプションと AWS のリンクされたアカウントを同じ管理グループに配置します。 Azure 環境を管理グループで構成する場合は、「管理グループの初期セットアップ」を参照してください。

コストを分ける場合は、AWS のリンクされたアカウントのみを保持する管理グループを作成できます。

AWS 統合アカウントを設定する

AWS 統合アカウントは、複数の AWS アカウントの請求と支払いを結合します。 AWS のリンクされたアカウントとしても機能します。 AWS 統合アカウントの詳細は、AWS コネクタ ページ上のリンクを使用して表示できます。

AWS 統合アカウントの詳細を示すスクリーンショット。

ページからは、次のことを行うことができます。

  • [更新] を選択して、AWS のリンクされたアカウントと管理グループの関連付けを一括更新します。
  • [アクセスの制御] を選択して、スコープのロール割り当てを設定します。

AWS 統合アカウントのアクセス許可

既定では、AWS 統合アカウントのアクセス許可は、AWS コネクタのアクセス許可に基づいて、アカウントの作成時に設定されます。 コネクタの作成者は所有者です。

AWS 統合アカウントの [アクセス レベル] ページを使用して、アクセス レベルを管理します。 ただし、AWS のリンクされたアカウントは、AWS 統合アカウントへのアクセス許可を継承しません。

AWS のリンクされたアカウントを設定する

AWS のリンクされたアカウントは、AWS リソースが作成され、管理される場所です。 リンクされたアカウントは、セキュリティ境界としても機能します。

このページからは、次のことを行うことができます。

  • [更新] を選択して、AWS のリンクされたアカウントと管理グループの関連付けを更新します。
  • [アクセスの制御] を選択して、スコープのロール割り当てを設定します。

[AWS 連結アカウント] ページを示すスクリーンショット。

AWS のリンクされたアカウントのアクセス許可

既定では、AWS のリンクされたアカウントのアクセス許可は、AWS コネクタのアクセス許可に基づいて、作成時に設定されます。 コネクタの作成者は所有者です。 AWS のリンクされたアカウントの [アクセス レベル] ページを使用して、アクセス レベルを管理します。 AWS のリンクされたアカウントは、AWS 統合アカウントからアクセス許可を継承しません。

AWS のリンクされたアカウントは常に、それらが所属する管理グループからアクセス許可を継承します。

次のステップ