Amazon Web Services ブログ

AWS Backup を使用して組織の AWS アカウントのクロスリージョンコピーを集中管理する

このブログは 2020 年 9 月 21 日に Cher Simon (プリンシパルパートナーソリューションアーキテクト) によって執筆された内容を日本語化したものです。原文はこちらを参照してください。

多くの組織は、単一の AWS アカウントでクラウドジャーニーを開始し、規制、コンプライアンス、セキュリティ、またはコスト追跡の目的で、徐々にマルチアカウント環境にクラウド活用を拡大していきます。組織はしばしば、高可用性、スケーラビリティ、パフォーマンスのために、AWS グローバルインフラストラクチャーの複数のリージョンにワークロードとアプリケーションをデプロイすることを選択します。マルチアカウントかつマルチリージョン環境で構築および運用するには、グローバルな災害復旧 (DR) およびビジネス継続性戦略が必要です。お客様は、オーバーヘッドを削減し、バックアップのコンプライアンスを改善するために、組織の AWS アカウント全体のクロスリージョンバックアップタスクを統合および自動化する集中化されたバックアップ管理プロセスを求めています。

AWS Backup は、Amazon EBSAmazon EC2Amazon RDSAmazon AuroraAmazon DynamoDBAmazon EFSAWS Storage Gateway など、AWS サービス全体のデータバックアップを簡素化および自動化する、フルマネージドでコスト効果の高いバックアップサービスです。さらに、AWS Backup は AWS Organizations と連携して、マルチアカウント環境におけるリソースのバックアップポリシーをひとつに集約したビューとして提供します。お客様は、リソースにタグ付けをするだけで AWS Backup が管理するクロスリージョンコピーのバックアップポリシーにそのリソースを関連付けることができます。この記事では、AWS Backup でバックアップポリシーをデプロイすることにより、組織の AWS アカウント全体のバックアップタスクを集中的に管理する方法をご紹介します。

前提条件

はじめに、管理アカウントで組織単位 (OU) を作成し、次の図に示すような組織階層に 3 つのメンバーアカウント (Prod アカウント、QA アカウント、Dev アカウント) を配置します。

  • ルート OU には Prod OUNon-Prod OU の 2 つの OU が含まれています。
  • Prod アカウントProd OU に配置します。
  • Non-Prod OU の中に QA OUDev OU を作成します。
  • QA アカウントQA OU に配置します。
  • Dev アカウントDev OU に配置します。

Centralized cross-account management with cross-Region copy using AWS Backup

このチュートリアルのステップ 1 とステップ 2 に従って、同じ組織階層とアカウント構造を作成できます。次に、このガイドに従って、AWS Organizations のすべての機能を有効にします。これで AWS Backup は、AWS Organizations で構成した組織の AWS アカウント全体のバックアップと復元の操作を管理およびモニタリングできます。

Prod アカウントで以下のリソースを作成し、backup をキー、prod を値としてタグ付けをします。

  • 米国東部 (バージニア北部) リージョンに 1 つの Amazon RDS PostgreSQL データベース
  • 欧州 (アイルランド) リージョンに 1 つの Amazon EFS ファイルシステム

QA アカウントと Dev アカウントで以下のリソースを作成し、backup をキー、nonprod を値としてタグ付けをします。

  • 米国東部 (バージニア北部) と欧州 (アイルランド) リージョンにそれぞれ 1 つの Amazon EC2 インスタンス。既存のリソースを使用することもできます。

のちほど、これらのリソースを米国東部 (バージニア北部) と欧州 (アイルランド) からアジアパシフィック (東京) に自動的にクロスリージョンコピーするため、管理アカウントでバックアップポリシーを作成します。

注意: AWS Backup がサポートするクロスリージョンコピーの対象サービスはこちらをご確認下さい。

ソリューションの概要

次の図は、この記事で説明するマルチアカウントバックアップアーキテクチャのアウトラインを示しています。Prod OU 用に 1 つ目のバックアップポリシーと、Non-Prod OU 用に 2 つ目のバックアップポリシーを作成します。次に、メンバーアカウントでの IAM ロールとバックアップボールトのプロビジョニングを自動化するため、AWS CloudFormation StackSets をデプロイします。

A high-level outline of the multi-account backup architecture

組織の AWS アカウント全体のリソースを保護し、データのバックアップを他のリージョンにレプリケートするには、次の手順に従います。

  1. クロスアカウント管理のオプトイン
  2. IAM ロールの作成
  3. バックアップボールトの作成
  4. バックアップポリシーの作成
  5. バックアップポリシーのターゲットへのアタッチ
  6. AWS アカウント全体のバックアップと復元のアクティビティモニタリング

ステップ 1: クロスアカウント管理のオプトイン

  1. 管理アカウントにログインし、AWS Backup コンソールに移動し、左側のナビゲーションペインで設定を選択します。
  2. バックアップポリシークロスアカウントモニタリングの両方でオンにするをクリックします。ステータスがオンになっていることを確認します。Step 1 - Opt in to cross-account management
  3. AWS Backup がサポートする全てのリソースタイプを有効化します。Enable all resource type supported by AWS Backup.

