Check! Azure CycleCloud のアプリケーションサーバーを建ててみる

こんばんは、 @dz_ こと大平かづみです。


Prologue - はじめに

先日 GA (Genaral Available) した、Azure CycleCloud を試してみます。

CycleCloud は、もともと昨年8月に Microsoft に買収された Cycle Computing の製品で、エンタープライズ向けのセキュアでフレキシブルなクラウド上のHPC環境を管理できるソフトウェアのようです。

Azure CycleCloud のアプリケーション自体は無料で、いくつかの方法で動かすことができます。


  • 自身のAzure上にデプロイする(クイックスタート)

  • Marketplace から購入する

  • コンテナイメージ microsoft/azure-cyclecloud を利用する

クイックスタート 、または 手動インストール について、それぞれご参考ください。


References


Azure 上にデプロイしてみる

さて、 クイックスタート を参考に、自身の Azure 上に建ててみましょう。


大まかな手順


  1. サービスプリンシパルを作成する

  2. SSHキーペアを作成する

  3. デプロイする

  4. CycleCloud アプリケーションサーバーにログインする


準備


作業メモ

# サービスプリンシパルを作成する

az ad sp create-for-rbac --name CycleCloudApp --years 1

appId, password, tenant を記録しておきます。

# SSHキーペアを作成する

ssh-keygen -f ~/.ssh/id_rsa-cyclecloud -N "" -b 4096

# 公開鍵をコピーする
cat ~/.ssh/id_rsa-cyclecloud.pub

# 公開鍵をコピーする(※ WSLの場合は clip.exe に渡すことでコピーできる)
cat ~/.ssh/id_rsa-cyclecloud.pub | clip.exe

Deploy Azure CycleCloudDeploy to Azure ボタンをクリックして、デプロイ情報の入力画面に進みます。

Deploy to Azure (2018/9 時点のリンクを引用)

image.png

それぞれ選択、記入し、利用規約を確認・承認して「Purchase」ボタンをクリックします。

項目
説明

Subscription
利用するAzureサブスクリプションを選択する

Resource group
CycleCloudアプリケーションを配置するリソースグループ名を指定する

Location
リソースを配置するロケーションを選択する

Tenant Id
サービスプリンシパル作成時の tenant を入力する

Application Id
サービスプリンシパル作成時の appId を入力する

Application Secret
サービスプリンシパル作成時の password を入力する

SSH Public Key
作成したSSHキーペアの公開鍵( ssh-rsa XXX~)を入力する

Username
CycleCloud アプリケーションをインストールする仮想マシンにログインするためのユーザー名を指定する

Cyclecloud Vm Size
CycleCloud アプリケーションをインストールする仮想マシンのVMサイズを指定する(※ 後述)

Cyclecloud Vm Storage
CycleCloud アプリケーションをインストールする仮想マシンのストレージタイプを指定する(※ 後述)

Cyclecloud Version
CycleCloud のバージョンを指定する

Azure Sovereign Cloud

ソブリンリージョンについては、日本で利用する場合は public を選択する

Vnet Name
仮想ネットワークの名前を指定する

※ VMサイズについて、デフォルトの D3 v2 は、約33,440円/月で、個人で試すにはちょっと高めですね(笑)。Marketplace の Azure CycleCloud を確認すると、 F4S(約 20,154円/月) の Premium storage で対応できるようなので、 Standard_F4s_v2 を指定してみます。(お高いので使わないときは停止しておきましょうか…)ストレージの選択はお任せします。

# 参考) VMサイズ一覧

az vm list-sizes -l japaneast -o table

デプロイしたらしばし待ちます。

デプロイが完了したら、CycleCloud アプリケーションサーバーへログインしてみましょう。

まず、CycleCloudアプリケーションサーバーのドメイン名(FQDN)を取得します。

# リソースグループを変数に指定する

export RESOURCE_GROUP="<your resource group of cyclecloud>"

# ネットワークを開放する
az network public-ip show -g ${RESOURCE_GROUP?} -n cycle-ip --query dnsSettings.fqdn

xxx.japaneast.cloudapp.azure.com このようなドメイン名が表示されます。このドメインをブラウザで開きます。

例) https://xxx.japaneast.cloudapp.azure.com/

自己署名証明書なので警告が表示されますが、 アクセスします。

お、無事セットアップ画面が表示されました!

image.png

サイト名を入力して、「Next」ボタンをクリックします。規約を読み、承諾のチェックを付けて、「Next」ボタンをクリックします。

image.png

User ID, Name, Passwrord, Confirm を埋めて、「Done」ボタンをクリックします。

やった!できました!(*'ω'*)

image.png

気になりどころのクラスタのひな型がすでに用意されているようですね♪

次回、クラスタをデプロイしていろいろ試してみようと思います。

なお、課金が気になる方は、CycleCloudアプリケーションサーバーやクラスタを停止しておくなど、ご留意くださいませ。


Epilogue - おわりに

Azure ポータルではないということで気になっていましたが、簡単にアプリケーションサーバーを建てられることがわかりました。

いよいよ、使い勝手が気になりますね(*'ω'*)