Amazon Web Services ブログ

Amazon EC2 CPU オプションによる SAP アプリケーションのライセンス最適化

はじめに

SAP 社は、お客様向けに異なるライセンスオプションを持つ複数の製品を提供しています。例えば、SAP BusinessObjects(SAP BOBJ)は、同時セッション(CS)/ 同時アクセスライセンス(CAL)、指定ユーザー(NU)、CPU ライセンスタイプをサポートしています。利用可能なさまざまなライセンスオプションを理解することは、お客様がAWS で実行する際のコストを最適化するために重要です。

お客様がこれらのアプリケーションを AWS に導入することを決定した場合、ソフトウェアライセンスの使用量を最適化する機会があります。Amazon EC2 インスタンスは T シャツサイズで提供されているため、これは CPU 構成に基づくライセンスにとって特に重要です。

CPU ベースのライセンスで SAP 製品を Amazon EC2 インスタンスで起動する際にデフォルトの設定を使用しているお客様は、ライセンス数よりも多くの仮想 CPU(vCPU)を使用している可能性があります。そのため、追加の購入を避けるために vCPU つまり、 CPUコアの数を特定する必要があります。

このブログでは、CPU ベースのライセンスで SAP アプリケーションを実行するインスタンスの vCPU 数を、Amazon EC2 CPU オプションで CPU コアを指定してカスタマイズし、ライセンスの価値を最大限に引き出す方法について説明します。

このブログをお読みになる前に、以下の SAP ノートをよく理解されることをお勧めします:

CPU ベースのライセンシングを使用した SAP アプリケーション

注意すべき点は、自社の SAP 契約の詳細を常に SAP アカウントエグゼクティブに確認することです。この方法により、契約の解釈が当事者間で一致していることを確認することができます。

CPU に基づくライセンス契約では、取得したライセンスに基づいて、無制限のユーザーに対して無制限のセッション数を実行できます。ワークロードを実行するための計算リソースがあれば、ユーザーを追加することができます。これは、同時セッション数がライセンスキーの数量に依存する CS 契約とは異なります。

CPU ベースの SAP ソフトウェアライセンスでは、サーバー内の各コアに製品を実行するためのライセンスが必要です。これには、需要の急増に対応するためにのみ必要なライセンスも含まれます。Amazon EC2 の場合、インスタンスで使用できる vCPU の数が考慮されます。これは物理マシンの CPU コアの数とは関係ありません。詳細については、SAP Software Use Rights 文書の CORES セクションを参照。

Amazon EC2 CPU オプション

Amazon EC2 は、SAP を含むほぼすべてのワークロードに対応する安全で柔軟なコンピューティング能力を提供します。お客様は、Intel または AMD プロセッサを搭載した、さまざまな SAP 認定インスタンスタイプを柔軟に使用できます。最新のインスタンスタイプを使用すると、同じ数のライセンスでも処理能力を高めることができます。r6i.24xlarge インスタンスは、r5.24xlarge インスタンスと比較して SAPS が 6% 多くなります。これにより、ライセンスを追加せずにユーザーを追加することができます。

Amazon EC2 の設計では、1 つの CPU コア上で複数のスレッドを実行できるようになっています。各スレッドは vCPU です。つまり、m5.2xlarge インスタンスにはデフォルトで 4 つのコアとコアあたり 2 つのスレッドがあるため、8 個の vCPU があるということです。CPU ベースのライセンスでは、お客様には 8 個の CPU ライセンスが必要になります。ただし、アプリケーションの実行に必要な計算能力が低い場合は、より少ない CPU コア数でインスタンスを最適化できれば、必要な vCPU と CPU ライセンスの数が少なくなります。

Amazon EC2 では、インスタンス起動時に CPU 最適化オプションを指定することでこれを実現できます。これは起動時にのみ指定でき、インスタンスの起動後に変更することはできません。CPU オプションを指定しても、追加料金や割引料金はありません。詳細については、「CPU オプションの最適化」ドキュメントを参照してください。インスタンスが CPU オプションをサポートしているかどうかは、インスタンスタイプ別の CPU コアごとの CPU コア数とスレッド数のドキュメントで確認できます。

CPU オプションの最適化の使用を決定する前に、SAP ワークロードへの影響と制限を理解することが重要です。Amazon EC2 インスタンスに配信される SAPS は、構成された vCPU 数に比例します。CPU オプションの最適化の使用は、SAP HANA ワークロードではサポートされていません。詳細については、SAP ノート 1656099「AWS 上の SAP アプリケーション:サポートされている DB/OS および AWS EC2 製品」を参照してください。

AWS コンソールまたは AWS CLI を使用して、インスタンス起動時に CPU オプションを指定できます。AWS のドキュメントには、AWS コンソールと AWS CLI の両方でCPU オプションを使用する例が記載されています。

セットアップの検証

