次の方法で共有


Azure アプリケーション整合性スナップショット ツール用のデータベースの構成

この記事では、Azure NetApp Files または Azure Large Instances で使用できる Azure アプリケーション整合性スナップショット ツール (AzAcSnap) で使用するためにデータベースとデータベース前提条件を構成するためのガイドを提供します。

データベースとの通信を有効にする

このセクションでは、データベースとの通信を有効にする方法について説明します。 次のタブを使用して、使用しているデータベースを正しく選択します。

一元化された仮想マシンにデプロイする場合は、AzAcSnap ユーザーが hdbsql コマンドと hdbuserstore コマンドを実行できるように SAP HANA クライアントをインストールして設定する必要があります。 SAP HANA クライアントは、SAP Development Tools Web サイト からダウンロードできます。

スナップショット ツールは SAP HANA と通信し、データベースのセーブ ポイントを開始および解放するための適切なアクセス許可を持つユーザーが必要です。 次の例は、SAP HANA 2.0 ユーザーのセットアップと、SAP HANA データベースとの通信のための hdbuserstore を示しています。

次のコマンド例では、SAP HANA 2.0 データベース上の SYSTEMDB でユーザー (AZACSNAP) を設定します。 必要に応じて、IP アドレス、ユーザー名、パスワードを変更します。

  1. SYSTEMDB に接続します:

    hdbsql -n <IP_address_of_host>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD>
    
    Welcome to the SAP HANA Database interactive terminal.
    
    Type: \h for help with commands
    \q to quit
    
    hdbsql SYSTEMDB=>
    
  2. ユーザーを作成します。 この例では、SYSTEMDB に AZACSNAP ユーザーを作成します:

    hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
    
  3. ユーザーにアクセス許可を付与します。 この例では、データベース整合性ストレージ スナップショットを実行できるように、AZACSNAP ユーザーのアクセス許可を設定します:

    • SAP HANA バージョン 2.0 SPS 03 までのリリースに対応。

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
    • SAP HANA のバージョン2.0 SPS 04 以降のリリースでは、SAP は新たに、きめ細かい特権を追加しました。

      hdbsql SYSTEMDB=> GRANT BACKUP ADMIN, DATABASE BACKUP ADMIN, CATALOG READ TO AZACSNAP;
      
  4. 省略可能 - ユーザーのパスワードが期限切れにならないようにします。

    Note

    この変更を行う前に、会社のポリシーを確認します。

    次の例では、AZACSNAP ユーザーのパスワードの有効期限を無効にします。 この変更がないと、ユーザーのパスワードが期限切れになり、スナップショットが正しく取得されない可能性があります。

    hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
    
  5. SAP HANA Secure User Store を設定する(パスワードを変更する)。 この例では、Linux シェルから hdbuserstore コマンドを使用して、SAP HANA Secure User Store を設定します:

    hdbuserstore Set AZACSNAP <IP_address_of_host>:30013 AZACSNAP <AZACSNAP_PASSWORD_CHANGE_ME>
    
  6. SAP HANA Secure User Store が正しく設定されていることを確認します。 次の例と同様に、hdbuserstore コマンドを使用して出力を一覧表示します。 hdbuserstore の使用について詳しくは、SAP の Web サイトを参照してください。

    hdbuserstore List
    
    DATA FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.DAT
    KEY FILE : /home/azacsnap/.hdb/sapprdhdb80/SSFS_HDB.KEY
    
    KEY AZACSNAP
    ENV : <IP_address_of_host>:
    USER: AZACSNAP
    

SAP HANA との通信での SSL の使用

AzAcSnap では、SAP HANA の hdbsql コマンドを使用して SAP HANA と通信します。 hdbsql を使用すると、SSL オプションを使用して SAP HANA との通信を暗号化できます。

AzAcSnap では、azacsnap --ssl オプションを使用している場合、常に次のオプションが使用されます:

  • -e: TLS/SSL 暗号化を有効にします。 サーバーにより、使用可能な最も高いレベルのものが選択されます。
  • -ssltrustcert: サーバーの証明書を検証するかどうかを指定します。
  • -sslhostnameincert "*": サーバーの ID を検証するホスト名を指定します。 ホスト名として "*" を指定した場合、サーバーのホスト名は検証されません。

