PowerShellを使用したAzureの管理
Microsoft Developers Forum 2011開催とインストールマニアックスの開催
去る2011年5月、マイクロソフト社の開発者向けイベントが開催されました。内容については多くの記事があるのであえて紹介しませんが、熱いイベントだったようです。震災後にマイクロソフトのような超巨大ソフトウエア開発会社のCEO自らが日本に来て講演していただけたことが日本人として非常にうれしかったですし、象徴的なメッセージだったと思っています。私は残念ながら日程の都合で参加できませんでしたが、熱気を非常に感じました。
その中でWindows Azureもソーシャルゲームなどで多くの事例が発表されたようで、巨大なアプリケーションが動作する基盤としてやっと真価が発揮され始めたのかとうれしく思っています。また、異色の取り組みとしてWindows Azureの応援キャラクターとしてクラウディア・窓辺(http://twitter.com/#!/Claudia_Azure)が登場して、実際に声優さんとして喜多村英梨さんの声が当たっていたそうで、マイクロソフト社の柔軟さに驚きました。声優さんの候補を噂で聞いていて、どの方に決定するのかが非常に気になっていましたが、今後の展開が気になります。
図1:クラウディア・窓辺さんのTwitter画面 |
Think ITでもインストールマニアックスというWindows Azure上にどれだけのOSSをインストールできるのかというコンテストを開催されていて、この記事が掲載される頃には大勢が決まっているだろうと思います。私も中間イベントで講演させていただきました。あまり人前で話すことが無いので当日は非常に緊張しましたが、無事に終わってホッとしました。残念ながらイベントの最後までいられなかったのでわかりませんでしたが、クラウディアさんも最後のジャンケンに登場されたとか。イベント自体は非常に多くの方がいらっしゃっていて、Windows Azureに対する注目がさらに増している感じを受けました。今後もさらに発展していくだろうと確信できました。
PowerShellで行うマネジメントの概要
さて、前回は、Azureポータルを使用したマネジメントを行ってきましたが、いかがでしたでしょうか?Silverlightで作成されているため、インターネットにつながっていればどこからでも管理できる便利さを実感していただけたかと思います。そして、今回はポータルサイトではなく、PowerShellを使用してマネジメントが行えるツールを紹介していきます。
まず、PowerShellとは何かから説明していきます。PowerShellとはマイクロソフト社が提供するツールです。これまでのコマンドプロンプトで提供されてきたコマンドラインツールの後継ツールで、クライアントOSではWindows 7から標準として搭載されています。拡張性が高く、.NET Frameworkを基盤として動作している強力なコマンドラインシェルとなります。
このシェル上で動作するのがAzureのマネジメントツールである、Windows Azure Service Management CmdLets(以降、CmdLets)です。このツールを使用することによりホストサービスのデプロイやインスタンスの増減、ストレージサービスの管理など主だったAzureのマネジメントがコマンドライン上で行えるようになります。また、コマンドをスクリプト化することで、運用の自動化が可能になるでしょう。
また、このツールを使用しての操作は、クライアントPCに対して電子証明書が登録されたPCからしかできず、LiveIDを必要としません。そのため、オペレータは(LiveIDとパスワードを知りさえすれば可能ですが)登録されたクライアントPCからしか操作ができなくなって、LiveIDやパスワードを知る必要がなくなります。
そのため、悪意のある内部者が外部からAzureポータルに接続して操作する危険性が相対的に下がるので、より運用時の安全性が担保されるようになります。ですので、Azureを使ったシステムの運用を考慮する上で、Azureポータルを使用した運用と比較を行った上で採用の検討を十分に行う必要がある技術です。