AzureにGPUインスタンス登場! A8-A11の値下げやDV2も来たよ!

Azurecon 2015 このイベント、日本時間では深夜1時開始となかなかつらい時間帯だったのですが、一張羅のHPC Azure Tシャツに着替えて都内某所のパブリック・ビューイング会場へと乗り込みましたよっと。 いろいろな新サービスの発表がありましたが、個人的にこれだ!と思ったものをピックアップして紹介します。網羅的な内容は、Jason Zanderのブログ↓などをご覧ください。Building the Intelligent Cloud: Announcing New Azure Innovations to Transform Business   GPUインスタンス! これですよ、これ。このためにHPC Azure Tシャツを着てきたのです。皆さんから多くの要望をいただいていた、GPUインスタンスがAzureにやってきます。その名も「Nシリーズ」です。きっとNVIDIAの”N”ですね。 このNシリーズに関しては、Jason ZanderのブログよりもNVIDIAさんの発表のほうに少し詳しく書かかれていますので、そちらを見てみましょう。 NVIDIA GPUs to Accelerate Microsoft Azure これによると、 Azure is the first cloud computing platform to provide NVIDIA GRID 2.0 virtualized graphics for enterprise customers.AzureはGPU仮想化ソリューションであるNVIDIA GRID 2.0を企業向けに提供する最初のクラウドコンピューティングプラットフォームです。 とあるので、RemoteFXで活用できるような「グラフィックのためのGPU」(って変な表現ですが)のインスタンスが提供されるようです。 一方、こうも書かれています。 Azure will also…

0

YAPC::Asia Tokyo 2015 に参加してきた話

YAPC::Asia Tokyo 2015 とそのハッカソンに参加してきました!実は、一昨年の YAPC::Asia Tokyo 2013 のスポンサーセッションで Azure の紹介(に名を借りた自己紹介)をしたことがあるんですが、個人参加は今回が初めてです。 なにせ今年でいったんおしまい、という話だったので「これは最後に行っておかねば」と、個人スポンサーにもなってみました。YAPC::AsiaのTシャツとパーカーとタンブラーカッコいいぜ! 正直に言って、私にとってYAPC::Asiaはわりとアウェイな世界。多少なりとも面識ある人は同じ会社の @myfinder さんと TDの @repeatedly, @tagomoris 両氏ぐらいでしたが、しかしとても楽しい空間でした。トークを聞きながら Twitter の #yapcasia で実況ツイートを追っかけて、ところどころ自分もコメントしてるとだんだんアウェイ感薄れてきましたよ。 というわけで参加したトークは以下の通りです。(1日目は参加できなかったので、土曜日のトークのみ)   1時間目: @kazunori_279 さんの Deep Dive into the "Out of place Artifacts" of Google Cloud Platform この謎技術の話はいつ聞いても面白い。Azureのデータセンターも結構頑張ってるはずなんですが、Googleのはホントに(社畜的に自粛) そういえば、トーク中「他社のロードバランサは暖機の申請が必要だったりしますがGoogleのは不要です!」という話がありましたが、Azureのも暖機は不要ですよ!どんと来い!というのを呟いたりしました。  https://twitter.com/ksasakims/status/634902336377192448 「暖気」って漢字間違ってしまった恥ずかしいわい。 あ、こちらでさらに解説されてますね。YAPC Asia 2015「Google Cloud Platformの謎テクノロジーを掘り下げる」のまとめ   2時間目: @myfinder さんの Discover the Microsoft…

0

HDInsight のクラスタ作成時にスクリプトを実行する “Script Action”