SSL 通信には、キー ストアおよびトラスト ストア ファイルも必要です。 これらのファイルは、Linux インストール上の既定の場所に格納される可能性があります。 ただし、さまざまな SAP HANA システムで適切なキー マテリアルが使用されるようにするために (各 SAP HANA システムで異なるキー ストア ファイルとトラストストア ファイルが使用される場合)、AzAcSnap ではキー ストア ファイルとトラストストア ファイルが securityPath の場所に格納されることを想定しています。 AzAcSnap 構成ファイルは、この場所を指定します。

キー ストア ファイル

同じキー マテリアルで複数のシステム識別子 (SID) を使用している場合は、AzAcSnap 構成ファイルで定義されているように securityPath の場所へのリンクを簡単に作成できます。 SSL を使用するすべての SID に対してこれらの値が存在することを確認します。

  • openssl の場合: ln $HOME/.ssl/key.pem <securityPath>/<SID>_keystore
  • commoncrypto の場合: ln $SECUDIR/sapcli.pse <securityPath>/<SID>_keystore

SID ごとに異なるキー マテリアルを持つ複数の SID を使用している場合は、SID の AzAcSnap 構成ファイルで定義されているように securityPath の場所にファイルをコピー (または移動および名前変更) します。

  • openssl の場合: mv key.pem <securityPath>/<SID>_keystore
  • commoncrypto の場合: mv sapcli.pse <securityPath>/<SID>_keystore

AzAcSnap が hdbsql を呼び出すと、hdbsql コマンド ラインに -sslkeystore=<securityPath>/<SID>_keystore が追加されます。

トラスト ストア ファイル

同じキー マテリアルで複数の SID を使用している場合は、AzAcSnap 構成ファイルで定義されているように securityPath の場所へのハード リンクを作成します。 SSL を使用するすべての SID に対してこれらの値が存在することを確認します。

  • openssl の場合: ln $HOME/.ssl/trust.pem <securityPath>/<SID>_truststore
  • commoncrypto の場合: ln $SECUDIR/sapcli.pse <securityPath>/<SID>_truststore

SID ごとに異なるキー マテリアルを持つ複数の SID を使用している場合は、SID の AzAcSnap 構成ファイルで定義されているように securityPath の場所にファイルをコピー (または移動および名前変更) します。

  • openssl の場合: mv trust.pem <securityPath>/<SID>_truststore
  • commoncrypto の場合: mv sapcli.pse <securityPath>/<SID>_truststore

ファイル名の <SID> コンポーネントは、すべて大文字 (H80PR1など) の SAP HANA システム識別子である必要があります。 AzAcSnap が hdbsql を呼び出すと、コマンド ラインに -ssltruststore=<securityPath>/<SID>_truststore が追加されます。

azacsnap -c test --test hana --ssl openssl を実行すると (SID は構成ファイルの H80)、次のように hdbsql 接続が実行されます:

hdbsql \
    -e \
    -ssltrustcert \
    -sslhostnameincert "*" \
    -sslprovider openssl \
    -sslkeystore ./security/H80_keystore \
    -ssltruststore ./security/H80_truststore
    "sql statement"

上記のコードでは、バックスラッシュ (\) 文字は、コマンド ラインで渡される複数のパラメーターをわかりやすくするためのコマンド ライン ラップです。

データベースを構成する

このセクションでは、データベースを構成する方法について説明します。

SAP HANA の構成

ログ バックアップとカタログを保護するために SAP HANA に適用できる変更があります。 既定では、basepath_logbackupbasepath_catalogbackup が設定され、SAP HANA によって関連ファイルが $(DIR_INSTANCE)/backup/log ディレクトリに配置されます。 AzAcSnap がスナップショットを作成するように構成されているボリューム上にこの場所がある可能性は低いので、ストレージ スナップショットはこれらのファイルを保護しません。

