AWS Organizations 内の組織全体の AWS Backup レポートを CSV ファイルとしてエクスポートする - AWS 規範ガイダンス

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Organizations 内の組織全体の AWS Backup レポートを CSV ファイルとしてエクスポートする

作成者: Aromal Raj Jayarajan (AWS) と Purushotham G K (AWS)

コードリポジトリ: aws-backup-report-generator

環境:PoC またはパイロット

テクノロジー: DevOps、インフラストラクチャ

ワークロード:その他すべてのワークロード

AWS サービス: AWS Backup 、AWS Identity and Access Management 、AWS Lambda 、Amazon S3、Amazon EventBridge

[概要]

このパターンは、AWS Organizations 内のある組織全体の AWS Backup ジョブレポートを CSV ファイルとしてエクスポートする方法を示しています。このソリューションでは、AWS Lambda と Amazon EventBridge を使用して、ステータスに基づいて AWS Backup ジョブレポートを分類します。これは、ステータスベースのオートメーションを設定するときに役立ちます。

AWS Backup は、AWS のサービス、クラウド内、およびオンプレミス間の一元化およびデータ保護の自動化を支援します。ただし、AWS Organizations 内で構成された AWS Backup ジョブの場合、統合レポートは各組織の管理アカウントの AWS マネジメントコンソールでのみ使用できます。このレポートを管理アカウントの外部に置くことで、監査に必要な労力を減らし、自動化、通知、アラートの範囲を広げることができます。

前提条件と制限

前提条件

機能制限

このパターンで提供されるソリューションは、AWS Backup ジョブ専用に構成された AWS リソースを識別します。このレポートでは、AWS Backup によるバックアップ用に構成されていない AWS Backup リソースは特定できません。

アーキテクチャ

ターゲットテクノロジースタック

  • AWS Backup

  • AWS CloudFormation

  • Amazon EventBridge

  • AWS Lambda

  • AWS Security Token Service (AWS STS)

  • Amazon Simple Storage Service (Amazon S3)

  • AWS Identity and Access Management (IAM)

ターゲットアーキテクチャ

次の図は、AWS Organizations 内のある組織全体から AWS Backup ジョブレポートを CSV ファイルとしてエクスポートするワークフローの例を示しています。

この図表は、次のワークフローを示しています:

  1. スケジュールされた EventBridge イベントルールは、メンバー (レポート) AWS アカウントで Lambda 関数を呼び出します。

  2. 次に、Lambda 関数は AWS STS を使用して、管理アカウントへの接続に必要な権限を持つ IAM ロールを引き受けます。

  3. Lambda 関数は以下を実行します。

  • AWS Backup サービスに統合された AWS Backup ジョブレポートをリクエストする

  • AWS Backup ジョブのステータスに基づいて結果を分類する

  • レスポンスを CSV ファイルに変換する

  • 作成日に基づいてラベル付けされたフォルダ内のレポーティングアカウントの Amazon S3 バケットに、結果をアップロードする

ツール

ツール

  • AWS Backup は、フルマネージド型のサービスで、 AWS サービス、クラウド、オンプレミスにおけるデータ保護の一元化と自動化に役立ちます。

  • AWS CloudFormation は、AWS リソースのセットアップ、迅速かつ一貫したプロビジョニング、AWS アカウントとリージョン全体のライフサイクル全体の管理に役立ちます。

  • Amazon EventBridge は、アプリケーションをさまざまなソースからのリアルタイムデータに接続するためのサーバーレスイベントバスサービスです。たとえば、AWS Lambda 関数、API 宛先を使用する HTTP 呼び出しエンドポイント、または他の AWS アカウントのイベントバスなどです。

  • AWS Identity and Access Management (IAM)」は、AWS リソースへのアクセスを安全に管理し、誰が認証され、使用する権限があるかを制御するのに役立ちます。

  • AWS Lambda は、サーバーのプロビジョニングや管理を行うことなくコードを実行できるコンピューティングサービスです。必要に応じてコードを実行し、自動的にスケーリングするため、課金は実際に使用したコンピューティング時間に対してのみ発生します。

  • Amazon Simple Storage Service (Amazon S3) 」は、どのようなデータの量であっても、保存、保護、取得することを支援するクラウドベースのオブジェクトストレージサービスです。

Code

このパターンのコードはリポジトリにあります GitHub aws-backup-report-generator

ベストプラクティス

エピック

タスク説明必要なスキル

GitHub リポジトリのクローンを作成します。

