AWS EC2インスタンスに設定されたGurobiライセンスファイルは、EC2インスタンスが停止(Stop)して再起動されても有効のままです。しかし、追加の構成手順が取られない限り、EC2インスタンスが終了(Terminate)された後、Gurobiライセンスファイルが無効になる場合があります。
Gurobiライセンスファイルは、ホストマシンの特定のハードウェアおよびソフトウェアコンポーネントに結び付けられています。これらのコンポーネントは通常、EC2インスタンスが終了され再起動されると変更されます。
Linuxインスタンスの場合
Linuxでは、Gurobiライセンスファイルはプライマリネットワークインターフェースに依存しており、これは新しいAWS EC2インスタンスを起動すると変更される可能性があります。これを防ぐために、EC2インスタンスにElastic Network Interface (ENI)を割り当て、この新しいネットワークアダプターに対してGurobiライセンスを設定します。ENIを使用すると、ネットワークインターフェースがGurobiを実行しているマシンに保持されるため、ライセンスファイルは引き続き機能します。
プライマリENIにライセンスファイルを割り当てる
プライマリネットワークインターフェースとして接続されたENIにGurobiライセンスファイルを割り当てるには、以下の手順を実行します:
- 新しいENIを作成します。
- ENIをEC2インスタンスに接続し、ENIをプライマリネットワークアダプターとして割り当てます。
- EC2インスタンスを起動します。
- Gurobiのウェブサイトにアカウントでログインし、Downloads & Licenses->Your Gurobi Licensesに移動します。適切なライセンスIDをクリックし、
grbgetkey
を使用してライセンスファイルをEC2インスタンスにダウンロードするための指示に従います。
(日本リージョンの場合には、代理店にお問い合わせください。)
セカンダリENIにライセンスキーを割り当てる
デフォルトではgrbgetkey
がプライマリネットワークインターフェースのみを考慮するため、セカンダリネットワークインターフェースとして接続されたENIにGurobiライセンスファイルを割り当てることは、より複雑なプロセスになります。以下の手順の実行が必要です:
- 新しいENIを作成します。
- ENIをAWS EC2インスタンスに接続し、ENIをセカンダリネットワークアダプターとして割り当てます。
- AWS EC2インスタンスを起動します。
- 必要なマシン情報を特定します:(日本リージョンの場合には、代理店にお問い合わせください。)
- すべての利用可能なネットワークインターフェースをリストするために
grbprobe adapters
を実行します。 - 上記コマンドから得られるのENIアダプターの名前で
grbprobe --adapter <eni> --output probe.txt
を実行します。
- すべての利用可能なネットワークインターフェースをリストするために
- 保存されたマシン情報に基づいてライセンス情報を生成するために
grbgetkey --input probe.txt
を実行します。
AWSマシンからGurobiライセンスサーバーにアクセスできず、grbgetkey
を実行できない場合は、手動でprobe.txt
ファイルに情報を入力する必要があります:
- Gurobiの ウェブサイトにアカウントでログインし、Downloads & Licenses->Your Gurobi Licensesに移動します。適切なライセンスIDを見つけて、Install -> Generate Manuallyをクリックします。これにより、以下のフォームが開き、
probe.txt
ファイルに収集された情報で完了する必要があります。 - フォームに記入したら、Submitをクリックし、ライセンスファイルをダウンロードしてEC2マシンにコピーします。
Windowsインスタンスの場合
Windowsでは、Gurobiライセンスファイルはプライマリボリュームに依存しています。Windowsでは、ライセンスファイルの有効性を保持するために、プライマリボリューム(C:)としてElastic Block Store (EBS)ボリュームを使用します。
注意: AWSインスタンスタイプを変更する予定がある場合は、(ライセンスによって許可されているコア数の上限値を超えない範囲で)使用予定のコア数が最も多いマシンにライセンスファイルを設定することをお勧めします。