Amazon EC2 での SAP HANA のバックアップ - AWS Backup

Amazon EC2 での SAP HANA のバックアップ

注記

AWS リージョン ごとの、サポートされているサービス には、Amazon EC2 インスタンスで SAP HANA データベースバックアップが利用可能な、現在サポートされているリージョンが含まれています。

AWS Backup は、Amazon EC2 インスタンス上の SAP HANA データベースのバックアップと復元をサポートします。

SAP HANA データベースと AWS Backup の概要

バックアップ作成機能とデータベース復元機能に加えて、SAP 用 Amazon EC2 Systems Manager との AWS Backup の統合により、お客様は SAP HANA データベースを識別してタグ付けすることができます。

AWS Backup は AWS Backint Agent と統合されており、SAP HANA のバックアップと復元を実行します。詳細については、「AWS Backint」を参照してください。

AWS Backup を通じて SAP HANA データベースをバックアップするための前提条件

バックアップと復元を実行する前に、いくつかの前提条件を満たす必要があります。これらの手順を実行するには、SAP HANA データベースへの管理者アクセス権と、AWS アカウントに新しい IAM ロールとポリシーを作成するためのアクセス許可が必要となることに注意してください。

Amazon EC2 Systems Manager で以下の前提条件を満たします。

各 HANA インスタンスは 1 回のみ登録することが、ベストプラクティスです。登録を複数回行うと、同じデータベースに対して複数の ARN が発生する可能性があります。単一の ARN と登録を維持することで、バックアッププランの作成とメンテナンスが簡単になり、バックアップの予期しない重複を減らすこともできます。

AWS Backup コンソールでの SAP HANA バックアップオペレーション

SAP セットアップの前提条件と SSM が完了すると、EC2 ででの SAP HANA データベースのバックアップと復元が可能になります。

SAP HANA リソース保護のオプトイン

SAP HANA データベースの保護に AWS Backup を使用するには、SAP HANA を、保護されたリソースの 1 つとしてオンに切り替える必要があります。オプトインするには、以下の操作を行います。

  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. 左のナビゲーションペインの [設定] を選択します。

  3. [サービスのオプトイン] で、[リソースを設定] を選択します。

  4. [SAP HANA on Amazon EC2] にオプトインします。

  5. [確認] をクリックします。

これで、Amazon EC2 での SAP HANA のサービスオプトインが有効になります。

SAP HANA データベースのスケジュールされたバックアップの作成

既存のバックアッププランを編集して、SAP HANA リソースを追加することも、SAP HANA リソース専用の新しいバックアッププランを作成することもできます。

新しいバックアッププランの作成を選択する場合は、次の 3 つのオプションがあります。

  1. オプション 1: テンプレートから始める

    1. バックアッププランテンプレートを選択します。

    2. バックアッププラン名を指定します。

    3. [プランを作成] をクリックします。

  2. オプション 2: 新しいプランを作成する

    1. バックアッププラン名を指定します。

    2. オプションとして、バックアッププランに追加するタグを指定します。

    3. バックアップルール設定を指定します。

      1. バックアップルール名を指定します。

      2. 既存のボールトを選択するか、新しいバックアップボールトを作成します。これが、バックアップが保存される場所です。

      3. バックアップ頻度を指定します。

      4. バックアップウィンドウを指定します。

        注: コールドストレージへの移行は現在サポートされていません

      5. 保持期間を指定します。

        コピー先へのコピーは現在サポートされていません。

      6. (オプション) 復旧ポイントに追加するタグを指定します。

    4. [プランを作成] をクリックします。

  3. オプション 3: JSON を使用したプランの定義

    1. 既存のバックアッププランの JSON 式を変更するか、新しい式を作成して、バックアッププランの JSON を指定します。

    2. バックアッププラン名を指定します。

    3. [JSON を検証] をクリックします。

    バックアッププランが正常に作成されたら、次のステップでバックアッププランにリソースを割り当てることができます。

