Amazon Web Services ブログ

AWS License Managerをつかってライセンス使用数を管理する方法

AWS License Manager を使うことで、ソフトウェアライセンスを効率的にクラウドに持ち込むことができます。AWSでサードパーティのライセンスを使ったアプリケーションを構築したり、オンプレミスのワークロードをAWSに移行したりする際、BYOL(bring-your-own-license)を用いてコストを節約可能です。これはすでにお持ちのソフトウェアライセンスをクラウドリソースとして再利用することによって実現されます。今回は、AWS License Manager を使用して、一元的にこれらのライセンス使用数を管理する方法についてご説明します。

AWS License Manager でライセンスの管理を行う最初のステップは、”ライセンス構成を作成”することです。 ライセンス構成とは、企業契約に基づくライセンスルールで、ソフトウェアベンダーとの使用許諾契約書における条件をエミュレートします。

ライセンス構成では、ライセンスに適用されているカウントモデル(vCPU、コア、ソケット、インスタンス数など)を指定します。 割り当てられているライセンス数を超える使用を防ぐために、ライセンス制限も指定できます。 さらに、ライセンス使用に適用するルール(テナントの制限など)を指定することもできます。

 


ライセンス構成で 【ライセンス制限を適用します】オプションを選択すると、使用可能なライセンス数を使い果たした後にライセンスを使用することを防止します。 この制限を超えると、超過を防ぐために、ライセンスを必要とするインスタンスの起動はブロックされます。 今回は、16vCPUのライセンス制限が設定されています。

次のステップでは、下記5パターンのEC2インスタンス起動手段を例に、ライセンス構成を設定していきます。

  • Amazon Machine Image (AMI)
  • EC2 起動テンプレート
  • AWS CloudFormation
  • AWS Service Catalog
  • AWS Marketplace から入手したソフトウェア

それでは、それぞれについてライセンス使用数を管理する方法を見てみましょう。

Amazon Machine Image

Amazon Machine Image (AMI) は、インスタンスの起動に必要な情報を提供します。 同じ設定の複数のインスタンスが必要な場合は、1 つの AMI から複数のインスタンスを起動できます。 AWS License Managerでは、AMI をライセンス構成に関連付けることで、ライセンスの使用状況を追跡できます。 関連付けを行うことにより、 新規にAMI から作成された Amazon EC2 インスタンスを追跡できます。

 

 

また、実行中の環境をライセンス構成に手動で関連付けることもできます。

 

EC2 起動テンプレート

EC2起動テンプレートは、”EC2インスタンスの構成”を保存するために使用されます。保存した構成は、今後再びインスタンスを起動する時に利用したり、共有したりできます。 以下に従い、 EC2コンソールから新しい起動テンプレートを作成してみましょう。


 

【EC2起動テンプレート】画面で、【起動テンプレートを作成】オプションを選択します。

 

 

必要な項目を入力し、さらに【高度な詳細】セクションで対応するライセンス構成を選択したのち、起動テンプレートを作成します。

 

 

起動テンプレートが正常に作成されました。 次に、この起動テンプレートから新しい EC2インスタンスを起動しましょう。 今回は、vCPUが2つあるt2.mediumインスタンスタイプを使用します。

 

これでSQLライセンスの消費状況は、AWS License Managerのライセンス構成でモニタリングできるようになりました。

AWS CloudFormation

AWS CloudFormationを使えば、インフラストラクチャをコードとして実装できます。 AWS CloudFormation は、安全かつ繰り返し実行できる方法でアプリケーションリソースをプロビジョニングします。これにより、手動アクションを実行したり、カスタムスクリプトを作成したりすることなく、インフラストラクチャとアプリケーションを構築および再構築できます。

CloudFormation テンプレートを使用してライセンスの追跡を設定する方法を見てみましょう。 まず、単一のユニットとしてデプロイリソースを定義する、新しいスタックを作成していきます。

 

既存のテンプレートまたはサンプルテンプレートを選択することも、新しいテンプレートを作成することもできます。 ライセンス管理を行うためには、テンプレートの 【EC2 リソース】セクションで、パラメータ“LicenseSpecifications”を使用します。 このパラメータは、EC2 に関連付けられている“LicenseConfigurationArn” 値を渡すために使用されます。

 



 

上記コードのLicenseSpecificationsに注目してください。 これにより、スタックの作成時にこのリソースに使用するライセンス設定を指定できます。 そしてタグ、アクセス許可、その他の詳細オプションを含むスタックオプションを設定して、スタックを作成します。 この例では、vCPU が 2 つある t2.mediumインスタンスタイプを使用します。数分後、イベントリストを更新して、スタックのデプロイが成功したことを確認できます。

 

 

AWS License Manager に戻りましょう。vCPUが2つあるt2.mediumインスタンスのライセンス消費が、新しく追加されている点に注目してください。

 

AWS Service Catalog