Amazon EC2 コンソールのインスタンスの詳細タブで既存のインスタンスの CPU オプションを確認するか、AWS CLI の describe-instances コマンドを使用してインスタンスの詳細を確認することができます。describe-instances コマンドを使用して、ThreadsPerCore (コアあたりのスレッド数)を確認することもできます。

Linux インスタンスの CPU 情報を表示するには lscpu などのツールを、Windows インスタンスの場合はタスクマネージャーを使用することができます。

以下に示すように、Windows インスタンスでこの変更を検証する方法を確認しましょう。まず、r6i.xlarge インスタンスサイズ (vCPU が 4 つ) から開始します。

Screenshot of Task Manager showing details of a r6i.xlarge instanceFigure 1: r6i.xlarge インスタンスの詳細を表示するタスクマネージャー

Virtual processors: 4 を確認します。以下のコマンドを使用すると、16 個の vCPU を搭載した r6i.4xlarge インスタンスにインスタンスのサイズを変更できます。

aws ec2 modify-instance-attribute --instance-id [ID of the instance] --instance-type r6i.4xlarge

タスクマネージャーをもう一度見てみると、次のようなものになっているはずです。

Screenshot of Task Manager showing details of a r6i.4xlarge instance

Figure 2: r6i.4xlarge インスタンスの詳細を表示するタスクマネージャー

Virtual processors: 16 を確認します。 以下の AWS CLI コマンドを使用すると、12 個の vCPU (6 個の CPU コアと 2 個のスレッド) を備えた同様のインスタンス (r6i.4xlarge) を起動できます。

aws ec2 run-instances --image-id [AMI ID] --instance-type r6i.4xlarge --cpu-options "CoreCount=6,ThreadsPerCore=2" --key-name [Key Pair] --security-group-ids [Security Group ID] --subnet-id [Subnet ID]

これで、タスクマネージャーには次のような内容が表示されるはずです。

Screenshot of Task Manager showing details of a r6i.4xlarge instance with CPU options specified

Figure 3: CPU オプションが指定された r6i.4xlarge インスタンスの詳細を表示するタスクマネージャー

Virtual processors: 12 を確認します。AMD インスタンスでも同様のプロセスが可能です。たとえば r6a.4xlarge の場合、以下を実行することができます。

aws ec2 run-instances --image-id [AMI ID] --instance-type r6a.4xlarge --cpu-options "CoreCount=6,ThreadsPerCore=2" --key-name [Key Pair] --security-group-ids [Security Group ID] --subnet-id [Subnet ID]

Screenshot of Task Manager showing details of a r6a.4xlarge instance with CPU options specified

Figure 4: CPU オプションが指定された r6a.4xlarge インスタンスの詳細を表示するタスクマネージャー

AWS License Manager によるライセンスの管理

AWS License Manager は、お客様が SAP の CPU  ベースのライセンスのコンプライアンスを管理するために使用できるサービスです。ライセンス構成の使用状況を管理および可視化できるため、お客様は各自の設定に基づいてデプロイのソフトリミットとハードリミットを設定したルールを作成できます。所有しているライセンス数と同じ数のインスタンスだけがデプロイされるようにできます。License Manager は、vCPU、物理コア、ソケット、またはマシン数に基づいてライセンスされたあらゆるソフトウェアの追跡をサポートしています。

SAP の CPU ベースのライセンスに関する最も重要な点は、AWS License Manager が Amazon EC2 CPU オプションと統合されていることです。これにより、お客様は、カスタマイズした CPU コア数とスレッド数に基づいて vCPU をカウントするルールを設定できます。AWS のドキュメントには、追加できるパラメータとルールが記載されています。

また、AWS License Manager はライセンスルールを複数の起動メカニズムに関連付けることができるという点にも注意してください。セルフマネージドライセンスを Amazon マシンイメージ (AMI) に関連付けて、それを AWS CloudFormation テンプレートに追加して、Amazon EC2 起動テンプレートに入れることができます。これにより、準拠していないインスタンスや構成がデプロイされるのを防ぐことができます。詳細については、License Manager ドキュメントのライセンスルールを参照してください。

まとめ

このブログ記事では、特に SAP BOBJ ライセンスに関するドキュメントを中心に、SAP 製品での CPU ライセンスに関する重要な概念について説明しました。

お客様が Amazon EC2 CPU オプション設定を使用して、ワークロードに必要なコンピューティング能力と必要な CPU ライセンス数をより適切に一致させる方法を示しました。また、AWS License Manager のセルフマネージドライセンスを利用してライセンスを管理する方法についても説明しました。

結論として、CPU オプションを指定するためのルールに関する AWS のドキュメントをよく理解し、ライセンスに関する決定を下す前に必ず SAP アカウントエグゼクティブと SAP ライセンス契約を確認する必要があることを強調しておく必要があります。

何千ものお客様が AWS で SAP を実行している理由については、AWS for SAP のページをご覧ください。

翻訳は Specialist SA 菅谷が担当しました。原文はこちらです。