どのプランを使用する場合でも、必ずリソースを割り当てます。システムデータベースとテナントデータベースを含め、どの SAP HANA データベースを割り当てるかを選択できます。また、特定のリソース ID を除外することもできます。

SAP HANA データベースのオンデマンドバックアップの作成

作成後すぐに実行されるフルオンデマンドバックアップを作成できます。Amazon EC2 インスタンス上の SAP HANA データベースのオンデマンドバックアップはフルバックアップであり、増分バックアップはサポートされていないことに注意してください。

これで、オンデマンドバックアップが作成されました。指定したリソースのバックアップが開始されます。コンソールは、ジョブの進行状況を確認できる [バックアップジョブ] ページに移動します。画面上部の青いバナーにあるバックアップジョブ ID をメモしておきます。バックアップジョブのステータスを簡単に確認するために必要となるためです。バックアップが完了すると、ステータスは Completed に進みます。バックアップには最大で数時間かかることもあります。

[バックアップジョブリスト] を更新して、ステータスの変更を確認します。[バックアップジョブ ID] を検索してクリックすると、詳細なジョブステータスを表示することもできます。

SAP HANA データベースの継続的バックアップ

継続的バックアップを作成して、ポイントインタイムリストア (PITR) で使用できます (オンデマンドバックアップでは、リソースは取得時の状態で保存されるのに対し、PITR では一定期間にわたる変更を記録する継続的バックアップを使用する点に注意してください)。

継続的バックアップにより、EC2 インスタンス上の SAP HANA データベースは、精度の 1 秒 (最大 35 日前) 以内に、選択した特定の時間に巻き戻すことで SAP HANA データベースをサポートします。継続的なバックアップは、最初にリソースのフルバックアップを作成し、次にリソースのトランザクションログを定期的にバックアップすることによって機能します。PITR 復元は、フルバックアップにアクセスし、AWS Backup で復旧を指定した時点までトランザクションログを再生することで機能します。

AWS Backup コンソールまたは API を使用し、AWS Backup でバックアッププランを作成するときに、継続的バックアップをオプトインできます。

コンソールを使用して継続的なバックアップを有効にするには
  1. AWS Management Console にサインインして、AWS Backup コンソール (https://console.aws.amazon.com/backup) を開きます。

  2. ナビゲーションペインで、[バックアッププラン] を選択して、[バックアッププランの作成] を選択します。

  3. [バックアップルール]で、[バックアップルールの追加] を選択します。

  4. [バックアップルールの設定] セクションで、[サポートされているリソースの継続的なバックアップを有効にする] を選択します。

SAP HANA データベースバックアップの PITR (ポイントインタイムリストア) を無効にしても、ログは復旧ポイントの有効期限まで (ステータスが EXPIRED) に等しくなるまで) AWS Backup に送信され続けます。SAP HANA 内の別のログバックアップ場所に変更して、AWS Backup へのログの送信を停止できます。

ステータスが STOPPED になっている継続的復旧ポイントは、継続的復旧ポイントが中断されたことを示します。つまり、SAP HANA から AWS Backup に送信された、データベースへの増分変更を示すログにギャップがあるということです。この期間のギャップ内に発生した復旧ポイントのステータスは STOPPED. です。

継続的バックアップ (復旧ポイント) の復元ジョブ中に発生する可能性のある問題については、本ガイドの「SAP HANA 復元のトラブルシューティング」セクションを参照してください。

SAP HANA データベースのバックアップの表示

バックアップジョブのステータスを表示する:

  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. ナビゲーションペインで ジョブを選択します。

  3. バックアップジョブ、復元ジョブ、またはコピージョブを選択すると、ジョブのリストが表示されます。

  4. ジョブ ID を検索してクリックすると、詳細なジョブステータスが表示されます。