ターミナルウィンドウで次のコマンドを実行して、リポジトリのクローンを作成します GitHub aws-backup-report-generator

git clone https://github.com/aws-samples/aws-backup-report-generator.git

詳細については、 GitHub ドキュメントの「リポジトリのクローン作成」を参照してください。

AWS DevOps、 DevOps エンジン

メンバー (レポーティング) AWS アカウントにソリューションコンポーネントをデプロイします。

  1. メンバー (レポート) アカウントで、AWS マネジメントコンソールにサインインし、CloudFormation コンソール を開きます。

  2. [スタックの作成] を選択し、[With new resources (standard) 新しいリソースを使用 (標準)] を選択します。

  3. [スタックの作成] ページの [テンプレートを指定] セクションで、[テンプレートファイルをアップロード] を選択します。

  4. [Choose file] を選択します。次に、ローカルワークステーションのクローンされた GitHub リポジトリのルートフォルダに移動し、template-reporting.yaml を選択します。

  5. [開く] を選択し、[次へ] を選択します。

  6. スタックの詳細を指定 ページの スタック名に、 CloudFormation スタックの名前を入力します。

  7. ManagementAccountID には、AWS Organizations の組織の管理アカウントの AWS アカウント ID を入力します。

  8. [Next (次へ) ] を選択します。

  9. [Configure stack options] (スタックオプションの構成) ページで、[Next] (次へ) を選択します。

  10. ]確認] ページで、構成を確認したことを示すチェックボックスを選択します。

  11. [スタックの作成] を選択します。ソリューションコンポーネントがメンバー (レポーティング) アカウントにデプロイされると、スタックには CREATE_COMPLETE ステータスが表示されます。

DevOps エンジニア、AWS DevOps
タスク説明必要なスキル

テストする前に、 EventBridge ルールが実行されることを確認してください。

24 時間以上待つか、 CloudFormation テンプレートの template-reporting.yml ファイルでレポート頻度を増やして、 EventBridge ルールが実行されることを確認します。

レポート頻度を増やすには

  1. クローン作成したリポジトリにある template-reporting.yml ファイルを開きます。

  2. 論理 ID がLambdaSchedule「」のイベントルールで、ScheduleExpression「」を見つけます。

  3. 有効な cron 式が含まれるようにScheduleExpression「」キーを編集します。たとえば、次の cron 式では、5 分ごとにイベントルールが実行されるようスケジュールされます: “cron (* /5 * * * *)”

AWS DevOps、 DevOps エンジン

生成されたレポートを Amazon S3 バケットで確認します。

  1. メンバー (レポート) アカウントで、AWS マネジメントコンソールにサインインし、CloudFormation コンソール を開きます。

  2. [スタック] ペインで、作成したスタックの名前を選択します。次に、[リソース] タブを選択します。

  3. リソースペインの論理 ID 列で、BackupReportS3Bucket を見つけます。次に、その論理 ID の横にある [物理 ID] 列のリンクを選択して、関連する Amazon S3 バケットを新しいタブで開きます。

  4. バケットに、/BackupReports<yyyy>/<mm>/<dd>/BackupReport-<BACKUP JOB STATUS>-<dd>-<Mon>-<yyyy>.csv の形式で生成されたレポートが含まれていることを確認します。

AWS DevOps、 DevOps エンジン
タスク説明必要なスキル

メンバー (レポーティング) アカウントからソリューションコンポーネントを削除します。

  1. メンバー (レポーティング) アカウントで、ソリューションの Amazon S3 バケットを開きます。手順については、このパターンの「ソリューションのテスト」セクションの「生成されたレポートを S3 バケットで確認する」のステップ 2 ~ 4 を参照してください。

  2. バケットの内容を削除し、バケットを空にします。手順については、Amazon S3 ユーザーガイド の「バケットを空にする」を参照してください。

  3. メンバー (レポート) アカウントで、AWS マネジメントコンソールにサインインし、CloudFormation コンソール を開きます。

  4. [スタック] ペインで、作成したスタックの名前の横にあるチェックボックスをオンにします。その後、[Delete] (削除) をクリックします。

AWS DevOps、 DevOps エンジン

管理アカウントからソリューションコンポーネントを削除します。

  1. 管理アカウントで、AWS マネジメントコンソールにサインインし、CloudFormation コンソール を開きます。

  2. [スタック] ペインで、作成したスタックの名前の横にあるチェックボックスをオンにします。その後、[Delete] (削除) をクリックします。

AWS DevOps、 DevOps エンジン

関連リソース