Amazon Web Services ブログ
AWS Backup を使用して組織の AWS アカウントのクロスリージョンコピーを集中管理する
このブログは 2020 年 9 月 21 日に Cher Simon (プリンシパルパートナーソリューションアーキテクト) によって執筆された内容を日本語化したものです。原文はこちらを参照してください。
多くの組織は、単一の AWS アカウントでクラウドジャーニーを開始し、規制、コンプライアンス、セキュリティ、またはコスト追跡の目的で、徐々にマルチアカウント環境にクラウド活用を拡大していきます。組織はしばしば、高可用性、スケーラビリティ、パフォーマンスのために、AWS グローバルインフラストラクチャーの複数のリージョンにワークロードとアプリケーションをデプロイすることを選択します。マルチアカウントかつマルチリージョン環境で構築および運用するには、グローバルな災害復旧 (DR) およびビジネス継続性戦略が必要です。お客様は、オーバーヘッドを削減し、バックアップのコンプライアンスを改善するために、組織の AWS アカウント全体のクロスリージョンバックアップタスクを統合および自動化する集中化されたバックアップ管理プロセスを求めています。
AWS Backup は、Amazon EBS、Amazon EC2、Amazon RDS、Amazon Aurora、Amazon DynamoDB、Amazon EFS、AWS Storage Gateway など、AWS サービス全体のデータバックアップを簡素化および自動化する、フルマネージドでコスト効果の高いバックアップサービスです。さらに、AWS Backup は AWS Organizations と連携して、マルチアカウント環境におけるリソースのバックアップポリシーをひとつに集約したビューとして提供します。お客様は、リソースにタグ付けをするだけで AWS Backup が管理するクロスリージョンコピーのバックアップポリシーにそのリソースを関連付けることができます。この記事では、AWS Backup でバックアップポリシーをデプロイすることにより、組織の AWS アカウント全体のバックアップタスクを集中的に管理する方法をご紹介します。
前提条件
はじめに、管理アカウントで組織単位 (OU) を作成し、次の図に示すような組織階層に 3 つのメンバーアカウント (Prod アカウント、QA アカウント、Dev アカウント) を配置します。
- ルート OU には Prod OU と Non-Prod OU の 2 つの OU が含まれています。
- Prod アカウントを Prod OU に配置します。
- Non-Prod OU の中に QA OU と Dev OU を作成します。
- QA アカウントを QA OU に配置します。
- Dev アカウントを Dev OU に配置します。
このチュートリアルのステップ 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 をデプロイします。
組織の AWS アカウント全体のリソースを保護し、データのバックアップを他のリージョンにレプリケートするには、次の手順に従います。
- クロスアカウント管理のオプトイン
- IAM ロールの作成
- バックアップボールトの作成
- バックアップポリシーの作成
- バックアップポリシーのターゲットへのアタッチ
- AWS アカウント全体のバックアップと復元のアクティビティモニタリング
ステップ 1: クロスアカウント管理のオプトイン
- 管理アカウントにログインし、AWS Backup コンソールに移動し、左側のナビゲーションペインで設定を選択します。
- バックアップポリシーとクロスアカウントモニタリングの両方でオンにするをクリックします。ステータスがオンになっていることを確認します。
- AWS Backup がサポートする全てのリソースタイプを有効化します。
ステップ 2: IAM ロールの作成
AWS Backup がバックアップおよび復元の操作を実行できるように AWS Identity and Access Management (IAM) でサービスロールを設定します。メンバーアカウントに IAM ロールをデプロイするには、次の手順を実行します。
- 管理アカウントで AWS CloudFormation コンソールに移動し、ナビゲーションペインから StackSets を選択します。
- StackSets ページの上部で StackSet の作成を選択します。
- Amazon S3 URL に https://awsstorageblogresources.s3.us-west-2.amazonaws.com/chersimoncrossregioncopyblog/IAMStackSet.yaml を貼り付けます。
- StackSet の名前を指定します。IAM Configuration で crossaccountbackuprole と入力します。次へを選択します。
- StackSet オプションの設定画面は何も変更せず、次へを選択します。
- リージョンの指定で 米国東部 (バージニア北部) を選択します。その他のデフォルト設定はそのままにします。次へを選択します。
- AWS CloudFormation によって IAM リソースがカスタム名で作成される場合があることを承認します。にチェックし、送信を選択します。スタックインスタンスタブで StackSet のデプロイ進捗を確認し、次のスクリーンショットのように全てのスタックインスタンスのステータスが SUCCEEDED になるのを待ちます。
注意: AWS Backup は、メンバーアカウントにロールが存在するか、ロールを引き受けることができるかどうかを検証しません。今回のケースでは crossaccountbackuprole が、バックアップポリシーに追加する各アカウントで適切かどうか確認することをお勧めします。
ステップ 3: バックアップボールトの作成
AWS Backup のリカバリーポイントは、バックアップボールトに保存されている特定の時点におけるリソースのバックアップコンテンツを指します。次の手順を完了して、AWS Backup で保護する各アカウントのソースリージョンと宛先リージョンの両方に個別のバックアップボールトを作成します。
- 管理アカウントにログインしたままで AWS CloudFormation コンソールに移動し、ナビゲーションペインから StackSets を選択します。
- StackSets ページの上部で StackSet の作成を選択します。
- Amazon S3 URL に https://awsstorageblogresources.s3.us-west-2.amazonaws.com/chersimoncrossregioncopyblog/BackupVaultStackSet.yaml を貼り付けます。
- StackSet の名前を指定します。AWS Backup Configuration で prodbackupvault と入力します。次へを選択します。
- StackSet オプションの設定画面は何も変更せず、次へを選択します。
- 組織単位 (OU) にデプロイを選択します。AWS OU ID に、Prod OU の OU ID を入力します。OU ID は AWS Organizations コンソールのナビゲーションペインから AWS アカウントを選択し、Prod OU の OU ID を取得します。
- リージョンの指定で米国東部 (バージニア北部)、アジアパシフィック (東京)、欧州 (アイルランド) を選択します。その他のデフォルト設定はそのままにします。次へを選択します。送信を選択します。
Non-Prod OU でこの 7 ステップを繰り返してください。
- ステップ 4 の AWS Backup Configuration は nonprodbackupvault に置き換えてください。
- ステップ 6 の AWS OU ID を Non-Prod OU の OU ID に置き換えてください。
注意: バックアップボールト名は大文字小文字を区別し、AWS Backup は目的のバックアップボールトが存在するかどうかを検証しません。保護したい各メンバーアカウントとリージョンに適切なバックアップボールトが作成されていることを必ず確認してください。
ステップ 4: バックアップポリシーの作成
Prod-OU 用のバックアップポリシーを作成するには、次の手順に従ってください。
- 管理アカウントで AWS Backup コンソールに移動し、バックアップポリシーを選択してバックアップポリシーを作成を選択します。
- ポリシーの作成セクションで、次の操作を行います。
- ポリシー名に prodbackuppolicy と入力します。
- ポリシーの説明を入力します。
- バックアッププランを設定セクションのバックアッププランの詳細で、次のように指定します。
- バックアッププラン名に prodbackupplan と入力します。
- バックアッププランのリージョンで、米国東部 (バージニア北部)、欧州 (アイルランド)、アジアパシフィック (東京) を選択します。
- バックアップルールを追加セクションのバックアップルール名に prodbackuprule と入力します。
- バックアップボールトに prodbackupvault と入力します。(※下記のスクリーンショットとはレイアウトが変わっている可能性があります。)
- バックアップ頻度で毎日を選択します。
- バックアップウィンドウでバックアップウィンドウのデフォルトを使用 – おすすめを選択します。この選択でバックアップジョブは午前 5 時 (UTC) から 8 時間以内に開始されます。
- コールドストレージへの移行で月を選択し、3 と入力します。保持期間で月を選択し、6 と入力します。
注意: コールドストレージが利用できるサービスの最新情報はこちらをご参照ください。対象外のリソースがコールドストレージ移行に追加された場合、その移行は無視されます。このチュートリアルにおいては、Amazon RDS がコールドストレージ移行の対象外です。
- コピーを生成-オプションで、コピー先にコピー-オプションにアジアパシフィック (東京) を選択します。
- 送信先バックアップボールトに prodbackupvault と入力します。
- 詳細設定を展開し、コールドストレージへの移行で月を選択し、3 と入力します。保持期間で月を選択し、6 と入力します。
- リソースを割り当てるセクションで、次のように指定します。
- リソース割り当て名に prodresources と入力し、IAM ロールに crossaccountbackuprole と入力します。
- リソースタグキーに backup、タグ値に prod と入力します。
- ポリシーの作成を選択します。
Non-Prod OU 用のバックアップポリシーを作成するために、これらの 4 つのステップを繰り返します。
- ステップ 2a のポリシー名は nonprodbackuppolicy に置き換えます。
- ステップ 3a のバックアッププラン名は nonprodbackupplan に置き換えます。
- ステップ 3c のバックアップルール名は nonprodbackuprule に置き換えます。
- ステップ 3d のバックアップボールトは nonprodbackupvault に置き換えます。
- ステップ 3i の送信先バックアップボールトは nonprodbackupvault に置き換えます。
- ステップ 4a のリソース割り当て名は nonprodresources に置き換えます。
- ステップ 4b のタグ値は nonprod に置き換えます。
ステップ 5: バックアップポリシーのターゲットへのアタッチ
これで、バックアップポリシーをターゲットである個々のアカウントまたは OU にアタッチする準備が整いました。OU にバックアップポリシーを適用すると、選択した OU のメンバーアカウント全体のリソースが保護されます。
- 管理アカウントで AWS Backup コンソールに移動し、バックアップポリシーから prodbackuppolicy を選択します。ターゲットセクションでアタッチを選択し、Prod OU を選択します。アタッチを選択します。
- 同様に nonprodbackuppolicy を選択し、Non-Prod OU を選択します。
ステップ 6: AWS アカウント全体のバックアップと復元のアクティビティモニタリング
管理アカウントの AWS Backup コンソールのクロスアカウントモニタリングで、組織の AWS アカウント全体のバックアップ、コピー、復元ジョブをモニタリングできます。
AWS Backup コンソールでバックアップを復元するには、メンバーアカウントの AWS Backup コンソールの保護されたリソースを選択し、リストからリソース ID を選択します。復元する復旧ポイントを選択し、復元を選択します。プロンプトに従ってパラメータを指定します。バックアップを復元を選択します。
おめでとうございます!AWS のマルチアカウント環境全体でバックアップタスクとクロスリージョンコピーを集中管理するための AWS Backup の構成が完了しました。
クリーンアップ
今後の課金を避けるために、次の手順でサンプルリソースを削除してください。
- バックアップポリシーからターゲット OU を削除します。
- このガイドに従って、バックアップポリシー、バックアッププラン、リカバリポイントを削除します。
- AWS CloudFormation コンソールでスタックセットからのスタックインスタンスの削除をし、次にスタックセットの削除をすることで、IAM ロールとバックアップボールトを削除します。
まとめ
この記事では、AWS Backup を使用してクロスアカウント管理を集中化し、クロスリージョンコピーのバックアップポリシーをデプロイする方法を示しました。また、既存および新しい AWS アカウント全体に必要な IAM ロールとバックアップボールトを自動化するためのサンプル CloudFormation StackSets も提供しました。 これで、管理オーバーヘッドを最小限に抑えながら、DR プランにこのプロセスを組み込み、AWS 環境全体でビジネス継続性戦略を簡素化できるようになりました。
この記事を読んでいただきありがとうございました。
翻訳はソリューションアーキテクトの松本が担当しました。