ボールト内のすべての復旧ポイントを表示する:

  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. ナビゲーションペインで、[バックアップボールト] を選択します。

  3. バックアップボールトを検索してクリックすると、そのボールト内のすべての復旧ポイントが表示されます。

保護されたリソースの詳細を表示する:

  1. https://console.aws.amazon.com/backup で AWS Backup コンソールを開きます。

  2. ナビゲーションペインで、[保護されたリソース] を選択します。

  3. リソースタイプでフィルタリングして、そのリソースタイプのすべてのバックアップを表示することもできます。

SAP HANA データベースと AWS Backup での AWS CLI の使用

バックアップコンソール内の各アクションには、対応する API 呼び出しがあります。

AWS Backup とそのリソースをプログラムで設定、管理するには、API 呼び出し StartBackupJob を使用して EC2 インスタンス上の SAP HANA データベースをバックアップします。

CLI コマンドとして start-backup-job を使用します。

SAP HANA データベースのバックアップのトラブルシューティング

ワークフロー中にエラーが発生した場合は、次のエラー例と推奨される解決策を参照してください。

Python の前提条件

  • エラー: Python バージョンに関連する Zypper エラー。これは、AWS Backup に Python 3.6 が必要であるにもかかわらず、SUSE 12 SP5 はデフォルトで Python 3.4 をサポートしているためです。

    解決策: 次の手順を実行して、SUSE12 SP5 に複数のバージョンの Python をインストールします。

    1. update-alternatives コマンドを実行して、「/usr/bin/python3」を直接使用する代わりに、「/usr/local/bin/」で Python 3 のシンボリックリンクを作成します。このコマンドは、Python 3.4 をデフォルトバージョンとして設定します。コマンドは次のとおりです: # sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.4 5

    2. 次のコマンドを実行して、代替設定に Python 3.6 を追加します: # sudo update-alternatives —install /usr/local/bin/python3 python3 /usr/bin/python3.6 2

    3. 次のコマンドを実行して、代替設定を Python 3.6 に変更します: # sudo update-alternatives —config python3

      次の出力が表示されます。

      There are 2 choices for the alternative python3 (providing /usr/local/bin/python3). Selection Path Priority Status * 0 /usr/bin/python3.4 5 auto mode 1 /usr/bin/python3.4 5 manual mode 2 /usr/bin/python3.6 2 manual mode Press enter to keep the current choice[*], or type selection number:
    4. Python 3.6 に対応する番号を入力します。

    5. Python バージョンをチェックし、Python 3.6 が使用されていることを確認します。

    6. (オプションですが推奨) Zypper コマンドが想定どおりに動作することを確認します。