ステップ 2: IAM ロールの作成

AWS Backup がバックアップおよび復元の操作を実行できるように AWS Identity and Access Management (IAM) でサービスロールを設定します。メンバーアカウントに IAM ロールをデプロイするには、次の手順を実行します。

  1. 管理アカウントで AWS CloudFormation コンソールに移動し、ナビゲーションペインから StackSets を選択します。
  2. StackSets ページの上部で StackSet の作成を選択します。
  3. Amazon S3 URLhttps://awsstorageblogresources.s3.us-west-2.amazonaws.com/chersimoncrossregioncopyblog/IAMStackSet.yaml を貼り付けます。
  4. StackSet の名前を指定します。IAM Configurationcrossaccountbackuprole と入力します。次へを選択します。
  5. StackSet オプションの設定画面は何も変更せず、次へを選択します。
  6. リージョンの指定米国東部 (バージニア北部) を選択します。その他のデフォルト設定はそのままにします。次へを選択します。
  7. AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。にチェックし、送信を選択します。スタックインスタンスタブで StackSet のデプロイ進捗を確認し、次のスクリーンショットのように全てのスタックインスタンスのステータスが SUCCEEDED になるのを待ちます。step2-StackInstance-SUCCEEDED

注意: AWS Backup は、メンバーアカウントにロールが存在するか、ロールを引き受けることができるかどうかを検証しません。今回のケースでは crossaccountbackuprole が、バックアップポリシーに追加する各アカウントで適切かどうか確認することをお勧めします。

ステップ 3: バックアップボールトの作成

AWS Backup のリカバリーポイントは、バックアップボールトに保存されている特定の時点におけるリソースのバックアップコンテンツを指します。次の手順を完了して、AWS Backup で保護する各アカウントのソースリージョンと宛先リージョンの両方に個別のバックアップボールトを作成します。

  1. 管理アカウントにログインしたままで AWS CloudFormation コンソールに移動し、ナビゲーションペインから StackSets を選択します。
  2. StackSets ページの上部で StackSet の作成を選択します。
  3. Amazon S3 URLhttps://awsstorageblogresources.s3.us-west-2.amazonaws.com/chersimoncrossregioncopyblog/BackupVaultStackSet.yaml を貼り付けます。
  4. StackSet の名前を指定します。AWS Backup Configurationprodbackupvault と入力します。次へを選択します。
  5. StackSet オプションの設定画面は何も変更せず、次へを選択します。
  6. 組織単位 (OU) にデプロイを選択します。AWS OU ID に、Prod OU の OU ID を入力します。OU ID は AWS Organizations コンソールのナビゲーションペインから AWS アカウントを選択し、Prod OU の OU ID を取得します。
  7. リージョンの指定米国東部 (バージニア北部)アジアパシフィック (東京)欧州 (アイルランド) を選択します。その他のデフォルト設定はそのままにします。次へを選択します。送信を選択します。Step 3 - Create backup vaults

Non-Prod OU でこの 7 ステップを繰り返してください。

  • ステップ 4 の AWS Backup Configurationnonprodbackupvault に置き換えてください。
  • ステップ 6 の AWS OU IDNon-Prod OU の OU ID に置き換えてください。

注意: バックアップボールト名は大文字小文字を区別し、AWS Backup は目的のバックアップボールトが存在するかどうかを検証しません。保護したい各メンバーアカウントとリージョンに適切なバックアップボールトが作成されていることを必ず確認してください。

ステップ 4: バックアップポリシーの作成

Prod-OU 用のバックアップポリシーを作成するには、次の手順に従ってください。

  1. 管理アカウントで AWS Backup コンソールに移動し、バックアップポリシーを選択してバックアップポリシーを作成を選択します。
  2. ポリシーの作成セクションで、次の操作を行います。
    1. ポリシー名prodbackuppolicy と入力します。
    2. ポリシーの説明を入力します。
  3. バックアッププランを設定セクションのバックアッププランの詳細で、次のように指定します。
    1. バックアッププラン名prodbackupplan と入力します。
    2. バックアッププランのリージョンで、米国東部 (バージニア北部)欧州 (アイルランド)アジアパシフィック (東京) を選択します。In the Backup plan details section, provide and a Region.
    3. バックアップルールを追加セクションのバックアップルール名prodbackuprule と入力します。
    4. バックアップボールトprodbackupvault と入力します。(※下記のスクリーンショットとはレイアウトが変わっている可能性があります。)
    5. バックアップ頻度毎日を選択します。
    6. バックアップウィンドウバックアップウィンドウのデフォルトを使用 – おすすめを選択します。この選択でバックアップジョブは午前 5 時 (UTC) から 8 時間以内に開始されます。
    7. コールドストレージへの移行を選択し、3 と入力します。保持期間を選択し、6 と入力します。

      注意: コールドストレージが利用できるサービスの最新情報はこちらをご参照ください。対象外のリソースがコールドストレージ移行に追加された場合、その移行は無視されます。このチュートリアルにおいては、Amazon RDS がコールドストレージ移行の対象外です。

      In Lifecycle, choose Transition to cold storage after 3 months after creation and Expire 6 months after creation.

    8. コピーを生成-オプションで、コピー先にコピー-オプションアジアパシフィック (東京) を選択します。
    9. 送信先バックアップボールトprodbackupvault と入力します。
    10. 詳細設定を展開し、コールドストレージへの移行を選択し、3 と入力します。保持期間を選択し、6 と入力します。For Copy to region(s), select Asia Pacific (Tokyo) in Destination Region. Expand Advanced settings, enter prodbackupvault in Backup vault name.
  4. リソースを割り当てるセクションで、次のように指定します。
    1. リソース割り当て名prodresources と入力し、IAM ロールcrossaccountbackuprole と入力します。
    2. リソースタグキーbackupタグ値prod と入力します。
    3. ポリシーの作成を選択します。In the Assign resources section, provide the resource assignment name, resource tag key, and tag values.

