マイクロソフトの田中です。AzureのHPC/CAE環境構築管理ソフト Azure CycleCloudについてご紹介します。
設計・開発領域で使われる計算環境に構築・管理にはアプリケーションの知識がいるため特殊な領域です。
クラウド環境では、各社クラウドネイティブな方法でHPC/CAE環境を構築していました。
Microsoftのパブリッククラウドでは、いつでも利用できるInifiniBandなどの環境を効率的に利用するため、Azure CycleCloudが利用できます。CycleCloudは旧Cycle Computing社のソフトウェアで今回Microsoftの買収に伴いリブランディングされたということになります。本記事ではドキュメントリソースと構築方法について記載します。
まずは宣伝。デモ中心にご紹介できるので参加可能であればご検討ください。
セミナー予定
11/7 Microsoft Tech Summit 2018 Day3 17:30-18:20(有償セミナー)
設計業務で利用するクラウド CAE/HPC ~Azure CycleCloud/Avere 紹介~
Microsoftの設計・開発領域におけるデジタル改革の取り組みとAzure CycleCloud、関連ソリューションとしてAvereをご紹介します。
11/26 Azure CycleCloud ハンズオン 13:00-16:00@MS品川オフィス
ハンズオンセッションを予定しています。サービスプリンシパルをどうするのかという問題があるのですが、具体的なイメージをつけてもらえればと思っています。
登録サイト https://www.microsoftevents.com/profile/4919842
Azure CycleCloudとは
HPC/CAE向けのクラスタ構築管理ソリューションです。基本的な機能があり、アプリケーション作成のためのフレームワークが用意されます。無償なのも特徴で、既存のHPCユーザはモダンな利用方法でクラウド上にHPCアプリケーション(ソルバ)を展開できます。Microsoftからも有名商用・OSSソルバのテンプレートが提供される予定です。
以下のあたりが利用できる機能です。
- 計算リソースの管理
- データの管理
- リソースの自動調整
- レポートの作成
- 監視と分析
- アラートの作成
- クラスタ用のテンプレート
- ワークフローの作成
リソース・ドキュメント:https://docs.microsoft.com/en-us/azure/cyclecloud/
#構築のステップ 以下クイックスートの抜粋
https://docs.microsoft.com/en-us/azure/cyclecloud/quickstart-install-cyclecloud
##Azure CycleCloudクイックスタート
- Azureの権限等、準備
- ターミナル環境(Linux, バーチャルコンソール)
- Azure CLI環境
-サービスプリンシパル権限- Azrue Active Directory –> ユーザー設定 –> アプリの登録]が「はい」になっている
- Azrueサブスクリプションのアクセス許可
- サブスクリプション -> Overview「所有者」 または「ユーザーアクセス管理者」ロールが割り当てられている
- サービスプリンシパルの作成
- ARMテンプレートを利用してAzure CycleCloudの仮想マシンを展開(もしくはマニュアル)
- Cycle ServerのパブリックIPアドレス(FQDN)を確認
- ブラウザからCycle ServerのFQDNへアクセス
###1. ターミナル、Azure CLIの環境の準備をする
###2. サービスプリンシパル
Azure CycleCloudには、Azureサブスクリプションへの投稿者アクセス権を持つサービスプリンシパルが必要です。利用できるサービスプリンシパルがない場合は、今すぐ作成できます。サービスプリンシパル名は一意である必要があります。下の例では、CycleCloudAppを好きなものに置き換えることができます。
Azure CLI
az ad sp create-for-rbac --name CycleCloudApp --years 1
出力には一連の情報が表示されます。appId、passwordとtenantのコピーをしてください。特にパスワードは一度だけの表示です。
出力
"appId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "displayName": "CycleCloudApp", "name": "http://CycleCloudApp", "password": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx", "tenant": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
SSH鍵ペア
CycleCloud VMとクラスタにログインするには、SSHキーが必要です。
SSH鍵ペアを生成するには、Linux
ssh-keygen -f ~/.ssh/id_rsa -N "" -b 4096
SSH公開鍵を取得するには:
cat ~/.ssh/id_rsa.pub
出力はssh-rsaで始まり、その後に長い文字列が続きます。この公開鍵キーをコピーして保存してください。
3. ARMテンプレートでの展開
GitHubに格納されているARMテンプレートを使用して、CycleCloudをAzureリソースにインストールします。
https://portal.azure.com/#create/Microsoft.Template/uri/https%3A%2F%2Fraw.githubusercontent.com%2FCycleCloudCommunity%2Fcyclecloud_arm%2Fmaster%2Fazuredeploy.json
ARMテンプレートの入力内容
- 3つの別々のサブネットを持つ仮想ネットワークを展開します。
- cycle:CycleCloudサーバーが起動されているサブネット
- HPCクラスタのA / 22サブネットを計算する
- user:ユーザログインを作成するためのサブネット
- サイクルサブネット内に仮想マシンをプロビジョニングし、Azure CycleCloudをインストールします。
ARMテンプレートの内容が成功したか確認する
4. Cycle ServerのパブリックIPアドレス(FQDN)を確認
2つの方法があります。
- Azure Portal からFQDNを確認
- CLIコマンドから確認
3.az network public-ip show -g ${RESOURCE_GROUP?} -n cycle-ip --query dnsSettings.fqdn
5. ブラウザからCycle ServerのFQDNへアクセス
ブラウザ上での初回設定
- CycleCloudサイトサイト名設定
- ユーザパスワード設定
カスタム例
展開した状態からいくつかのアプリケーションを登録しています。