SAP の検出と登録のための Amazon EC2 Systems Manager

  • エラー: SSM for SAP はワークロードを検出できませんでした。これは、AWS Secrets Manager と SSM のパブリックエンドポイントへのアクセスがブロックされているためです。

    解決策: SAP HANA データベースからエンドポイントに到達可能かどうかをテストします。到達できない場合は、AWS Secrets Manager 用 Amazon VPC エンドポイントおよび SSM for SAP 用 Amazon VPC エンドポイントを作成できます。

    1. 次のコマンドを実行して、Amazon EC2 host for HANA DB から Secrets Manager へのアクセスをテストします: aws secretsmanager get-secret-value —secret-id hanaeccsbx_hbx_database_awsbkp。コマンドが値を返さない場合、ファイアウォールが Secrets Manager サービスエンドポイントへのアクセスをブロックしています。ログは「Secrets Manager からシークレットを取得中」ステップで停止します。

    2. コマンド aws ssm-sap list-registration を実行して、SSM for SAP エンドポイントへの接続をテストします。コマンドが値を返さない場合、ファイアウォールが SSM for SAP エンドポイントへのアクセスをブロックしています。

      エラーの例: Connection was closed before we received a valid response from endpoint URL: “https://ssm-sap.us-west-2.amazonaws.com/register-application"

    エンドポイントに到達できない場合、続行するには 2 つのオプションがあります。

    • Secrets Manager および SSM for SAP のパブリックサービスエンドポイントへのアクセスを許可するファイアウォールポートを開きます。または、

    • Secrets Manager と SSM for SAP の VPC エンドポイントを作成し、次の操作を行います。

      • DNSSupport と DNSHostname に対して Amazon VPC が有効になっていることを確認します。

      • VPC エンドポイントで [プライベート DNS 名を許可] が有効になっていることを確認します。

      • SSM for SAP の検出が正常に完了すると、ホストが検出されたことがログに示されます。

  • エラー: AWS Backup サービスパブリックエンドポイントへのアクセスがブロックされたため、AWS Backup と Backint の接続が失敗します。aws-backint-agent.log は次のようなエラーを表示する場合があります: time="2024-01-03T11:39:15-08:00" level=error msg="Storage configuration validation failed: missing backup data plane Id" または level=fatal msg="Error performing backup missing backup data plane Id。また、AWS Backup コンソールに Fatal Error: An internal error occured. が表示される場合があります

    解決策: エンドポイントに到達できない場合、続行するには 2 つのオプションがあります。

    • ファイアウォールポートを開いて、パブリックサービスエンドポイント (HTTPS) へのアクセスを許可します。このオプションを使用すると、DNS はパブリック IP アドレスを通じて AWS のサービスへのリクエストを解決します。

    • VPC エンドポイントを作成すると、AWS Backup に必要な AWS のサービスとの間でトラフィックがプライベートにルーティングされます。このオプションを使用すると、DNS はプライベート IP アドレスを通じてこれらのサービスのリクエストを解決します。このオプションでは、リクエストをプライベートエンドポイントに転送するルールを追加するために、DNS サーバーの更新が必要になる場合があります。

  • エラー: 特殊文字を含む HANA パスワードが原因で、SSM for SAP の登録が失敗します。エラーの例には、systemdb に対して hdbsql を使用した後の Error connecting to database HBX/HBX when validating its credentials.Discovery failed because credentials for HBX/SYSTEMDB either not provided or cannot be validated.、または HANA データベースの Amazon EC2 インスタンスからテストされた tenantdb などがあります。

    [ジョブ] ページの AWS Backup コンソールで、バックアップジョブの詳細に、エラー Miscellaneous: b’* 10: authentication failed SQLSTATE: 28000\n’ を含むステータス FAILED が表示される場合があります。

    解決策: パスワードに特殊文字 ($ など) が含まれていないことを確認します。

  • エラー: b’* 447: backup could not be completed: [110507] Backint exited with exit code 1 instead of 0. console output: time...

    解決策: AWS BackInt Agent for SAP HANA のインストールが正常に完了していない可能性があります。AWS Backint AgentAmazon EC2 Systems Manager エージェントを SAP アプリケーションサーバーにデプロイするプロセスを再試行してください。

  • エラー: コンソールは登録後にログファイルと一致しません。

    SAP コンソール向け SSM for SAP Application Manager には登録が成功したことが表示されますが、検出ログには、HANA DB に接続しようとしたときに、特殊文字を含むパスワードが原因で登録が失敗したことが表示され、登録が成功したことは確認されません。正常に登録されたとコンソールに表示されるが、ログには表示されない場合、バックアップは失敗します。

    登録ステータスを確認する:

    1. SSM コンソールにログインします。

    2. 左のナビゲーションから [コマンドを実行] をクリックします。

    3. テキストフィールド [コマンド履歴] で、登録に使用したインスタンスと等しい値と共に、Instance ID:Equal: を入力します。これにより、コマンド履歴がフィルタリングされます。

    4. コマンド ID 列を使用して、ステータスが Failed のコマンドを見つけます。次に、AWSSystemsManagerSAP-Discovery というドキュメント名を見つけます。

    5. AWS CLI で、aws ssm-sap register-application status コマンドを実行します。返された値が Error の場合、登録は失敗しました。

    解決策: HANA パスワードに特殊文字 (「$」など) が含まれていないことを確認します。