次の hdbsql コマンドの例は、AzAcSnap でスナップショットを作成できるストレージ ボリューム上の場所にログとカタログ のパスを設定する方法を示しています。 コマンド ラインの値がローカルの SAP HANA 構成と一致していることを確認してください。

ログ バックアップの場所を構成する

この例では、basepath_logbackup パラメーターの変更を示します:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_logbackup') = '/hana/logbackups/H80' WITH RECONFIGURE"

カタログ バックアップの場所を構成する

この例では、basepath_catalogbackup パラメーターの変更を示します。 まず、basepath_catalogbackup パスがファイル システムに存在することを確認します。 そうでない場合は、ディレクトリと同じ所有権を持つパスを作成します。

ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

パスを作成する必要がある場合、次の例ではパスを作成し、適切な所有権とアクセス許可を設定します。 これらのコマンドをルートとして実行する必要があります。

mkdir /hana/logbackups/H80/catalog
chown --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
chmod --reference=/hana/shared/H80/HDB00 /hana/logbackups/H80/catalog
ls -ld /hana/logbackups/H80/catalog
drwxr-x--- 4 h80adm sapsys 4096 Jan 17 06:55 /hana/logbackups/H80/catalog

次の例では、SAP HANA の設定を変更します:

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'basepath_catalogbackup') = '/hana/logbackups/H80/catalog' WITH RECONFIGURE"

ログおよびカタログのバックアップの場所を確認する

ログとカタログのバックアップの場所に変更を加えた後、次のコマンドを使用して設定が正しいことを確認します。

この例では、設定は SYSTEM 設定として表示されます。 このクエリは、比較のために DEFAULT 設定も返します。

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where (key = 'basepath_databackup' or key ='basepath_datavolumes' or key = 'basepath_logbackup' or key = 'basepath_logvolumes' or key = 'basepath_catalogbackup')"
global.ini,DEFAULT,,,persistence,basepath_catalogbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_databackup,$(DIR_INSTANCE)/backup/data
global.ini,DEFAULT,,,persistence,basepath_datavolumes,$(DIR_GLOBAL)/hdb/data
global.ini,DEFAULT,,,persistence,basepath_logbackup,$(DIR_INSTANCE)/backup/log
global.ini,DEFAULT,,,persistence,basepath_logvolumes,$(DIR_GLOBAL)/hdb/log
global.ini,SYSTEM,,,persistence,basepath_catalogbackup,/hana/logbackups/H80/catalog
global.ini,SYSTEM,,,persistence,basepath_datavolumes,/hana/data/H80
global.ini,SYSTEM,,,persistence,basepath_logbackup,/hana/logbackups/H80
global.ini,SYSTEM,,,persistence,basepath_logvolumes,/hana/log/H80

ログ バックアップのタイムアウトの構成

ログ バックアップを実行する SAP HANA の既定の設定は 900 秒 (15 分) です。 この値を 300 秒 (5 分) に減らすことをおすすめします。 そして、これらのファイルの定期的なバックアップを実行することが可能です(例えば、10分ごとなど)。 これらのバックアップを作成するには、構成ファイルの OTHER ボリューム セクションに log_backup ボリュームを追加します。

hdbsql -jaxC -n <HANA_ip_address>:30013 -i 00 -u SYSTEM -p <SYSTEM_USER_PASSWORD> "ALTER SYSTEM ALTER CONFIGURATION ('global.ini', 'SYSTEM') SET ('persistence', 'log_backup_timeout_s') = '300' WITH RECONFIGURE"

ログ バックアップのタイムアウトを確認する

ログ バックアップタイムアウトに変更を加えた後、次のコマンドを使用してタイムアウトが設定されていることを確認します。

この例では、設定は SYSTEM 設定として表示されます。 このクエリは、比較のために DEFAULT 設定も返します。

hdbsql -jaxC -n <HANA_ip_address> - i 00 -U AZACSNAP "select * from sys.m_inifile_contents where key like '%log_backup_timeout%' "
global.ini,DEFAULT,,,persistence,log_backup_timeout_s,900
global.ini,SYSTEM,,,persistence,log_backup_timeout_s,300

次のステップ