Non-Prod OU 用のバックアップポリシーを作成するために、これらの 4 つのステップを繰り返します。

  • ステップ 2a のポリシー名nonprodbackuppolicy に置き換えます。
  • ステップ 3a のバックアッププラン名nonprodbackupplan に置き換えます。
  • ステップ 3c のバックアップルール名nonprodbackuprule に置き換えます。
  • ステップ 3d のバックアップボールトnonprodbackupvault に置き換えます。
  • ステップ 3i の送信先バックアップボールトnonprodbackupvault に置き換えます。
  • ステップ 4a のリソース割り当て名nonprodresources に置き換えます。
  • ステップ 4b のタグ値nonprod に置き換えます。

ステップ 5: バックアップポリシーのターゲットへのアタッチ

これで、バックアップポリシーをターゲットである個々のアカウントまたは OU にアタッチする準備が整いました。OU にバックアップポリシーを適用すると、選択した OU のメンバーアカウント全体のリソースが保護されます。

  1. 管理アカウントで AWS Backup コンソールに移動し、バックアップポリシーから prodbackuppolicy を選択します。ターゲットセクションでアタッチを選択し、Prod OU を選択します。アタッチを選択します。
  2. 同様に nonprodbackuppolicy を選択し、Non-Prod OU を選択します。Choose Backup Policies and select prodbackuppolicy. In the Targets section, choose Attach and select Prod OU. Confirm Attach.

ステップ 6: AWS アカウント全体のバックアップと復元のアクティビティモニタリング

管理アカウントの AWS Backup コンソールクロスアカウントモニタリングで、組織の AWS アカウント全体のバックアップ、コピー、復元ジョブをモニタリングできます。

Within the master account, you can monitor backup, copy, and restore jobs across your AWS accounts under Cross-account monitoring in AWS Backup console.

AWS Backup コンソールでバックアップを復元するには、メンバーアカウントの AWS Backup コンソールの保護されたリソースを選択し、リストからリソース ID を選択します。復元する復旧ポイントを選択し、復元を選択します。プロンプトに従ってパラメータを指定します。バックアップを復元を選択します。

To restore a backup via AWS Backup console, choose Protected resources and select the Resource ID

おめでとうございます!AWS のマルチアカウント環境全体でバックアップタスクとクロスリージョンコピーを集中管理するための AWS Backup の構成が完了しました。

クリーンアップ

今後の課金を避けるために、次の手順でサンプルリソースを削除してください。

  1. バックアップポリシーからターゲット OU を削除します。
  2. このガイドに従って、バックアップポリシー、バックアッププラン、リカバリポイントを削除します。
  3. AWS CloudFormation コンソールでスタックセットからのスタックインスタンスの削除をし、次にスタックセットの削除をすることで、IAM ロールとバックアップボールトを削除します。

まとめ

この記事では、AWS Backup を使用してクロスアカウント管理を集中化し、クロスリージョンコピーのバックアップポリシーをデプロイする方法を示しました。また、既存および新しい AWS アカウント全体に必要な IAM ロールとバックアップボールトを自動化するためのサンプル CloudFormation StackSets も提供しました。 これで、管理オーバーヘッドを最小限に抑えながら、DR プランにこのプロセスを組み込み、AWS 環境全体でビジネス継続性戦略を簡素化できるようになりました。
 

この記事を読んでいただきありがとうございました。

翻訳はソリューションアーキテクトの松本が担当しました。

Cher Simon

Cher Simon

Cher Simon は AWS で機械学習とデータ分析に特化したプリンシパルパートナーソリューションアーキテクトです。Cher は、エンタープライズ規模、データドリブン、AI を駆使したインダストリーソリューションのアーキテクトとして 20 年の経験があります。日々のお客様との業務においてクラウドネイティブなソリューションの構築を行う一方で、Cher は著者でもあり、AWS カンファレンスでも頻繁にスピーカーを勤めています。