autoexec.bat あるいは /etc/rc 的なやつ HDInsight は「ジョブを繰り返し実行する間だけクラスタを動かしておき、使わなくなればクラスタを削除」という使い方が一般的です。「次回も使う(かもしれない)からとっておきたいデータ」はデフォルトファイルシステムである BLOB ストレージへ置いておくわけです。 こういう使い方をする以上、頻繁に「クラスタの作成」を繰り返すことになりますが、そうなると「クラスタ作成時に行う環境設定処理を自動化」したくなるのが人情というものです。最近追加された ”Script Action” で、これが可能になりました。   Script Action を試してみる 最近の Azure 新機能の例にもれず、Script Action も現時点(2014/12/01)では管理ポータルから設定できません。Azure PowerShell  を使う必要があります。 具体的には、下記のように New-AzureHDInsightClusterConfig の出力を Add-AzureHDInsightScriptAction にパイプして、スクリプトのURIなどを指定します。 New-AzureHDInsightClusterConfig <ゴニョゴニョ> |Add-AzureHDInsightScriptAction `-Name スクリプト名 `-ClusterRoleCollection 実行するノードの指定 (HeadNode|WorkerNode|HeadNode,WorkerNode)`-Uri スクリプトのURI -Name はスクリプト定義に対して付ける名前です。スクリプトファイル名ではありません。処理の内容が分かりやすい名前を付けておくのがよいと思います。 -ClusterRoleCollection には、スクリプトを実行したいノードの種別を指定します。”HeadNode”はHadoopのネームノード(HA構成なので2台)、DataNodeはデータノード達です。※ ヘッドノードとデータノードの両方を指定するときは、書き方に注意してください。 ○ -ClusterRoleCollection HeadNode,WorkerNode ○ –ClusterRoleCollection “HeadNode”, “WorkerNode” × –ClusterRoleCollection “HeadNode,WorkerNode” 3番目の書き方は、“HeadNode,WorkerNode”という一つの文字列になってしまいますので、正しく解釈されません。このオプションには配列を渡す必要があるのです。 –Uri  にスクリプトのフルパス名、というか…

0

HPC Pack 2012 R2 Update 1 Preview 登場!

今度はイメージギャラリーにもありますよ HPC Pack 2012 R2の更新版、"Update 1"のプレビューが出ました。今回は、Azure IaaSでのクラスタ展開に関する改良点が多いようですが、スケジューラやMPIライブラリなどのコア部分も地味に手が入っています。What's Newをドキュメントから主なものを抜き書きしてみると: IaaS関連 Azure IaaSでヘッドノードや計算ノードを作成する、「IaaSクラスタ」関連の新機能です。IaaS計算ノードは、HPC Pack的にはオンプレミスの計算ノードと同じ扱いで、ノードテンプレートもオンプレと同じ奴を使います(Azureノードテンプレートではありません) Azure IaaSのイメージギャラリーに HPC Pack インストール済みイメージが増えました! ヘッドノードをAzure IaaSで作成するためのイメージです。HPC PackとSQL Server 2014 Expressがインストールされています。 イメージ名は "96316178b0644ae08bc4e037635ce104__HPC-Pack-2012R2-Update1-4.3.4596.1-WS2012R2-ENU" HPC IaaS展開スクリプトの提供 仮想ネットワーク、ストレージアカウント、クラウドサービス、ドメインコントローラ、SQL Serverデータベース等といった構成要素の作成を自動化し、手間いらずでHPC IaaSクラスターができあがっちゃうスクリプトが付いてきます。 HPC IaaS管理スクリプトの提供 ノードの追加・削除、需要に応じた開始・停止用のPowerShellスクリプトも登場。 PaaS関連 「 Azureノードテンプレート」でWorkerロールのインスタンスがデプロイされる、PaaS計算ノード関連の新機能です。 新しいロールのサイズを自動認識! これまでのHPC Packでは、Azureのインスタンスサイズ一覧を固定的に保持していました。昨年A5,A6,A7が登場したときや、今年A8,A9が追加されたとき、その時点のHPC Packはそれに対応できず、次のバージョンが出るまで新しいインスタンスを計算ノードとして選択できなかったのですが、今後はそういうことがなくなるようです。※ ってことは、またインスタンスが増えるのかもしれませんね! リージョナルVNETへの対応 かつて、Azureの仮想ネットワーク(VNET)は、VNET作成時に指定したアフィニティグループ内に存在するものでした。現在は、アフィニティグループではなく、リージョン全体をスコープとする仮想ネットワーク=「リージョナルVNET」が標準です。しかし、現在のHPC Packでは、計算ノードを仮想ネットワークに配置する際に「計算ノードを配置するクラウドサービスと同じアフィニティグループに属する仮想ネットワーク」だけを対象とするので、リージョナルVNETは選択肢に出てこず、選ぶことができません。この点が解消されます。 Azure計算ノードの部分的な起動 Azureノードテンプレートを使って作成したノード群を開始する際、今まではそのテンプレートで作成した全てのノード(これがAzure的には1デプロイメント)を一度に開始することしかできませんでした。 HPC Pack 2012 R2から、「停止」に関しては1ノードずつ個別に操作できるようになりましたが、今回「開始」操作も個別に可能となりました。   ダウンロード まだプレビュー版なので、ダウンロードはConnectサイトから。https://connect.microsoft.com/HPC/Downloads/DownloadDetails.aspx?DownloadID=54095 とはいえ、Azure上で試す場合は800MBもある"HPCPack2012R2_Update1-Full.zip"をダウンロードする必要はありません。前述の通り、今回から「HPC Packインストール済みAzure…

0

「Azure仮想マシンにログオンできない!」という悲劇からの生還

この記事は、「Windows Azure アドベントカレンダー」の3月21日分です。 Azure仮想マシンの静的IPアドレス設定機能について書こうかと思ったのですが、3月10日の「Windows Azure仮想マシンのStatic IPアドレス設定」で既に詳しく解説されていますね。 ならば題材を変えて、最近導入された「仮想マシンのゲストエージェント」と、それを使った「リモートデスクトップ接続の再有効化およびパスワードリセット」機能について書こうと思います。 ゲストエージェントと VMAccessAgent 拡張 先月(2014年2月)から、Azure で仮想マシンを作成すると、ゲストOSに「ゲストエージェント」というプログラムがインストールされるようになりました。これは、Azure仮想マシン環境において、ホスト(Hyper-Vの土台側)とゲスト(我々が利用する仮想マシン)間の緊密な連携を可能にする仕組みです。 ゲストエージェントを持たない旧来の仮想マシンは、そもそも「自分がAzure上で動いている仮想マシンである」ことを意識していません(認識できません、といったほうが良いかもしれません)。そのため、例えば「自分が属しているクラウドサービスの名前」とか、「自分のデプロイメントが持っているパブリックIPアドレス」といった情報を取得することはできませんでした。ゲストエージェントが導入されると、こういった「ホスト側でしか知りえない情報」をゲストへ伝えることができるようになります。 下の図をご覧ください。ゲストエージェントが導入された仮想マシンにログオンすると、デスクトップにこのような情報が表示されるようになっています。SysinternalsのBgInfo を実行したんだな、というのはすぐわかりますが、単にゲストOSでBgInfoを実行しても、こうはなりません。デプロイメントIDや、パブリックIPアドレス(VIP)は、ゲストOSだけでは取得できない情報です。 このBgInfoは、ゲストエージェントが持つプラグイン機構を利用した BGInfo 拡張(Extension)として動いています。ゲストエージェントからホスト側の情報をもらって、ゲストOSのデスクトップにそれを表示することができているわけです。 そして、デフォルトで登録されているプラグインがもう一つあります。それが今回のお題、 VMAccessAgent 拡張です。 これは、 誤ってリモートデスクトップ接続を無効化してしまうと、ログオンできなくなってしまう ログオンするためのパスワードを忘れると、再設定する方法がない。 という、Azure仮想マシンの弱点を解消してくれるものなのです。 論より証拠 では、VMAccessAgent 拡張のご利益を実感してみましょう。 RDP接続をわざと無効化してAzure仮想マシンから締め出されてみる。 その後、VMAccessAgentに助けてもらい華麗に再度ログオンをキメる。 ※ この際ついでにパスワードも変えてみる。 という感じで行きましょう。 Windows Azure PowerShell 0.7.4 VMAccessAgent によるリモートデスクトップ接続関連操作は、”Set-AzureVMAccessExtension”という新しい PowerShell コマンドレットを使って実行します。(現時点では、管理ポータルからはできません) また、このコマンドレットは、3/11にリリースされた Windows Azure PowerShell 0.7.4 が必要です。まずはこの最新のWindows Azure PowerShellをインストールしてください。 インストール方法は、Windows Azureアドベントカレンダーの3/19分であるこちら「Windows Azure PowerShell のコマンドレットを分類してみた」に詳しく解説されていますので、ご覧下さい。 あ、もちろんこっちを見てもらっても良いんですよ。「Windows…

1

HPC Pack 2012 R2で最新のクラスタ!InfiniBandも使えます – その2: 計算ノードデプロイ編

いよいよクラスタ構築 前回の記事では、Azure上に仮想ネットワークと仮想マシンを作成して、HPC Pack 2012 R2をインストールし、ヘッドノードを構築するところまでを解説しました。今回は、計算ノードをデプロイしてMPI診断テストを流すところまでです。 証明書設定 Windows Azure計算ノードをデプロイするためには、Windows Azureの「サービス管理API」というやつを呼び出す必要があります。この、面倒なAPI呼び出しそのものはHPCクラスタマネージャがやってくれるので楽ちんなのですが、サービス管理APIを呼び出すためには、クライアント証明書による認証が必要です。 Windows Azure サービス管理 API では、サービスに対して行われた要求が安全であることを保証するために、SSL を介した管理証明書の相互認証が必要です。匿名の要求は許可されません。 http://msdn.microsoft.com/ja-jp/library/windowsazure/ee460782.aspx そのため、 APIを呼び出す主体を表す公開鍵証明書と、それに対応する秘密鍵を準備する。 上記証明書を、Azure管理ポータルに「管理証明書」として追加する。 という二つの作業が必要です。面倒ですね。しかしご安心ください。「とりあえず簡単に試してみたい」という方のために、HPC Packのインストールと同時に自己署名証明書がWindowsの証明書ストアにインストールされるようになっています。今回はこれを使いましょう。 証明書の確認 まずは、証明書の存在を確認してみましょうか。PowerShellで。あ、GUIじゃないと…っていう人は、certlm.mscを使ってください。 PS C:\> dir Cert:\LocalMachine\My | ?{$_.Subject -match "HPC Azure"} | ft Subject,Thumbprint,HasPrivateKey -AutoSize Subject                                   Thumbprint                               HasPrivateKey ——-                                   ———-                               ————- CN=Default Microsoft HPC Azure Management B6D115671BBD3E6C028803AF9E9DE8DBC0DDD6F2          True CN=Microsoft HPC Azure Client             4D1664C80F2233F8C226DB1866CDD2CD496E26F0          True…

2

HPC Pack 2012 R2で最新のクラスタ!InfiniBandも使えます – その1: ヘッドノード構築編

HPC Pack 2012 R2とA8,A9計算ノード登場! HPC Pack 2012 R2 が登場しました。今回の目玉はズバリこれです。 Windows Azureの新インスタンス A8 と A9 に対応! A8,A9とは、コアあたり7GBのメモリと40GbpsのInfiniBandを備えた、HPC用の新インスタンスです。そう、2012年11月のTOP 500ランキングに登場したやつですよ!ずいぶん時間がかかってしまいましたが、ようやく皆さんにお使いいただけるようになりました。 というわけで今回は、HPC Pack 2012 R2でWindows Azure上にクラスタを作り、A8, A9のInfiniBandを試す!という手順をお伝えします。 この記事で作成するクラスタの概要 オンプレミスとクラウドにまたがるハイブリッドクラスタを構築できるのがHPC Packの特徴ですが、今回はヘッドノードも含めてすべてAzure上に配置する「完全クラウド構成」を作ってみます。構成要素は次の通り。 ヘッドノード 「Windows Azure 仮想マシン (WAVM)」機能で作ります。 ゲストOSは最新のWindows Server 2012 R2を使います。 HPC Packでのクラスタ構築にはActive Directoryのドメインが必須なので、ヘッドノードはドメインコントローラも兼務します。 Windows Azure仮想ネットワーク (VNET) WAVMでドメインコントローラを作成する場合、VNETへの配置がMUSTです。 計算ノード Windows Azureの「クラウドサービス (PaaS)」機能で作ります。 IaaS (WAVM)で作成する仮想マシンを計算ノードにすることもできますが、A8,A9は今のところPaaSでのみ利用可能であるため、今回はIaaS計算ノードは利用しません。 絵にするとこんな感じです↓ 計算ノードを仮想ネットワークへ配置することも可能ですが、必須ではありません。 仮想ネットワークの作成 ヘッドノードを作る前に、仮想ネットワークを作成する必要があります。 Windows Azure管理ポータルの「新規」ボタンから「ネットワークサービス」→「仮想ネットワーク」→「カスタム作成」とたどります。 仮想ネットワークの名前や配置場所を決めます。…

0

use RA-GRS;

メリークリスマス!(まだ早い) この記事は Windows Azure Advent Calendar 2013 の23日目です。 さて。今年は @dankogai さんにお会いできたり、YAPC::Asia Tokyo 2013で話す機会を頂いたり したために、実に久しぶりにPerl熱が(自分の中で)再燃した年でした。また、 @junnama さんが Net::Azure::StorageClient なるモジュールをCPANに登録するという嬉しい出来事もあったのです。これは、 Perl 版の Azure ストレージクライアントライブラリです。私もさっそくこれを使って、「ページBLOBの割り当て済みサイズを取得するツール」という小さなスクリプトを書いてみたりしました。 RA-GRS is here! ところで、Azureのストレージといえば、「読み取りアクセス地理冗長」(RA-GRS) のプレビューが始まりましたね。今までは、地理冗長(同一ジオ内への別リージョンへの自動的な複製)がデフォルトで有効になっていたものの、セカンダリ側のデータに普段はアクセスできず、ジオフェールオーバーが発生しない限り複製は役に立たなかったわけですが、RA-GRS を使うとセカンダリ側のデータをいつでも読み取ることができます。(セカンダリ側には書き込めません。それ故 ”RA”-GRS) プレビュー機能ページからの申し込みが有効になっていれば、ストレージアカウントの「構成」タブでこんな風に設定できます↓ すると、セカンダリエンドポイントが使えるようになります。ストレージアカウント名に ”-secondary” を付けたホスト名となります。 また、「最終の同期時刻」(LastSyncTime)という項目も増えます。セカンダリへの同期は非同期ですから、「どの時点の内容までは伝わっているのか」をこれで示しているわけです。 # 23日の内容なのにギリギリになってから慌てて書いているのがバレバレですね。 There is more than one way to do it. となれば、業界標準かつクロスプラットフォームでアワードウィニングなスクリプト言語であるところの Perl で RA-GRS してみようと思うのは極めて自然であると言えましょう。もちろん、.NET版のストレージクライアントライブラリ 等を使えば簡単にアクセスできるわけですが、それではオモシロミに欠けるというものです。 そこでまずは、前述の「ページBLOBの割り当て済みサイズを取得するツール」である get-usedsize.pl を使って、自分のストレージアカウントのセカンダリ側を調べてみることにしました。なお、@junnama さんのストレージクライアントモジュールの名前が、当初の…

0

Windows Azure 管理ポータルへのアクセスに多要素認証を適用する – Microsoft アカウント編

この記事では、 Windows Azure 管理ポータルへのログオンに「多要素認証」を適用することで安全性を高める方法を説明します。 どんな ID で管理ポータルへアクセスするかによって設定方法が異なるのですが、まずは今のところ多数派であると思われる Microsoft アカウント (旧称: Windows Live ID) を利用する場合の方法について説明します。 今後は、 Windows Azure Active Directory のアカウントを利用することも増えてくると思いますので、それに関してはまた別の記事で説明します。 Microsoft アカウントの2段階認証設定方法 Microsoft アカウントで「2段階認証」という認証方式を有効にすると、ユーザーは、通常のユーザー名、パスワードの他に何らかの手段で受け取った「セキュリティコード」(ワンタイムパスワード)を入力することで初めてログオンできるようになります。具体的に方法を見ていきましょう。 まずは https://account.live.com/ へアクセスします。 「概要」→「セキュリティ情報」から「2段階認証のセットアップ」をクリックします。 次の画面では単に「次へ」をクリックします。 認証アプリのセットアップ画面が出てきます。 「認証アプリ」というのは何かといえば、スマートフォンにこのアプリケーションを導入して、Microsoft アカウントと関連付けると、スマートフォンがセキュリティコード(ワンタイムパスワード)の生成器になるのです。Windows Phone用にはマイクロソフト製の認証アプリがあります。 iPhoneやAndroid用は、マイクロソフト製のものはありませんがご安心ください。これは要するに TOTP (Time-based One-time Password Algorithm) 準拠のワンタイムパスワード生成アプリであれば良いので、例えば Google Authenticator 等が利用できます。それらのアプリで下図の画面の QR コードを読み取れば、関連付けができます。 次にこんな画面が出てきます。 「アプリパスワード」というのは、Web ブラウザ以外の「セキュリティコードを入力できない既存のアプリケーション」を使うときに、代わりに利用するパスワードです。例えばスマートフォンのメールアプリ等で利用します。ブラウザで Windows Azure 管理ポータルへアクセスすることだけを考えるなら、ひとまずこれは無視してかまいません。 以上で2段階認証のセットアップは完了です。早速、Windows Azure管理ポータルへアクセスしてみましょう。 2段階認証を使用したログオン 通常通り、まずは…

0

「Windows Azure PowerShell を使うには」とブログに書くまでもないほど簡単になってしまった話

怠惰は美徳 Windows Azure PowerShell は実に便利です。 例えば「動いてる VM 全部シャットダウンしたい」時、管理ポータルで一台ずつポチポチしてると空しくなりますよね。コンピュータに使われている気がして。そこで、PowerShell です。 Get-AzureVM | ?{$_.Status -eq "ReadyRole"} | Stop-AzureVM -Force これで「あとやっとけよ、お前ら」と機械をこき使うことができるわけです。 また、以前「エンドポイントに ACL を!」で書いたエンドポイントACLのように、PowerShell を使わねければ(今のところ)設定できない機能もあったりします。 証明書の設定が面倒だった この Windows Azure PowerShell、便利なのは前述の通りなのですが、使い始めるまでがちょっと面倒でした。マイクロソフトアカウントでログオンするだけの Azure 管理ポータルと違って、サービス管理 API を呼び出すためにクライアント証明書による認証の準備が必要だったからです。 Windows Azure サービス管理 API では、サービスに対して行われた要求が安全であることを保証するために、SSL を介した管理証明書の相互認証が必要です。匿名の要求は許可されません。 http://msdn.microsoft.com/ja-jp/library/windowsazure/ee460782.aspx このために、 鍵ペアを生成して、 公開鍵証明書を証明書ストアからエクスポートして それを Azure 管理ポータルへアップロードして Set-AzureSubscription で設定する という作業をする必要がありました。 また、これを楽に行うために Get-AzurePublishSettingsFile とImport-AzurePublishSettingsFile というコマンドレットが用意されていたのですが、これは実行するたびに新たな証明書を生成するので、テキトーにあちこちのコンピュータで実行した結果、 管理ポータルが管理証明書だらけになる という残念な現象が起きがちでした。こんなふうに: こんな面倒とも、もうおさらばです。Windows Azure…

2