序章
次のガイドは、AWSクラウドのWindowsで実行されているSAP ASCSとERSをクラスター化する方法に関する詳細なステップバイステップガイドです。 この例では、クラスター内に2つのノード(SIOS1、SIOS2)があり、各ノードが同じAWSリージョン内の異なるアベイラビリティーゾーンに存在することを前提としています。 例に従うときは、コンピュータ名、IPアドレス、およびその他の変数を、ご使用の環境に適用可能なものに置き換えてください。
最初のいくつかのセクションは、Microsoft Cloud MVPのDavid Berminghamによって書かれた このブログ記事 で詳しく説明されています。 以下の手順に進む前に、ブログ記事を確認することをお勧めします。
このガイドでは、Windows、AWS、および SAPにある程度精通していることを前提としています。
Step 1: プロビジョニングサーバー
インスタンスの種類を選ぶ
インスタンスストアストレージ(エフェメラルディスクとも呼ばれる)が接続されているインスタンスを選ぶことが重要です。このディスクを使用して、後述する DataKeeperのビットマップファイルを保存します。サポートするインスタンスタイプの一覧は 以下 の通りです。
各インスタンスにプライマリーとセカンダリーのアドレスを追加する
各インスタンスへのEBSボリュームの追加
サーバーをプロビジョニングする際には、各サーバーに少なくとも1つの追加EBSボリュームをアタッチしてください。
オープンセキュリティグループ
この例では、事前にセキュリティグループを作成し、VPC内のインスタンス(10.0.0.0/16)間ですべてのトラフィックを自由に流せるようにしています。また、RDPポートを開放し、各インスタンスに直接リモートアクセスできるようにしました。セキュリティプロトコルを遵守するために、クラウド管理者に相談する事をお勧めします。セキュリティグループに関する追加情報については、AWSのドキュメント を参照してください。
Step 2:各クラスターノードでのサーバーの設定
- 名前を変更し、ドメインに追加する
- Windowsファイアーウォールをオフにする
- IE の拡張セキュリティ設定をオフにする
- Chromeをインストールし、デフォルトブラウザにする
- 各サーバーにソフトウェアをダウンロードする
- SAPインストーラー
- DataKeeperソフトウェアとライセンス
- Vcredist_x64
- 各クラスターノードにvcredist_x64をインストールする
- ASCSとERSのバーチャルネームに対してDNSのAレコードを作成します。この例では、以下のレコードを作成します。
SAPASCS 10.0.2.152
SAPERS 10.0.2.153
Step 3:Windows Server Failover Clusterの作成
フェイルオーバークラスタリング機能を有効にする
各クラスターノードで以下のPowershellスクリプトを実行します。
Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
クラスター検証の実行
いずれかのノードで以下のコマンドを実行し、クラスターの検証を行います。
Test-Cluster -Node sios1,sios2
検証レポートでは、ネットワークインターフェースが1つであることや、共有ストレージがないことなどの警告が表示されます。これらの警告は、AWSで実行されているSANlessクラスターで予期されるものであるため、無視できます。
クラスターを作成する
AWSでクラスターを作成する場合、WSFCのインターフェースではなく PowerShellで行うことが重要です。クラスターを作成する際には 前のステップ でインターフェースに追加したセカンダリーIPアドレスのうち、2つを使用することになります。
クラスターノードの1つで、以下のPowerShellコマンドを実行します。
New-Cluster -Name sapcluster -Node sios1,sios2 -StaticAddress 10.0.2.151, 10.0.3.151 -NoStorage
ファイル共有監視の追加
まず、3rdアベイラビリティゾーンにある別のサーバーにフォルダを作成します。フォルダを作成したらそれを共有し、クラスター名オブジェクト(CNO)に共有レベルでの変更権限とセキュリティレベルでの変更権限を与えます。
パーミッションが割り当てられたら、以下のPowerShell コマンドを実行してクラスタークォーラムを更新し、このファイル共有監視を追加します。
Set-ClusterQuorum -FileShareWitness \\dc1\Sapcluster
Step 4:EBSボリュームのフォーマット
先ほど 、追加のEBSボリュームを各クラスターノードに追加しました。 ノードにはエフェメラルドライブも接続されています。 ボリュームはMBRまたはGPTのいずれかで初期化できます。
ディスクを初期化する
ボリュームをフォーマットする
初期化したら、各ボリュームを NTFS でフォーマットし、ドライブレターを割り当てます。
EC2launch の構成
エフェメラルドライブは、DataKeeperビットマップファイルを保持するために使用されます。 サーバーが起動するたびにエフェメラルドライブが確実にマウントされるようにすることが重要です。このプロセスが自動化されるように、 EC2Launch を設定します。
Step 5:ページファイルの調整
AWSのWindowsでは、ページファイルの自動メモリ管理がデフォルトで有効になっています。 これを無効にし、同時にSAPの要件を満たすようにページファイルのデフォルトサイズを増やしたいと考えています。 SAPでは、最小サイズ20480MBを推奨しています。
Step 6: DataKeeper のインストール
これで、DataKeeperをインストールする準備が整いました。 インストールの一環として、サービスアカウントを指定するように求められます。 唯一の要件は、アカウントが各クラスターノードのLocal Administratorsグループのメンバーであることです。 インストールを続行する前に、そのアカウントを作成し、各ノードのローカル管理者グループに追加します。
各ノードでDataKeeperセットアップを実行し、以下に示すデフォルトのオプションを受け入れます。
Step:7 インテントログの再配置 (ビットマップファイル)
最適なパフォーマンスを得るには、ビットマップファイルをローカルのエフェメラルストレージ (ローカルインスタンスストアボリュームとも呼ばれます) に再配置する必要があります。 ビットマップファイルの再配置手順については、SIOSのマニュアル インテントログの再配置 を参照してください。
Step:8 DataKeeperの設定
ここで、DataKeeperを使用して各クラスターノード間でEBSボリュームを複製し、クラスターの利用可能なストレージにDataKeeperボリュームリソースを登録します。 以下の手順は、クラスターノードの1つでのみ実行する必要があります。
サーバーへの接続
DataKeeperインターフェイスを使用して、各クラスターノードに接続します。 DataKeeperは、どちらのクラスターノードからも実行できます。
接続すると、Server Overview reportは次のようになります。
DataKeeper Jobの作成
これで、ボリュームを複製する準備が整いました。 ジョブの作成 をクリックし、以下のスクリーンショットに従ってください。
DataKeeperボリュームを利用可能なストレージに登録する
ジョブ作成プロセスの最後のステップでは、ボリュームをWindows Serverフェールオーバークラスタリング (WSFC) に登録するかどうかを尋ねられます。 *はい*をクリックします。
WSFC Managerを開くと、利用可能なストレージにDataKeeper Volumeリソースが表示されます。
Step:9 SAP High-Availability Systemのインストール
最初のクラスターノードのインストール
SAPインストールを開始する前に、 前の手順 で説明したように、DNSサーバー上にSAP仮想インスタンス ホストのDNSタイプAレコードが作成されていることを確認してください。
通常のSAP Windowsクラスターのインストールを実行します。 Microsoft Windowsフェイルオーバークラスターへの SAPのインストールの詳細については、 ここ で SAPの公式ドキュメントを参照してください。
現在のホストサーバー
開始する前に、プライマリーサーバーが現在のホストサーバーであることを確認してください。
OU に対するクラスター名オブジェクト (CNO) 権限を付与する
次の手順でクラスターオブジェクトを作成する際にセキュリティ上の問題が発生する可能性を回避するには、コンピューターオブジェクトを含むOUに対する CNOアクセス許可を付与することをお勧めします。 これは、ドメイン管理者がいずれかのドメインコントローラーで実行できます。
SAPINSTを実行する
次の手順では、ASCS/ERSクラスターを最初のクラスターノードにインストールします。 以下のスクリーンショットを参照してください。
最初のWindowsクラスターインスタンスでドメイン管理者ユーザーとしてログオンし、sapinstを通じてSAPインストールを実行します。
この時点でコンピューターはログオフします。 インストールを続行するには、再度ログオンします。
次の画面が表示されるまでに少し時間がかかる場合があります。
SAPシステムIDは、このシステムを識別する3文字だけです。 ASCSとERSのネットワーク名は、 前の手順 で DNS に入力した名前と同じです。 DataKeeperボリュームDは、 前に作成した DataKeeperボリュームリソースです。
SAPソフトウェアをダウンロードしたフォルダーを指定します。
次へ をクリックすると、パッケージの場所が見つかります。
次へ をクリックして続行します。
この時点で、関連リソースを持つ2つのクラスターリソースグループがWSFCに作成されていることに注目してください。
Step 10: 2台目のクラスターノードのインストール
最初のクラスターノードのインストールは、それほど苦労せずに完了しました。 すべてのクラスターノードが同じサブネット内に存在する通常のクラスターでは、2 番目のクラスターノードのインストールも同様にスムーズに実行されます。 ただし、これはAWSであり、ノードは異なるサブネットに存在するため、マルチサブネットクラスター固有の要件に対処するにはいくつかの手順が必要です。
DNSのアップデート
先に進む前に、前に作成したAレコードを修正する必要があります。 最初のSAPノードを適切に作成するには、これらのAレコードを作成する必要がありました。 ただし、DNS内のこれらのAレコードは“static”であることがわかります。 静的レコードは、マルチサブネットクラスターで必要となるWSFCでは更新できません。
WSFCマネージャーがAレコードを動的レコードとして再登録できるように、DNSからAレコードを削除します。 先ほど作成した2つのAレコードをそれぞれ右クリックし、削除します。
WSFC Managerで、2つのクラスターグループのそれぞれで2つのネームリソースをオフラインにしてから、リソースをオンラインに戻します。 このプロセスにより、2 つのAレコードがDNSに再登録されます。 今回はダイナミックレコードになります。
DNSゾーンを更新すると、次のようになります。
TTLの変更
デフォルトでは、これらの各AレコードのTTL (time to live)は20分です。 これは、クライアントがフェイルオーバー後に新しいIPアドレスを受け取るのを待つには長すぎます。 代わりにTTLを15秒に調整します。
クラスターネームリソースのTTLを調整するには、ネームリソースごとに次のPowerShellコマンドを1回実行します。 このコマンドは、どちらのクラスターノードからも実行できます。
Get-ClusterResource -Name “SAP DAB ERS NetName” | Set-ClusterParameter -Name HostRecordTTL -Value 15
Get-ClusterResource -Name “SAP DAB NetName” | Set-ClusterParameter -Name HostRecordTTL -Value 15
RegisterAllProvidersIP を変更する
マルチサブネットクラスターは、いくつかの方法でクライアントのリダイレクトを処理できます。 違いについて説明することは、この記事の範囲を超えています。 SAPクライアントのリダイレクトを処理するには、各クラスターネームリソースのRegisterAllProvidersIPプロパティが0に設定されていることを確認する必要があります。各クラスターノードで次のPowerShellコマンドを実行します。
Get-ClusterResource -Name “SAP DAB ERS NetName” | Set-ClusterParameter RegisterAllProvidersIP 0
Get-ClusterResource -Name “SAP DAB NetName” | Set-ClusterParameter RegisterAllProvidersIP 0
最後の2つのセクションで加えた変更が確実に適用されるように、クラスターリソースの両方をオフラインにして再びオンラインにすることが重要です。
マルチサブネットクラスターをサポートするためのIPアドレスリソースの追加
SQL Serverなどのアプリケーションのクラスターを構成する場合、インストーラーはクラスターがマルチサブネットクラスターであることを認識します。 ただし、SAPインストーラーはその事実を 認識しない ため、一部の構成手順を手動で実行する必要があります。 それらの手順の1つは、セカンダリーノードのサブネットに存在するクラスターIPアドレスリソースを作成することです。 手順は次のとおりです。
- IPリソースを作成する
- IPアドレスを割り当てる
- 「OR」の依存関係を作成する
以下のスクリーンショットに従って、2つのクラスターリソースグループの、それぞれのクラスターノードの1つでこれらの手順を完了します。
新しいIPアドレスを追加します。
IPアドレスを設定して、セカンダリーノードのネットワークに関連付けます。この記事の上部で構成した 未使用のセカンダリ アドレスの 1 つを指定します。
「OR」機能を使用して、サーバーネームリソースをこの追加のIPアドレスに依存させます。
以下に示すように、他のサーバーネームリソースに対しても同じプロセスを実行します。
これらのアドレスがオフラインになっているのは通常のことです。 クラスターのワークロードがそのサブネットで実行されている場合にのみオンラインになります。
クラスターリソースの再起動ポリシーの変更
場合によっては スイッチオーバーまたはフェイルオーバー時にSAP ASCSサービスの開始に失敗することがあります。 これが最も頻繁に発生する理由は、サービスが使用可能になるためにクラスター化されたファイル共有に依存しているためです。TTLを15秒に設定すると、ASCSサービスが開始しようとする前にファイル共有が利用できないことが時々確認されています。 この問題が発生すると、オンラインに接続できなくなります。 通常、障害後にリソースを再度オンラインにするだけで問題は解決します。 ただし、これにはユーザーの介入が必要であり、フェイルオーバークラスタリングの目的が無効になります。この問題の 修正 は、ファイルサーバーリソースのIPがまだ利用できない場合に、ASCSサービスリソースの最大再起動回数プロパティと再起動間の遅延プロパティを調整して、ASCSサービスがオンラインになるまでの時間を少し与えることです。 以下に示す設定は、十分すぎる設定のサンプルです。 大規模で複雑な DNS 環境がある場合は、環境のニーズを満たすためにこれらのパラメーターを増やしてください。
再接続に影響を与える可能性のあるもう1つのパラメーターはTTLです。 15秒早く設定しました。 ただし、DNSゾーンの更新に時間がかかる大規模なAD環境がある場合は、TTLをさらに減らすか、より多くの再起動試行を許可して再起動間の遅延を増やす必要がある場合があります。
念のため、SAPインスタンス リソースに対しても同じことを行うことをお勧めします。
USRフォルダーのアクセス許可を調整する
レプリケートされたボリューム上に作成されたUSRフォルダーにインストールを実行するユーザーのアクセス許可を追加します。 フォルダーはDドライブ (または使用した複製ボリューム) 上にあります。
セカンダリーノードから、サーバーネームリソースを使用して作成された、ファイル共有が表示されることを確認します。
2番目のノードでSAPINSTを実行する
以下のスクリーンショットに従って、追加のクラスターノードのインストールを完了します。
上記の画面がしばらく停止しているように見える場合は、メッセージをクリックすると、インストールが再び進行し始めるはずです。
次のステップは5分後にタイムアウトして失敗します。
2番目のノードをインストールするプロセスにより、すべてのリソースが2番目のノードに移動されました。
エラーが発生してインストーラーがタイムアウトになった後にインストーラーを完了するには、両方のクラスターリソースをプライマリーノードに戻し、 再試行 をクリックしてインストールを完了する必要がある場合があります。
両方のクラスターの役割がプライマリーノードでサービスに戻ったら、SAPインストーラーの 再試行 ボタンをクリックします。 以下のようにインストールが完了します。
Step 11: プライマリーアプリケーションサーバーと追加のアプリケーションサーバーのインストール
プライマリーアプリケーションサーバーと追加アプリケーションサーバーを含む、WindowsへのSAPインストールの詳細については、 こちら の公式 SAP ドキュメントを参照してください
PASおよびAASをインストールした後、ホスト名とサービス名の内部キャッシュを非アクティブ化する必要があります。 詳細については、SAPノート1425520 – Disable NI cache for host and service names を参照してください。
結論
このステップバイステップガイドでは、SIOS DataKeeperを構成し、ABAP SAPセントラルサービスおよびエンキューレプリケーションサーバーのWindowsフェールオーバークラスタリングと統合する方法を説明しました。
このトピックへフィードバック