このガイドでは、Google Cloud 上の SAP HANA デプロイガイドに従って、Google Cloud にデプロイされた SAP HANA システムを操作する方法について説明します。このガイドは、標準の SAP ドキュメントに代わるものではありません。
Google Cloud 上での SAP HANA システムの管理
このセクションでは、SAP HANA システムの運用に必要な管理タスク(システムの起動、停止、クローンの作成など)の実行方法を示します。
インスタンスの起動と停止
1 つまたは複数の SAP HANA ホストをいつでも停止できます。インスタンスを停止すると、インスタンスはシャットダウンされます。シャットダウンが 2 分以内に完了しない場合、インスタンスは強制停止されます。インスタンスを停止する前に、インスタンスで実行されている SAP HANA を停止することをおすすめします。
VM の停止
仮想マシン(VM)インスタンスを停止すると、Compute Engine は ACPI 電源切断信号をインスタンスに送信します。インスタンスの停止後、Compute Engine インスタンスは課金されません。インスタンスに永続ディスクをアタッチしている場合、それらのディスクは削除されず、課金されます。
永続ディスクのデータが重要である場合は、永続ディスクを保持できます。または、費用を削減するために、永続ディスクのスナップショットを作成してディスクを削除することもできます。 データが再度必要になったときは、スナップショットから別のディスクを作成します。
インスタンスを停止するには:
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
停止するインスタンスを選択します。インスタンスは複数選択できます。
[VM インスタンス] ページの上部で、stop [停止] をクリックします。
詳細については、インスタンスの停止をご覧ください。
VM の再起動
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
再起動するインスタンスを選択します。
ページの右上にある play_arrow [開始] をクリックしてインスタンスを再起動します。
詳細については、インスタンスの再起動をご覧ください。
VM の変更
VM のデプロイ後に、VM の種類など、VM のさまざまな属性を変更できます。変更の内容によって、SAP システムをバックアップから復元する必要がある場合や、VM の再起動のみを行う必要がある場合があります。
詳細については、SAP システムの VM 構成の変更をご覧ください。
SAP HANA のスナップショットを作成する
永続ディスクの特定の時点におけるバックアップを生成するには、スナップショットを作成します。Compute Engine は、各スナップショットの複数のコピーを複数の場所に重複して保存し、自動チェックサムを使用してデータの整合性を確保します。
スナップショットを作成するには、スナップショットの作成に記載されている Compute Engine の手順を行います。スナップショットの一貫性を確保するため、スナップショットを作成する前の準備手順(ディスク バッファをディスクにフラッシュするなど)に注意してください。
スナップショットは、次のユースケースに役立ちます。
ユースケース | 詳細 |
---|---|
ソフトウェアに依存しない簡単で費用対効果の高いデータ バックアップ ソリューションを提供する。 | スナップショットを使用して、データ、ログ、バックアップ、共有ディスクをバックアップします。データセット全体の特定の時点におけるバックアップを保存するため、それらのディスクの日次バックアップのスケジュールを設定します。 最初のスナップショットを作成したら、その後のスナップショットでは増分ブロック変更のみを格納します。これは費用の削減に役立ちます。 |
別のストレージ タイプに移行する。 | Compute Engine には、標準(磁気)ストレージでサポートされるタイプと、ソリッド ステート ドライブ ストレージ(SSD ベースの永続ディスク)を利用するタイプがあります。コストとパフォーマンス特性はそれぞれ異なります。たとえば、バックアップ ボリュームには標準タイプを使用しますが、/hana/log ボリュームと /hana/data ボリュームには高いパフォーマンスが必要になるため、SSD ベースのタイプを使用します。別のストレージ タイプに移行するには、ボリュームのスナップショットを使用して新しいボリュームを作成し、別のストレージ タイプを選択します。 |
SAP HANA を別のリージョンまたはゾーンに移行する。 | スナップショットを使用して、SAP HANA システムを同じリージョン内の別のゾーンか、または別のリージョンに移動します。スナップショットを Google Cloud 内でグローバルに使用して、別のゾーンまたはリージョンにディスクを作成できます。別のリージョンまたはゾーンに移行するには、ルートディスクを含むディスクのスナップショットを作成した後、それらのスナップショットから作成したディスクを使用して、目的のゾーンまたはリージョンに仮想マシンを作成します。 |
既存の SAP HANA 永続ディスク ボリュームを Hyperdisk Extreme ボリュームに移行する
既存の永続ディスク ボリュームは、Google Cloud で実行されている SAP HANA システムの Hyperdisk Extreme ボリュームに移行できます。Hyperdisk Extreme を使用すると、SSD ベースの永続ディスクタイプよりも SAP HANA のパフォーマンスが向上します。
永続ディスク ボリュームを Hyperdisk Extreme ボリュームに移行するには、Google Cloud の永続ディスク スナップショットと SAP HANA 高速再起動オプションを使用します。SAP HANA 高速再起動オプションは、テーブルの読み込みを待つ必要がなく、ディスクタイプを切り替える際のダウンタイムを減らす手段として使用されます。行ストアとバイナリ ラージ オブジェクト(BLOB)データ型の再読み込みに必要な時間を考慮する必要があります。
移行プロセスではダウンタイムの最小化が求められますが、実際のダウンタイムは、次のタスクにかかる時間によって変わります。
- スナップショットの作成。スナップショットの取得中に発生するダウンタイムを減らすには、予定された移行作業の前にディスクのスナップショットを作成し、移行作業に近い段階でさらにスナップショットを作成します。これにより、スナップショットの差を小さくすることができます。
- 永続ディスク ボリュームのスナップショットを使用した Hyperdisk Extreme ボリュームの作成。
- SAP HANA テーブルの SAP HANA のメモリへの再読み込み。
移行中に問題が発生した場合は、既存のディスクに戻すことができます。ディスクはこの手順の影響を受けないため、削除するまで使用できます。
始める前に
SAP HANA 永続ディスク ボリュームを Hyperdisk Extreme ボリュームに移行する前に、次の条件を満たしていることを確認してください。
- SAP HANA が、Hyperdisk Extreme をサポートする認定済みの Compute Engine VM タイプで稼働している。
- SAP HANA のデータとログで、
/hana/data
ボリューム用と/hana/log
ボリューム用に別々の永続ディスクが使用されている。 - SAP HANA ストレージの永続化に Linux の論理ボリューム管理が使用されている。直接ストレージを使用できますが、その場合、
/etc/fstab
テーブルを使用してデバイスの再マッピングを明示的に行う必要があります。 - SAP HANA システムで SAP HANA 高速再起動が有効になっている。SAP HANA 高速再起動を有効にする方法については、SAP HANA 高速再起動を有効にするをご覧ください。
- SAP HANA データベースの有効なバックアップを使用できる。このバックアップは、必要に応じてデータベースを復元するために使用されます。
- クラスタがメンテナンス モードになっている(ターゲット VM インスタンスが高可用性クラスタの一部の場合)
- SAP HANA データベースが稼働している。
tmpfs
ファイル システムに、MAIN
データ フラグメントの内容が完全に読み込まれている。ファイル システムの使用状況を確認するには、df -Th
コマンドを実行します。出力は次のようになります。
# df -Th Filesystem Type Size Used Avail Use% Mounted on ... /dev/mapper/vg_hana_shared-shared xfs 1.0T 56G 968G 6% /hana/shared /dev/mapper/vg_hana_data-data xfs 14T 5.7T 8.2T 41% /hana/data /dev/mapper/vg_hana_log-log xfs 512G 7.2G 505G 2% /hana/log /dev/mapper/vg_hana_usrsap-usrsap xfs 32G 276M 32G 1% /usr/sap tmpfsDB10 tmpfs 5.7T 800G 4.9T 14% /hana/tmpfs0/DB1 tmpfsDB11 tmpfs 5.7T 796G 4.9T 14% /hana/tmpfs1/DB1 tmpfsDB12 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs2/DB1 tmpfsDB13 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs3/DB1 tmpfsDB14 tmpfs 5.7T 816G 4.9T 15% /hana/tmpfs4/DB1 tmpfsDB15 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs5/DB1 tmpfsDB16 tmpfs 5.7T 816G 4.9T 15% /hana/tmpfs6/DB1 tmpfsDB17 tmpfs 5.7T 780G 4.9T 14% /hana/tmpfs7/DB1
永続ディスク ボリュームを Hyperdisk Extreme ボリュームに移行する
このセクションでは、/hana/data
ボリュームと /hana/log
ボリュームの 2 つの永続ディスクタイプを、永続ディスク(pd-ssd
)から Hyperdisk Extreme に移行する方法について説明します。
ここでは、次の構成例の移行プロセスについて説明します。
- マシンタイプ:
m2-ultramem-416
(12 TB メモリ、416 vCPU) - Google Cloud の Terraform: SAP HANA スケールアップ デプロイガイドを使用してデプロイされた SAP HANA スケールアップ システム。
- OS: SLES for SAP 15 SP1
- SAP HANA: HANA 2 SPS06、パッチ 63
- デフォルトのディスクタイプ:
pd-ssd
/hana/data
ボリュームと/hana/log
ボリュームは別々のディスクにマウントされ、LVM と XFS を使用してビルドされます。- SAP HANA 高速再起動が有効になり、約 6 TB のデータがデータベースに読み込まれます。
永続ディスク ボリュームを Hyperdisk Extreme ボリュームに移行するには、次の操作を行います。
次のいずれかのコマンドを使用して、SAP HANA データベースを停止します。
HDB stop
または
sapcontrol -nr INSTANCE_NUMBER -function StopSystem HDB
INSTANCE_NUMBER
は、SAP HANA システムのインスタンス番号に置き換えます。詳細については、SAP HANA システムの起動と停止をご覧ください。
/hana/data
ファイル システムと/hana/log
ファイル システムのマウントを解除します。umount /hana/data umount /hana/log
次のいずれかの方法で、データ永続ディスクとログ永続ディスクの名前を確認します。
次のコマンドを実行します。
ls -l /dev/disk/by-id/
出力には、ディスク名とデバイスのマッピングが表示されます。
... lrwxrwxrwx 1 root root 9 May 18 20:14 google-hana-vm-data00001 -> ../../sdb lrwxrwxrwx 1 root root 9 May 18 20:14 google-hana-vm-log00001 -> ../../sdc ...
gcloud compute
コマンドを実行します。gcloud compute instances describe INSTANCE_NAME --zone=ZONE
次のように置き換えます。
INSTANCE_NAME
: VM インスタンスの名前。ZONE
: VM インスタンスのゾーン。
出力には、関連するディスク情報を含む VM インスタンスの詳細が表示されます。
gcloud compute instances describe hana-vm --zone europe-west4-a ... disks: - autoDelete: false deviceName: hana-vm-shared00001 diskSizeGb: '1024' - autoDelete: false deviceName: hana-vm-usrsap00001 diskSizeGb: '32' - autoDelete: false deviceName: hana-vm-data00001 diskSizeGb: '14093' - autoDelete: false deviceName: hana-vm-log00001 diskSizeGb: '512'
Google Cloud コンソールで、Compute Engine の [VM インスタンス] ページに移動し、VM 名をクリックします。[ストレージ] セクションに、関連するディスク情報が表示されます。
データ永続ディスクとログ永続ディスクのスナップショットを作成します。
gcloud compute snapshots create DATA_DISK-snapshot \ --project=PROJECT_ID \ --source-disk-zone=SOURCE_DISK_ZONE \ --source-disk=DATA_DISK gcloud compute snapshots create LOG_DISK-snapshot \ --project=PROJECT_ID \ --source-disk-zone=SOURCE_DISK_ZONE \ --source-disk=LOG_DISK
次のように置き換えます。
DATA_DISK
: スナップショットを作成するデータ永続ディスクの名前。この名前は、データ ボリュームのスナップショットの先頭に付加されます。LOG_DISK
: スナップショットを作成するログ永続ディスクの名前。この名前は、ログボリュームのスナップショットの先頭に付加されます。PROJECT_ID
: プロジェクトの ID。SOURCE_DISK_ZONE
: スナップショットを作成する永続ディスクのゾーン。
スナップショットの作成の詳細については、ディスク スナップショットの作成と管理をご覧ください。
スナップショットに基づいて、
/hana/data
ボリューム用と/hana/log
ボリューム用に新しい Hyperdisk Extreme ディスクを作成します。gcloud compute disks create DATA_DISK-hdx \ --project=PROJECT_ID \ --zone=ZONE \ --type=hyperdisk-extreme \ --provisioned-iops=IOPS_DATA_DISK \ --source-snapshot=DATA_DISK-snapshot gcloud compute disks create LOG_DISK-hdx \ --project=PROJECT_ID \ --zone=ZONE \ --type=hyperdisk-extreme \ --provisioned-iops=IOPS_LOG_DISK \ --source-snapshot=LOG_DISK-snapshot
次のように置き換えます。
DATA_DISK
: 元の永続ディスク データ ボリュームの名前。データディスクの Hyperdisk Extreme データ ボリュームとデータ ボリュームのスナップショットの接頭辞となっています。LOG_DISK
: 元の永続ディスク ログ ボリュームの名前。Hyperdisk Extreme ログボリュームとログボリュームのスナップショットの接頭辞となっています。PROJECT_ID
: プロジェクトの ID。ZONE
: Hyperdisk Extreme ディスクを作成するゾーン。IOPS_DATA_DISK
: データ ボリューム用にプロビジョニングされた Hyperdisk Extreme ディスクの IOPS。IOPS は、パフォーマンス要件に従って設定します。IOPS_LOG_DISK
: ログボリューム用にプロビジョニングされた Hyperdisk Extreme ディスクの IOPS。IOPS は、パフォーマンス要件に従って設定します。インスタンス タイプにアタッチされている Hyperdisk Extreme ボリュームの最小 IOPS については、SSD ベースの永続ディスクと Hyperdisk の最小サイズをご覧ください。
スナップショットからの復元の詳細については、スナップショットから復元するをご覧ください。
古い SAP HANA 永続ディスクを切断します。
gcloud compute instances detach-disk INSTANCE_NAME \ --disk=DATA_DISK \ --zone=ZONE gcloud compute instances detach-disk INSTANCE_NAME \ --disk=LOG_DISK \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAME
: VM インスタンスの名前。DATA_DISK
: 切断するデータ ボリュームの永続ディスクの名前。LOG_DISK
: 切断するログボリュームの永続ディスクの名前。ZONE
: 永続ディスクが存在するゾーン。
新しい Hyperdisk Extreme ディスクをアタッチします。
gcloud compute instances attach-disk INSTANCE_NAME \ --disk=DATA_DISK-hdx \ --zone=ZONE gcloud compute instances attach-disk INSTANCE_NAME \ --disk=LOG_DISK-hdx \ --zone=ZONE
次のように置き換えます。
INSTANCE_NAME
: VM インスタンスの名前。DATA_DISK
: 接続するデータ ボリューム Hyperdisk Extreme の名前。LOG_DISK
: 接続するログボリューム Hyperdisk Extreme の名前。ZONE
: 新しい Hyperdisk Extreme ディスクが存在するゾーン。
新しいボリュームをマウントするには、
sudo
ユーザーまたはroot
ユーザーとして次の操作を行います。LVM デバイスのマッピングの競合を避けるため、すべてのデバイス マッピングの定義を削除します。
dmsetup remove_all
ボリューム グループがないかすべてのディスクをスキャンし、キャッシュを再構築して、不足しているボリューム(LVM を含む)を作成します。
vgscan -v --mknodes
出力は次のようになります。
Scanning all devices to initialize lvmetad. Reading volume groups from cache. Found volume group "vg_hana_data" using metadata type lvm2 Found volume group "vg_hana_shared" using metadata type lvm2 Found volume group "vg_hana_log" using metadata type lvm2 Found volume group "vg_hana_usrsap" using metadata type lvm2
ボリューム グループを有効にします。
vgchange -ay
出力は次のようになります。
1 logical volume(s) in volume group "vg_hana_data" now active 1 logical volume(s) in volume group "vg_hana_shared" now active 1 logical volume(s) in volume group "vg_hana_log" now active 1 logical volume(s) in volume group "vg_hana_usrsap" now active
論理ボリュームをスキャンします。
lvscan
出力は次のようになります。
ACTIVE '/dev/vg_hana_data/data' [13.76 TiB] inherit ACTIVE '/dev/vg_hana_shared/shared' [1024.00 GiB] inherit ACTIVE '/dev/vg_hana_log/log' [512.00 GiB] inherit ACTIVE '/dev/vg_hana_usrsap/usrsap' [32.00 GiB] inherit
ディスクをマウントします。
mount -av
出力は次のようになります。
/ : ignored /boot/efi : already mounted /hana/shared : already mounted /hana/data : already mounted /hana/log : already mounted /usr/sap : already mounted swap : ignored /hana/tmpfs0/DB1 : already mounted /hana/tmpfs1/DB1 : already mounted /hana/tmpfs2/DB1 : already mounted /hana/tmpfs3/DB1 : already mounted /hana/tmpfs4/DB1 : already mounted /hana/tmpfs5/DB1 : already mounted /hana/tmpfs6/DB1 : already mounted /hana/tmpfs7/DB1 : already mounted
新しいボリュームを確認します。
ファイル システムの使用状況を確認します。
df -Th
出力は次のようになります。
Filesystem Type Size Used Avail Use% Mounted on ... /dev/mapper/vg_hana_shared-shared xfs 1.0T 56G 968G 6% /hana/shared /dev/mapper/vg_hana_usrsap-usrsap xfs 32G 277M 32G 1% /usr/sap tmpfsDB10 tmpfs 5.7T 784G 4.9T 14% /hana/tmpfs0/DB1 tmpfsDB11 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs1/DB1 tmpfsDB12 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs2/DB1 tmpfsDB13 tmpfs 5.7T 782G 4.9T 14% /hana/tmpfs3/DB1 tmpfsDB14 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs4/DB1 tmpfsDB15 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs5/DB1 tmpfsDB16 tmpfs 5.7T 783G 4.9T 14% /hana/tmpfs6/DB1 tmpfsDB17 tmpfs 5.7T 782G 4.9T 14% /hana/tmpfs7/DB1 /dev/mapper/vg_hana_log-log xfs 512G 7.2G 505G 2% /hana/log /dev/mapper/vg_hana_data-data xfs 14T 5.7T 8.2T 41% /hana/data
デバイスが新しいボリュームにリンクされていることを確認します。
lsblk
出力は次のようになります。
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT ... sdd 8:48 0 1T 0 disk └─vg_hana_shared-shared 254:0 0 1024G 0 lvm /hana/shared sde 8:64 0 32G 0 disk └─vg_hana_usrsap-usrsap 254:3 0 32G 0 lvm /usr/sap sdf 8:80 0 13.8T 0 disk └─vg_hana_data-data 254:1 0 13.8T 0 lvm /hana/data sdg 8:96 0 512G 0 disk └─vg_hana_log-log 254:2 0 512G 0 lvm /hana/log
次のいずれかのコマンドを使用して、SAP HANA インスタンスを起動します。
HDB start
または
sapcontrol -nr INSTANCE_NUMBER -function StartSystem HDB
INSTANCE_NUMBER
は、SAP HANA システムのインスタンス番号に置き換えます。詳細については、SAP HANA システムの起動と停止をご覧ください。
フォールバック
ディスクの移行に失敗した場合、移行手順を始める前のデータが存在するため、フォールバック オプションとして元のディスクを使用できます。
元の状態に戻すには、次の操作を行います。
- VM インスタンスを停止します。
- 新しく作成された Hyperdisk Extreme ボリュームを切断します。
- 元のディスクを VM インスタンスに再度アタッチします。
- VM インスタンスを起動します。
SAP HANA システムのクローンを作成する
Google Cloud 上の既存の SAP HANA システムのスナップショットを作成して、システムの正確なクローンを作成できます。
単一ホストの SAP HANA システムのクローンを作成するには:
データとバックアップ ディスクのスナップショットを作成します。
スナップショットを使用して新しいディスクを作成します。
Google Cloud コンソールで、[VM インスタンス] ページに移動します。
クローンを作成するインスタンスをクリックしてインスタンスの詳細ページを開き、[クローンを作成] をクリックします。
スナップショットから作成したディスクをアタッチします。
マルチホストの SAP HANA システムのクローンを作成するには:
クローンを作成する SAP HANA システムと同じ構成の新しい SAP HANA システムをプロビジョニングします。
元のシステムのデータ バックアップを実行します。
元のシステムのバックアップを新しいシステムとして復元します。
gcloud CLI のインストールと更新
SAP HANA 用の VM をデプロイしてオペレーティング システムをインストールしたら、さまざまな目的のために最新の Google Cloud CLI が必要になります。たとえば、Cloud Storage とのファイルの転送、ネットワーク サービスとの通信などです。
SAP HANA デプロイガイドの手順を行うと、gcloud CLI が自動的にインストールされます。
しかし、独自のオペレーティング システムをカスタム イメージとして Google Cloud に実装する場合や、Google Cloud により提供された古い公開イメージを使用している場合は、gcloud CLI を手動でインストールまたは更新する必要があります。
gcloud CLI がインストールされているかどうか、および更新が可能かどうかを確認するには、ターミナルまたはコマンド プロンプトを開いて次のコマンドを入力します。
gcloud version
コマンドが認識されない場合、gcloud CLI はインストールされません。
gcloud CLI をインストールするには、gcloud CLI のインストールの手順を行ってください。
バージョン 140 以前の SLES と統合された gcloud CLI を置き換えるには:
ssh
を使用して VM にログインします。スーパー ユーザーに切り替えます。
sudo su
次のコマンドを入力します。
bash <(curl -s https://dl.google.com/dl/cloudsdk/channels/rapid/install_google_cloud_sdk.bash) --disable-prompts --install-dir=/usr/local update-alternatives --install /usr/bin/gsutil gsutil /usr/local/google-cloud-sdk/bin/gsutil 1 --force update-alternatives --install /usr/bin/gcloud gcloud /usr/local/google-cloud-sdk/bin/gcloud 1 --force gcloud --quiet compute instances list
SAProuter を使用して SAP サポート チャネルを設定する
SAP のサポート エンジニアに Google Cloud 上の SAP HANA システムへのアクセスを許可する必要がある場合は、SAProuter でそのように設定できます。手順は次のとおりです。
SAProuter ソフトウェアをインストールする Compute Engine VM インスタンスを起動し、インスタンスがインターネットにアクセスできるように外部 IP アドレスを割り当てます。
新しい静的外部 IP アドレスを作成し、インスタンスにこの IP アドレスを割り当てます。
ネットワークに特定の SAProuter ファイアウォール ルールを作成して構成します。このルールでは、SAProuter インスタンスに対して、SAP サポート ネットワークへの必要な受信アクセスと送信アクセスのみを許可します。
受信アクセスと送信アクセスを、SAP が接続用に提供する特定の IP アドレスと、TCP ポート
3299
に制限します。ターゲットタグをファイアウォール ルールに追加してインスタンス名を入力します。これにより、ファイアウォール ルールは新しいインスタンスにのみ適用されます。ファイアウォール ルールの作成と構成に関する詳細については、ファイアウォール ルールのドキュメントをご覧ください。SAP ノート 1628296 に従って SAProuter ソフトウェアをインストールし、SAP から Google Cloud 上の SAP HANA システムへのアクセスを許可する
saprouttab
ファイルを作成します。SAP との接続を設定します。インターネット接続には、セキュア ネットワーク コミュニケーションを使用します。詳細については、SAP リモート サポートのヘルプをご覧ください。
ネットワークを構成する
SAP HANA システムは、Google Cloud 仮想ネットワークで VM を使用してプロビジョニングされています。Google Cloud は、最先端のソフトウェア定義ネットワーキングと分散システム技術により、世界中でサービスをホストし、配信しています。
SAP HANA に対しては、ネットワーク内の各サブネットワークの CIDR IP アドレス範囲と重複しないような、デフォルトでないサブネット ネットワークを作成します。各サブネットワークとその内部 IP アドレス範囲は、単一のリージョンにマッピングされることに注意してください。
サブネットワークは、サブネットワークが作成されたリージョン内のすべてのゾーンにわたって広がります。
ただし、VM インスタンスを作成する際には、VM のゾーンとサブネットワークを指定します。たとえば、必要に応じて、subnetwork1
と、region1
の zone1
に 1 組のインスタンスを作成し、subnetwork2
と、region1
の zone2
にもう 1 組のインスタンスを作成できます。
新しいネットワークにはファイアウォール ルールがなく、したがってネットワーク アクセスもありません。最小権限モデルに基づいて、SAP HANA インスタンスへのアクセスを可能にするファイアウォール ルールを作成する必要があります。ファイアウォール ルールはネットワーク全体に適用されますが、タグ付けメカニズムにより特定のターゲット インスタンスに適用されるように構成することもできます。
ルートは 1 つのネットワークに接続されるグローバルなリソースであり、リージョンに限定されません。ユーザーが作成したルートは、ネットワーク内のすべてのインスタンスに適用されます。つまり、外部 IP アドレスを指定しなくても、同じネットワーク内のインスタンス間で、サブネットワークを越えてトラフィックを転送するルートを追加できます。
SAP HANA インスタンスについては、外部 IP アドレスを指定せずにインスタンスを起動し、別の VM を外部アクセス用の NAT ゲートウェイとして構成します。この構成では、SAP HANA インスタンスのルートとして NAT ゲートウェイを追加する必要があります。この手順については、デプロイガイドをご覧ください。
セキュリティ
このセクションでは、セキュリティの運用について説明します。
最小権限モデル
防御の最前線として、インスタンスにアクセスできるユーザーを制限するファイアウォールを使用します。ファイアウォール ルールを作成すると、特定のポートでネットワークやターゲット マシンに流れ込むすべてのトラフィックを、特定のソース IP アドレスからのものだけに制限できます。最小権限モデルに従って、アクセスを必要とする特定の IP アドレス、プロトコル、ポートにのみアクセスを許可する必要があります。たとえば、踏み台インスタンスを常時設定して、そこから SAP HANA システムにアクセスする SSH のみを許可します。
構成の変更
SAP HANA システムとオペレーティング システムを、推奨されるセキュリティ設定で構成する必要があります。たとえば、アクセスを許可するネットワーク ポートのみを一覧表示し、SAP HANA を実行しているオペレーティング システムを強化します。
以下の SAP ノートをご覧ください(SAP ユーザー アカウントが必要)。
- 1944799: Guidelines for SLES SAP HANA installation
- 1730999: Recommended configuration changes
- 1731000: Unrecommended configuration changes
不要な SAP HANA サービスを無効にする
SAP HANA 拡張アプリケーション サービス(SAP HANA XS)が不要な場合は、このサービスを無効にします。SAP ノート 1697613: Removing the SAP HANA XS Classic Engine service from the topology をご覧ください。
サービスを無効にした後、そのサービス用に開いていたすべての TCP ポートを削除します。Google Cloud では、ネットワークのファイアウォール ルールを編集して、アクセスリストからポートを削除します。
監査ロギング
Cloud Audit Logs は、管理アクティビティとデータアクセスという 2 つのログストリームで構成されます。どちらのログも Google Cloud によって自動的に生成されます。これらは、Google Cloud プロジェクトで「誰がいつどこで何をしたか」という疑問に答えるのに役立ちます。
管理アクティビティ ログには、サービスまたはプロジェクトの構成またはメタデータを変更する API 呼び出しや管理アクションのログエントリが記録されます。このログは常時有効になっており、プロジェクトの全員が見ることができます。
データアクセス ログには、サービスが管理するユーザー入力データ(データベース サービスに格納されているデータなど)の作成、変更、読み取りを行う API 呼び出しのログエントリが記録されます。このロギングは、プロジェクトでデフォルトで有効になっており、Cloud Logging またはアクティビティ フィードを通じて参照できます。
Cloud Storage バケットの保護
Cloud Storage でデータとログのバックアップをホストする場合、転送中のデータを保護するために、インスタンスから Cloud Storage にデータを送信する際は必ず TLS(HTTPS)を使用してください。Cloud Storage は、保存データを自動的に暗号化します。独自の鍵管理システムを使用している場合は、独自の暗号鍵を指定できます。
関連のセキュリティ ドキュメント
Google Cloud 上の SAP HANA 環境については、次の追加のセキュリティ リソースをご覧ください。
Google Cloud 上の SAP HANA の高可用性
Google Cloud には、Compute Engine のライブ マイグレーションや自動再起動機能など、SAP HANA システムの高可用性を確保するためのさまざまなオプションがあります。それらの機能を使用すれば、Compute Engine VM の 1 か月あたりの稼働率が高いこともあって、スタンバイ システムに対する支払いやメンテナンスが不要になることもあります。
ただし、必要であれば、SAP HANA ホストの自動フェイルオーバー用のスタンバイ ホストを含む、マルチホストのスケールアウト システムをデプロイできます。また、可用性の高い Linux クラスタ内にスタンバイ SAP HANA インスタンスを設定したスケールアップ システムをデプロイすることもできます。
Google Cloud 上の SAP HANA の高可用性オプションの詳細については、SAP HANA 高可用性プランニング ガイドをご覧ください。
SAP HANA HA / DR プロバイダ フックを有効にする
障害復旧
SAP HANA システムには、ソフトウェア レベルまたはインフラストラクチャ レベルの障害に対して SAP HANA データベースの耐久性を確保する高可用性機能がいくつか用意されています。そうした機能の中に SAP HANA システム レプリケーションと SAP HANA バックアップがあり、いずれも Google Cloud でサポートされています。
SAP HANA バックアップの詳細については、バックアップと復元をご覧ください。
システム レプリケーションの詳細については、SAP HANA 障害復旧プランニング ガイドをご覧ください。
バックアップとリカバリ
バックアップは、記録システム(データベース)を保護するために不可欠です。SAP HANA はインメモリ データベースなので、データが破損したインスタンスを復元できるように、定期的にバックアップを作成する必要があります。そのために、SAP HANA システムに元から備わっているバックアップと復元機能を利用できます。SAP HANA バックアップのバックアップ先として、Cloud Storage などの Google Cloud サービスを使用できます。
Cloud Storage Backint agent for SAP HANA をインストールして、バックアップと復元に Cloud Storage を直接使用することもできます。
このドキュメントは、読者が SAP HANA のバックアップと復元に加えて、以下の SAP サービスノートに精通していることを前提としています。
- 1642148: FAQ: SAP HANA Database Backup & Recovery
- 1821207: Determining required recovery files
- 1869119: Checking backups using
hdbbackupcheck
- 1873247: Checking recoverability with
hdbbackupdiag --check
- 1651055: Scheduling SAP HANA Database Backups in Linux
Compute Engine の永続ディスクと Cloud Storage をバックアップに使用する
こちらのデプロイ手順を実施している場合、/hanabackup
ディレクトリを含む SAP HANA がインストールされています。これは、標準の永続ディスクでバックアップされます。標準の SAP ツールを使用して、/hanabackup
ディレクトリにオンライン データベース バックアップを作成します。バックアップが完了したら、Cloud Storage バケットにアップロードして保存します。復元する必要が生じたときは、そこからバックアップをダウンロードできます。
Compute Engine を使用してバックアップとディスク スナップショットを作成する
Compute Engine を使用して SAP HANA をバックアップできます。また、永続ディスク スナップショットを使用して、データとログをホストしているディスク全体をバックアップすることもできます。
デプロイガイドの手順を実施している場合は、オンライン データベース バックアップ用の /hanabackup
ディレクトリを含む SAP HANA がインストールされています。このディレクトリにバックアップ ボリュームのスナップショットを格納し、データとログの特定の時点におけるバックアップを保持できます。
スナップショットの利点は増分のみが保存されることです。2 回目以降の各バックアップでは、まったく新しいバックアップが作成されるのではなく、増分ブロック変更のみが格納されます。Compute Engine は、各スナップショットの複数のコピーを複数の場所に重複して保存し、自動チェックサムを使用してデータの整合性を確保します。
次の図は増分バックアップを表しています。
バックアップ先として Cloud Storage を使用する
Cloud Storage はデータの耐久性と可用性が高いため、SAP HANA のバックアップ先として適しています。
Cloud Storage は、あらゆるタイプや形式のファイルを格納できるオブジェクト ストアです。容量は事実上無制限であり、プロビジョニングや容量の追加を気にする必要がありません。Cloud Storage 内のオブジェクトはファイルデータとそれに関連付けられたメタデータで構成され、最大許容サイズは 5 TB です。Cloud Storage バケットには、任意の数のオブジェクトを格納できます。
Cloud Storage では、データが複数の場所に保存されるため、耐久性と可用性が高くなります。Cloud Storage へのデータのアップロードや Cloud Storage 内のデータのコピーを行った場合、Cloud Storage はオブジェクトの冗長性が確保されたときだけ操作が成功したと報告します。
Cloud Storage を使用する場合の各種のストレージ オプションを次の表に示します。
必要なデータアクセス | 推奨される Cloud Storage オプション |
---|---|
アクセス頻度が高い | 1 か月に何度もバックアップにアクセスする場合は、標準 [storage class](/storage/docs/storage-classes) を選択します。 |
アクセス頻度が低い | アクセス頻度が低いデータについては、Nearline または Coldline のストレージを選択します。Nearline は、バックアップ データにアクセスする頻度が最大でも 1 か月に 1 回程度と見込まれる場合に適しています。一方、Coldline はアクセスする頻度がかなり低い(1 年に 1 回程度)と見込まれる場合に適しています。 |
アーカイブ データ | 長期アーカイブ データには Archive Storage を選択します。Archive は、長期間コピーを保持する必要があるが、1 年に 1 回しかアクセスしないデータに適しています。テープベースのバックアップ ソリューションは、Archive に置き換えることを検討してください。 |
上記のストレージ オプションの使用を計画する場合は、アクセスする頻度が高い順に、バックアップ データを保存する階層を検討します。一般的に、バックアップは古くなるにつれて使用する機会が減少します。3 年前のバックアップが必要になる可能性はきわめて低いので、そうしたバックアップを Archive 階層に保管することで費用を削減できます。Archive での費用は、現在 1 GB あたり月額 0.12 セントです(1 TB あたり月額 $1.2)。
Cloud Storage とテープ バックアップの比較
従来のオンプレミスのバックアップ先は、テープです。Cloud Storage にはテープよりも多くの利点があります。たとえば、Cloud Storage のデータは複数の施設で複製されるため、ソースシステムのバックアップを「オフサイト」に自動的に保存できます。これは、Cloud Storage に保存されるバックアップの可用性が高いことも意味します。
もう 1 つの大きな違いは、バックアップが必要になったときにバックアップを復元する速度です。バックアップから新しい SAP HANA システムを作成したり、バックアップから既存のシステムを復元したりする必要がある場合、Cloud Storage はデータアクセスが高速なので、速やかにシステムを構築できます。
Cloud Storage Backint agent for SAP HANA
SAP 認定の Cloud Storage Backint agent for SAP HANA(Backint エージェント)を使用すると、オンプレミス インストールとクラウド インストールの両方のバックアップと復元に、Cloud Storage を直接使用できます。
詳細については、Cloud Storage Backint agent for SAP HANA の概要をご覧ください。
バックアップに関する ID とアクセスの管理
Cloud Storage または Compute Engine を使用して SAP HANA データをバックアップする場合、バックアップへのアクセスは Identity and Access Management(IAM)によって制御されます。管理者は、この機能を使用して、特定のリソースにアクションを実行するユーザーを承認できます。IAM を使用すると、バックアップを含め、すべての Google Cloud リソースを完全に一元管理でき、可視性が向上します。
また、IAM は、権限の承認、削除、委任の完全な監査証跡履歴を管理者に自動的に提供します。したがって、バックアップ内のデータへのアクセスをモニタリングするポリシーを構成して、データに対するアクセス制御サイクル全体を管理できます。IAM は、組織全体のセキュリティ ポリシーを一元管理し、コンプライアンス プロセスを簡素化する組み込みの監査機能を提供します。
Cloud Storage 内のバックアップへのアクセスを許可するには:
Google Cloud コンソールで、[IAM と管理] ページに移動します。
アクセスを許可するユーザーを指定して、[ストレージ] > [ストレージのオブジェクト作成者] のロールを割り当てます。
バックアップの作成方法
デプロイガイドに従って Google Cloud にプロビジョニングされた SAP HANA システムには、NFS でマウントされたバックアップ先として使用される一連の永続ディスク ボリュームが構成されています。SAP HANA バックアップは、最初はこれらのローカル永続ディスク ボリュームに保存されますが、その後、長期保存のために Cloud Storage にコピーする必要があります。手動で Cloud Storage にバックアップをコピーするか、Cloud Storage にコピーするスケジュールを crontab で設定します。
Cloud Storage Backint agent for SAP HANA を使用している場合は、Cloud Storage バケットで直接バックアップと復元を行えます。永続ディスク ストレージは必要ありません。
SAP HANA Studio、SQL コマンド、DBA Cockpit のいずれかを使用して、SAP HANA データのバックアップを開始またはスケジュールすることもできます。ログのバックアップは、無効にしない限り、自動的に書き込まれます。次のスクリーンショットの例をご覧ください。
SAP HANA global.ini
の構成
デプロイガイドの手順を実施していれば、SAP HANA の global.ini
構成ファイルは、/backup/data/
に格納されるデータベース バックアップ用にカスタマイズされ、自動ログアーカイブ ファイルが次のように /backup/log/
に保存されます。
[persistence]
basepath_datavolumes = /hana/data
basepath_logvolumes = /hana/log
basepath_databackup = /hanabackup/data
basepath_logbackup = /hanabackup/log
[system_information]
usage = production
Cloud Storage Backint agent for SAP HANA の global.ini
構成ファイルをカスタマイズするには、Cloud Storage Backint agent for SAP HANA デプロイガイドをご覧ください。
スケールアウト デプロイに関する注意事項
スケールアウト実装では、ライブ マイグレーションと自動再起動を使用する高可用性ソリューションは、単一ホスト設定と同じように機能します。主な違いは、/hana/shared
ボリュームがすべてのワーカーホストに NFS でマウントされ、HANA マスターがマスターとなる点です。マスターホストのライブ マイグレーションまたは自動再起動の実行中は、NFS ボリュームにしばらくアクセスできなくなります。マスターホストが再起動すると、NFS ボリュームはすべてのホストですぐに再び機能し始め、通常のオペレーションが自動的に再開されます。
バックアップと復元に際しては、バックアップ ボリューム /hanabackup
がすべてのホストで利用できることが必要です。障害が発生したときは、/hanabackup
がすべてのホストにマウントされていることを確認し、それ以外のボリュームを再マウントしてください。バックアップ セットを別のボリュームまたは Cloud Storage にコピーする場合は、IO パフォーマンスを向上させてネットワーク使用量を減らすため、マスターホストでコピーを実行する必要があります。バックアップと復元のプロセスを簡素化するには、Cloud Storage Fuse を使用して各ホストに Cloud Storage バケットをマウントします。
スケールアウトのパフォーマンスは、データ分散と同程度です。データを分散すればするほど、クエリのパフォーマンスは向上します。したがって、使用するデータを熟知し、データがどのように使用されるかを理解して、それに合わせてテーブルの分散とパーティショニングを設計する必要があります。SAP ノート 2081591 をご覧ください。
Gcloud Python
Gcloud Python は、Google Cloud サービスへのアクセスに慣用的に使われている Python クライアントです。このガイドでは、Gcloud Python を使用して、SAP HANA データベースを Cloud Storage にバックアップし、そこから復元する操作について説明します。
デプロイガイドの手順を実施していれば、Compute Engine インスタンスで Gcloud Python ライブラリが利用可能になっています。
このライブラリはオープンソースであり、Cloud Storage バケットを操作してバックアップ データを保存および取得するために使用できます。
次のコマンドを実行すると、Cloud Storage バケット内のオブジェクトを一覧表示できます。これにより、使用可能なバックアップ オブジェクトを表示できます。
python 2>/dev/null - <<EOF
from google.cloud import storage
storage_client = storage.Client()
bucket = storage_client.get_bucket("<bucket_name>")
blobs = bucket.list_blobs()
for fileblob in blobs:
print(fileblob.name)
EOF
Gcloud Python の詳細については、ストレージ クライアント ライブラリのリファレンス ドキュメントをご覧ください。
バックアップの例
SAP HANA Studio を例にして、一般的なバックアップ タスクを実行する手順を次に示します。
SAP HANA バックアップ エディタで、[Open Backup Wizard] を選択します。
- 宛先タイプとして [File] を選択します。これにより、指定されたファイル システム内のファイルにデータベースがバックアップされます。
- バックアップ先
/hanabackup/data/[SID]
とバックアップの接頭辞を指定します。[SID]
は適切な SAP SID に置き換えてください。 - [Next] をクリックします。
確認フォームで [Finish] をクリックして、バックアップを開始します。
バックアップが開始されると、バックアップの進捗状況がステータス ウィンドウに表示されます。バックアップが完了するまで待ちます。
バックアップが完了すると、完了を示すメッセージがバックアップ サマリーに表示されます。
SAP HANA システムにログインして、バックアップがファイル システム内の指定した場所にあることを確認します。例:
/hanabackup
ファイル システムから Cloud Storage にバックアップ ファイルを push または同期します。次のサンプル Python スクリプトは、/hanabackup/data
と/hanabackup/log
のデータを、[NODENAME]/[DATA]
または[LOG]/YYYY/MM/DD/HH/[BACKUP_FILE_NAME]
の形式で、バックアップに使用するバケットに push します。これにより、バックアップがコピーされた時間でバックアップ ファイルを識別できます。オペレーティング システムの bash プロンプトで、このgcloud Python
スクリプトを実行します。python 2>/dev/null - <<EOF import os import socket from datetime import datetime from google.cloud import storage storage_client = storage.Client() today = datetime.today() current_hour = today.strftime('%Y/%m/%d/%H') hostname = socket.gethostname() bucket = storage_client.get_bucket("hanabackup") for subdir, dirs, files in os.walk('/hanabackup/data/H2D/'): for file in files: backupfilename = os.path.join(subdir, file) if 'COMPLETE_DATA_BACKUP' in backupfilename: only_filename = backupfilename.split('/')[-1] backup_file = hostname + '/data/' + current_hour + '/' + only_filename blob = bucket.blob(backup_file) blob.upload_from_filename(filename=backupfilename) for subdir, dirs, files in os.walk('/hanabackup/log/H2D/'): for file in files: backupfilename = os.path.join(subdir, file) if 'COMPLETE_DATA_BACKUP' in backupfilename: only_filename = backupfilename.split('/')[-1] backup_file = hostname + '/log/' + current_hour + '/' + only_filename blob = bucket.blob(backup_file) blob.upload_from_filename(filename=backupfilename) EOF
Gcloud Python ライブラリ、または Google Cloud コンソールを使用してバックアップ データを一覧表示します。
復元の例
SAP HANA データベースをバックアップから復元するには:
バックアップ ファイルが
/hanabackup
ファイル システムで使用可能になっておらず、Cloud Storage に存在する場合は、オペレーティング システムの bash プロンプトで次のスクリプトを実行して、Cloud Storage からファイルをダウンロードします。python - <<EOF from google.cloud import storage storage_client = storage.Client() bucket = storage_client.get_bucket("hanabackup") blobs = bucket.list_blobs() for fileblob in blobs: blob = bucket.blob(fileblob.name) fname = str(fileblob.name).split('/')[-1] blob.chunk_size=1<<30 if 'log' in fname: blob.download_to_filename('/hanabackup/log/H2D/' + fname) else: blob.download_to_filename('/hanabackup/data/H2D/' + fname) EOF
SAP HANA データベースを復元するには、[Backup and Recovery] > [Recover System] をクリックします。
[Next] をクリックします。
ローカル ファイル システム内のバックアップの場所を指定して、[Add] をクリックします。
[Next] をクリックします。
[Recover without the backup catalog] を選択します。
[Next] をクリックします。
宛先タイプとして [File] を選択し、バックアップ ファイルの場所と正しい接頭辞を指定します。(バックアップの例で、接頭辞に
COMPLETE_DATA_BACKUP
を指定したことを思い出してください)。[Next] を 2 回クリックします。
[Finish] をクリックして、復元を開始します。
復元が完了したら、通常の運用を再開し、バックアップ ファイルを
/hanabackup/data/[SID]/*
ディレクトリから削除します。
次のステップ
以下の標準の SAP ドキュメントが参考になります。
以下の Google Cloud ドキュメントもご覧ください。