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 アドレス、ユーザー名、パスワードを変更します。
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=>
ユーザーを作成します。 この例では、SYSTEMDB に
AZACSNAP
ユーザーを作成します:hdbsql SYSTEMDB=> CREATE USER AZACSNAP PASSWORD <AZACSNAP_PASSWORD_CHANGE_ME> NO FORCE_FIRST_PASSWORD_CHANGE;
ユーザーにアクセス許可を付与します。 この例では、データベース整合性ストレージ スナップショットを実行できるように、
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;
省略可能 - ユーザーのパスワードが期限切れにならないようにします。
Note
この変更を行う前に、会社のポリシーを確認します。
次の例では、
AZACSNAP
ユーザーのパスワードの有効期限を無効にします。 この変更がないと、ユーザーのパスワードが期限切れになり、スナップショットが正しく取得されない可能性があります。hdbsql SYSTEMDB=> ALTER USER AZACSNAP DISABLE PASSWORD LIFETIME;
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>
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>
コンポーネントは、すべて大文字 (H80
や PR1
など) の 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_logbackup
と basepath_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