AWS Service Catalog を使用すると、組織は使用が承認されたAWSにおけるIT サービスのカタログを作成および管理できます。 これらのITサービスには、仮想マシンイメージ、サーバ、ソフトウェア、データベースから多層アプリケーションアーキテクチャに至るまで、あらゆるものが含まれます。

また、AWS Service Catalog で製品を構成して、ライセンスの消費を追跡することもできます。 これがどのように機能するかを確認するために、新しい製品を作成してみましょう。 AWS Service Catalog コンソールで 【製品の作成】オプションを選択し、製品に関する基本的な情報を入力し、ウィザードを進めていきます。 この製品を定義する AWS CloudFormation テンプレートファイルを含めることができます。 このテンプレートファイルには、先ほどのAWS CloudFormation セクションで使用したコードが利用でき、そこにライセンス構成の詳細を入力できます。 このバージョンにタイトルを付けて、製品の作成を完了します。

 

製品が正常に作成されると、この製品をエンドユーザーがポートフォリオとして利用するための設定が可能になります。 本製品を使用するたびに、ライセンス消費が記録されます。

AWS Marketplace

AWS Marketplace は、独立系ソフトウェアベンダーによる何千ものソフトウェアリストを含むデジタルカタログで、これを使えばAWSで実行したいソフトウェアの検索、テスト、購入及びデプロイが簡単にできます。 また、AWS Marketplace では、BYOL AMIを別途提供しており、これを使って既存のライセンスを利用することができます。

AWS Marketplace にある製品を使いながら、既存のライセンス使用状況を追跡する方法を見てみましょう。 ここでは、AWS Marketplace でBYOLをサポートするパロアルト製品を検索していきます。

この製品の提供方法は、Amazon Machine Image(AMI)です。 この製品を使用するには、subscribeを行います。これで、subscribeされたAWS MarketplaceのソフトウェアをAMIを使って利用できるようになります。今回選択したものはBYOL製品であるため、ライセンスの使用状況を追跡するには、以下の手順に従ってください。

  1. ベンダーとのライセンス契約に基づき、適切なライセンスタイプ(vCPU またはインスタンス)を使用して、AWS License Manager でライセンス構成を作成します。
  2. 次に、AWS Marketplace AMIでEC2起動テンプレートを作成し、上記の EC2 起動テンプレートのセクションで説明したように、起動テンプレートにライセンス構成を設定します。

このように、AWS でのライセンス消費を管理する方法は様々です。 AWS License Manager はこれらの方法で、ライセンス構成で指定されたライセンス制限の違反を追跡し、ライセンスの使用数をコントロールし、要件を満たしていない新しいインスタンスの起動を防止します。 これらの制限は、インスタンスの起動時または既存のインスタンスにライセンスルールを設定するときに評価されます。ライセンス制限を適用しないソフトリミットを超えた場合、AWS License Manager はAmazon Simple Notification Serviceを用いてライセンス管理者とエンドユーザーに通知を送信します。 通知は、インスタンスがライセンス要件を満たしていないことを知らせるために、電子メール、テキストメッセージ、またはアラートとして送信されます。

たとえば、ライセンス構成「Windows SQL 2016 Server」では、現在、16個中の4個のvCPUが消費されています。 今、上記のEC2起動テンプレートのセクションで説明したように、起動テンプレート「SQL2016_LaunchTemplate」を使用して、新規にc4.4xlargeインスタンスを起動してみましょう。

c4.4xlarge インスタンスには、16個のvCPUがあります。 すでにある4個の消費数にそれが加わった結果、ライセンス構成の合計16vCPU制限を超過します。 これは、以下のように AWS License Manager のダッシュボードで追跡できます。

ライセンス制限を適用したハードリミットの場合は、AWS License Manager は、EC2 と統合的に連携する仕組みを使って新しいインスタンスの起動をブロックし、エンドユーザーとライセンス管理者にアラートを送信します。


まとめ

AWS License Manager を使用すると、インスタンスのライフサイクル全体を通してライセンスの使用状況を追跡し、管理できます。 インスタンスが停止または終了すると、そのBYOL ライセンスは解放され、再利用できるようになります。

このビデオでは、Amazon Machine Image、EC2 起動テンプレート、AWS CloudFormation テンプレート、 AWS Service Catalog、または AWS Marketplace から取得したソフトウェアを使用して新しいインスタンスを起動しながら、ライセンスルールを適用するために AWS ライセンスマネージャを使用するデモをご覧いただけます。 AWS License Manager を使用してライセンスを管理する方法をもっと知りたい場合は、このドキュメントを参照してください。


著者について

Harshitha Putta は、AWSプロフェッショナルサービスのインフラストラクチャーアーキテクトとしてシアトルで働いています。彼女はお客様のビジネス目標の達成を支援するために、AWS サービスを使ったイノベーティブなソリューションの構築に熱心に取り組んでいます。 余暇は家族や友人と遊んだり、ボードゲームやハイキングを楽しんでいます。


原文はこちら。翻訳は SA 柳 が担当しました。