SAP HANA データベースのバックアップの作成

  • エラー: SystemDB または TenantDB のオンデマンドバックアップが作成されると、AWS Backup コンソールに「致命的エラー」というメッセージが表示されます。これが発生するのは、パブリックエンドポイントにアクセスできないためです。この原因は、このエンドポイントへのアクセスをブロックするクライアント側のファイアウォールにあります。

    aws-backint-agent.log は、level=error msg="Storage configuration validation failed: missing backup data plane Id"level=fatal msg="Error performing backup missing backup data plane Id." などのエラーを表示する場合があります。

    解決策: パブリックエンドポイントへのファイアウォールアクセスを開きます。

  • エラー: Database cannot be backed up while it is stopped

    解決策: バックアップするデータベースがアクティブであることを確認してください。データベースデータとログは、データベースがオンラインの場合のみ、バックアップできます。

  • エラー: Getting backup metadata failed. Check the SSM document execution for more details.

    解決策: バックアップするデータベースがアクティブであることを確認してください。データベースデータとログは、データベースがオンラインの場合のみ、バックアップできます。

バックアップログのモニタリング

  • エラー: Encountered an issue with log backups, please check SAP HANA for details.

    解決策: SAP HANA をチェックして、ログバックアップが SAP HANA から AWS Backup に送信されていることを確認します。

  • エラー: One or more log backup attempts failed for recovery point.

    解決策: 詳細については SAP HANA を確認します。ログバックアップが SAP HANA から AWS Backup に送信されていることを確認します。

  • エラー: Unable to determine the status of log backups for recovery point.

    解決策: 詳細については SAP HANA を確認します。ログバックアップが SAP HANA から AWS Backup に送信されていることを確認します。

  • エラー: Log backups for recovery point %s were interrupted due to a restore operation on the database.

    解決策: 復元ジョブが完了するまで待ちます。ログバックアップが再開されるはずです。

AWS Backup を使用する場合の SAP HANA 用語の用語集

データバックアップタイプ: SAP HANA は、フルバックアップと INC (増分) の 2 つのタイプのデータバックアップをサポートしています。AWS Backup は、各バックアップオペレーションでどのタイプを使用するかを最適化します。

カタログバックアップ: SAP HANA はカタログと呼ばれる独自のマニフェストを管理しています。AWS Backup は、このカタログを操作します。新しいバックアップを行うたびに、カタログにエントリが作成されます。

継続的ログバックアップ (トランザクションログ): ポイントインタイムリカバリ (PITR) 機能では、SAP HANA は最新のバックアップ以降のすべてのトランザクションを追跡します。

システムコピー: 復元先のデータベースが、復旧ポイントの作成元のソースデータベースと異なる復元ジョブ。

破壊的復元: 破壊的復元は、復元ジョブの一タイプで、復元されたデータベースがソースまたは既存のデータベースを削除または上書きするものです。

フル: フルバックアップはデータベース全体のバックアップです。

INC: 増分バックアップは、前回のバックアップ以降に SAP HANA データベースに加えられたすべての変更のバックアップです。

詳細については、「AWS 用語集」を参照してください。

EC2 インスタンスのリリースノートでの SAP HANA データベースの AWS Backup のサポート

現時点ではサポートされていない機能が、以下のとおりあります。

  • 継続的バックアップ (トランザクションログを使用するもの) を他のリージョンやアカウントにコピーすることはできません。スナップショットバックアップは、フルバックアップからサポートされているリージョンとアカウントにコピーできます。

  • Backup Audit Manager とレポートは現在サポートされていません。

  • AWS リージョン ごとの、サポートされているサービス には、Amazon EC2 インスタンスで現在サポートされている SAP HANA データベースバックアップのリージョンが含まれています。