$30 off During Our Annual Pro Sale. View Details »

第142回 雲勉 AWS Backupの復元テストで自動化できること・できないこと

第142回 雲勉 AWS Backupの復元テストで自動化できること・できないこと

下記、勉強会での資料です。
https://youtu.be/uiZTxinkEtQ

iret.kumoben

August 29, 2024
Tweet

More Decks by iret.kumoben

Other Decks in Technology

Transcript

  1. 講師自己紹介 2 畠山大治 ⚫ 所属:クラウドインテグレーション事業部 アイレット歴は1年ちょっと ⚫ 業務:インフラ構築、監視設計・設定 ⚫ 趣味:Perfumeを追いかける

    読書、映画・アニメを見る ⚫ 認定:AWS Community Builders 2024 Japan AWS Top Engineers 2024 Japan AWS All Certifications Engineers iretテクニカルアンバサダー ご質問は YouTubeのコメント欄で受け付けております。 後日回答させていただきます!
  2. アジェンダ 3 ⚫ AWS Backupの復元テストについて ➢ 復元テストとは ➢ オンデマンド復元との違い ⚫

    実際に使ってみた ➢ 前提、検証で使った構成紹介 ➢ 復元テストの設定手順 ⚫ つまずきと解決策 ➢ 復元テストでできなかったこと ➢ 解決策と実装方法
  3. 復元テストとは 5 ⚫ AWS Backupで取得したバックアップの復元を自動化できる機能 ➢ バックアップボールトに保存されている復旧ポイントからの復元を スケジューリングできる ⚫ 作成されたリソースの削除まで自動で実行してくれる

    ➢ 復元時に自動的に付与されるタグを元に削除対象を判定 ⚫ 復元テストの成功/失敗は「復元ジョブ」の中で確認可能 ➢ EventBridgeを使うことで失敗した時の通知ができる
  4. オンデマンド復元との違い 7 ⚫ 復元するタイミング・頻度 ➢ 復元テスト:定期実行される ➢ オンデマンド復元:一時的な復元 ⚫ リージョン

    ➢ 復元テスト:一部リージョン(GovCloudリージョンや中国リージョン)で利用不可 ➢ オンデマンド復元:AWS Backupが提供されているリージョンなら使用可能 ⚫ 復元実行後の挙動 ➢ 復元テスト:復元されたリソースは削除される ➢ オンデマンド復元:復元されたリソースはそのまま残る
  5. 前提、検証で使った構成紹介 9 実際の案件の要件に近い条件で検証を実施しました ⚫ 復元対象リソース:Amazon FSx for Windows File Server

    ⚫ Windows認証:自己管理型 Microsoft Active Directory ➢ ADDC(Active Directory Domain Controller)の機能を有効化、セットアップ済みの Windows Server(EC2)を別途作成 ※ADDCのセットアップ手順は割愛します ➢ 新しいフォレストを作成し、検証用ユーザーを作成 ➢ 検証用ユーザーを使い事前にFSxをADに参加させておく
  6. 前提、検証で使った構成紹介 10 ⚫ 復元テストで復元したFSxは別のVPCで 起動させる ➢ 本番VPCにあるFSxのバックアップを AWS Backupで定期的に取得 ➢

    取得済みのバックアップから復元テスト用 VPCに復元 ⚫ テストサーバーからFSxに接続 できることを確認 ➢ 構成簡略化のために、IP制限をかけた上で パブリックサブネットに配置
  7. 復元テストの設定手順:リソースの割り当て 16 ⚫ 復元パラメータの設定 ➢ 復元するために必要なパラメータを設定 ➢ 復元するリソースの種類によって設定するパラ メータが変わる ➢

    FSxの場合は… • ファイルシステムを作成するサブネット • 優先サブネット • Managed Microsoft Active Directory のID (該当する場合のみ設定) など
  8. 復元テストでできなかったこと 22 仕様を確認してみると ⚫ 復元テストを使用するには、メタデータをパラメータとして渡す必要がある ⚫ AWS Backupが自動的に補完してくれるメタデータもあるが、FSxの場合は 補完が不完全 ⚫

    メタデータを上書きすることも可能だが、上書き不可のメタデータもある https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restore-testing-inferred-metadata.html
  9. 復元テストでできなかったこと 23 仕様を確認してみると ⚫ 復元テストを使用するには、メタデータをパラメータとして渡す必要がある ⚫ AWS Backupが自動的に補完してくれるメタデータもあるが、FSxの場合は 補完が不完全 ⚫

    メタデータを上書きすることも可能だが、上書き不可のメタデータもある https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restore-testing-inferred-metadata.html
  10. 復元テストでできなかったこと 24 仕様を確認してみると ⚫ 復元テストを使用するには、メタデータをパラメータとして渡す必要がある ⚫ AWS Backupが自動的に補完してくれるメタデータもあるが、FSxの場合は 補完が不完全 ⚫

    メタデータを上書きすることも可能だが、上書き不可のメタデータもある https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restore-testing-inferred-metadata.html “SelfManagedActiveDirectoryConfiguration” についての言及が無い。。。
  11. 復元テストでできなかったこと 25 ダメ元でAWS CLIから実行してみるとエラー発生 An error occurred (InvalidParameterValueException) when calling

    the CreateRestoreTestingSelection operation: Restore metadata overrides are invalid: Restore metadata overrides contain an invalid or non- overridable nested key. Overridable nested keys: [deploymenttype, junctionpath, ontapvolumetype, logconfiguration, throughputcapacity, securitystyle, diskiopsconfiguration, activedirectoryid, sizeinmegabytes, storageefficiencyenabled, storagevirtualmachineid, tieringpolicy, preferredsubnetid]. 以下のキーしか上書きできないとのこと • deploymenttype • junctionpath • ontapvolumetype • logconfiguration • throughputcapacity • securitystyle • diskiopsconfiguration • activedirectoryid • sizeinmegabytes • storageefficiencyenabled • storagevirtualmachineid • tieringpolicy • preferredsubnetid つまり、Windows認証にセルフマネージドADを選択しているFSxは 復元テストが使用できない
  12. 解決策と実装方法 26 3つのStep Functionsステートマシンを組み合わせて復元テストと同等の機能を実装 1. オンデマンド復元を実行するStep FunctionsワークフローをEventBridge スケジューラーで定期実行 2. AWS

    Backupの復元ジョブをトリガーに、FSxにタグ付けをするStep Functions ワークフローを起動 3. 特定のタグがついているFSxを削除するStep FunctionsワークフローをEventBridge スケジューラーで定期実行 Step Functions, Lambda, EventBridgeを使ってスクラッチで実装
  13. 解決策と実装方法 27 Lambdaを主軸にすることも可能だが、今回はStep Functionsを主軸に実装 選定にあたっての背景: ⚫ Lambdaの保守コストを減らしたい ➢ Step Functionsの中で必要なLambdaは極力簡単なコードに

    ➢ ランタイム更新による影響を抑え、かつ引き継ぎコストも極力軽減させる ⚫ とはいえ、Step Functionsで完結させることにこだわらない ➢ Lambdaなしでも実装は可能だが、Step Functionsの定義が複雑になる
  14. 解決策と実装方法 28 オンデマンド復元の実行 ステートマシンを 定期実行 EventBridge スケジューラー AWS Backupによる オンデマンド復元

    FSxにタグ付けする EventBridge ルール ステートマシンを起動 FSxを削除する ステートマシンを 定期実行 EventBridge スケジューラー 復元ジョブの 成功
  15. 解決策と実装方法 32 1. オンデマンド復元の実行 ピックアップされた最新の復旧ポイント からの復元を実行 ※メタデータを挿入した上で StartRestoreJobアクションを実行 "Metadata": {

    "kmskeyid": ”xxxxxxxxx", "securitygroupids": ["sg-xxxxxxxxxx"], "storagetype": "SSD", "subnetids": ["subnet-xxxxxxxxxx","subnet-xxxxxxxxxx"], "WindowsConfiguration": { "DeploymentType": "MULTI_AZ_1", "ThroughputCapacity": 16, "PreferredSubnetId": "subnet- xxxxxxxxxx ", "SelfManagedActiveDirectoryConfiguration": { "DomainName": " xxxxxxxxxx.local", "FileSystemAdministratorsGroup": "Domain Admins", "UserName": "xxxxxxxxxx", "Password.$": "$.password.Parameter.Value", "DnsIps": [”xx.xx.xx.xx"] }, "AutomaticBackupRetentionDays": "0" } }
  16. 参考資料 41 復元テスト | AWS Backup 開発者ガイド https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restore-testing.html 復元テストの推定メタデータ |

    AWS Backup 開発者ガイド https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restore-testing-inferred- metadata.html FSX ファイルシステムの復元 | AWS Backup 開発者ガイド https://docs.aws.amazon.com/ja_jp/aws-backup/latest/devguide/restoring-fsx.html