Windows Azure

Microsoft Azure RemoteApp Previewがアクティブになったので、触ってみた。メニューは管理サービスの上、Traffice Managerの下にある。

image

Azure RemoteAppで何ができるのかは、「Welcome to the Azure RemoteApp preview」メールに書いてあった。

  • いろんなデバイスを使ってあらゆる場所から、会社のアプリケーションにユーザーがアクセスできるようになる
  • 巨大な投資をすることなくビジネスの必要性に応じて、素早く対応することができる
  • 信用と信頼のあるAzureのプラットフォームで、会社の情報を集中化させ守れる

プレビュー中は、次のような対応となるらしい。

  • Azure RemoteAppを無償で提供
  • プレビューサービスでは、2つのインスタンスをたて、各インスタンス10ユーザーまで許可する
  • 7日連続で使用されなかったら、キャンセルされる
  • 何かサービス提供に変更を加える場合は2営業日前に通知する
  • プレビュー中に容量を増やしたい場合は、メールでMSに連絡する

とりあえず触ってみる

CREATE A REMOTEAPP SERVICEをクリックする

image

 

作成する手段は、「QUICK CREATE」と「CREATE WITH VPN」の2通り。

image

 

QUICK CREATEで提供されているテンプレートイメージは、今のところ「Microsoft Office 2013 Professionl Plus on Windows Server 2012 R2」1つだけ。

image

 

REGIONも多少少な目。正式サービスインするときには、日本にも来てほしいね!

image

 

とりあえず、QUICK CREATEで作成する。
ちなみに終わらない!!てイラッとしたけど、注意書きがあった(;´・ω・)
30分かかるよ!っと。

image

 

プロビジョニングは結構時間がかかって、自分が試した時で35分ぐらい待った。まぁプレビューだしね!

image

 

とりあえず、ダッシュボードを見てみる。
REMOTE DESKTOP CLIENT URLが書いてあるので、クリックする。
image

RemoteApp clientをインストールしろ!っといわれる。
RemoteAppを知らなさすぎるので、手探り状態。
image

 

image

 

マイクロソフトアカウントでログインする。

image

 

image

 

無事、表示された。

image

 

無事、Azureで動いているWordが起動した!

image

 

当たり前だけど、ローカルで動いているように見えてもAzure上で動いているので、ファイルを開くでファイル選択ダイアログを表示すると、Azureのインスタンスが対象になる。
おとなしくOneDriveを使いなさいってことですね。
image

 

アプリを起動しているときに、SESSIONを確認すると次のように表示される。起動するアプリケーション数はセッション数とは関係ないみたい。アプリ2つ立ち上げても、セッションは一つだけだった。
image

 

REMOTEAPP PROGRAMSを見ると、使用可能なプログラム一覧が表示される。
image

 

USER ACCESSでマイクロソフトアカウントを追加してあげる。
image

 

そしてログインすると表示される。素晴らしい素晴らしい!
image

 

Azure RemoteAppの概要

Windows Apps in the Cloud: Introducing Microsoft Azure RemoteAppを抜粋して紹介。

サポートするクライアント

  • Windows用:Microsoft RemoteAppアプリケーションを提供
  • iOS、Android用:Microsoft Remote Desktopをアップグレードしてサポート
  • Mac、Windows Phone、Windows RTも近々でサポート予定

http://remoteapp.azure.com/からダウンロード可能。

永続ストレージの提供

Azure RemoteAppでは永続領域50GBを提供する。
これのバックエンドはAzureストレージで、安心。

Windows Server 2012 R2

Azure RemoteAppはWindows ServerのRemote Desktop Services上で構築されている。
共通の仮想セッションのもとに提供される共有モデルとなっている。

Office 2013プリインストール

プレビュー中は、Azure RemoteAppにMicrosoft Office 2013 Pro Plusを提供する。

2種類のデプロイメントの選択:クラウドのみか、ハイブリッドか。

Azure RemoteAppでは2種類のデプロイメントモデルを使用できる。

クラウドデプロイメント

Azureのリソースを使うので、OSは絶えず自動アップデートされ、Microsoft Anti-Malwareエンドポイントで防御されている。
Publishボタンを押すと、ほかにも配信したいアプリケーションを選択できる。

image

 

ハイブリッドデプロイメント

クラウドデプロイメントモデルは、標準的なOfficeへのアクセスを提供します。
ハイブリッドデプロイメントモデルだと、もっとカスタマイズできます。アプリケーション、OSなどの設定をコントロールできます。
テンプレートイメージを直接Azure Portalで管理できます。
ドメインに参加した環境でアプリが動いていたら、オンプレミスのNWとデータにアクセスできます。
Azure ADと統合し、ユーザーはログオンするのに自社の認証を使用できます。

クラウドで動作するアプリケーションが、シームレスにオンプレミスで提供されるデータとリソースにアクセスできます。これは、Azure仮想ネットワークのサイト-サイトVPNで構築されます。

カスタムテンプレートは、Windows Server 2012とRD Session Hostロールサービスをベースにしなければならない。

Windows Azure

クラウドデザインパターン Azureを例としたクラウドアプリケーション設計の手引き

 

Microsoftが作成し公開しているpatterns & practices のAzureを題材につかったクラウドデザインパターンが日本語に翻訳され、書籍として発売されます!
デザインパターンとかは原著のほうが良いって意見も歩けど、やっぱり日本語のほうが読みやすい!難しいことを考えるには母国語が良いよね。

てことで、日本語に翻訳されたクラウドデザインパターンを読んで、自分が作るアプリケーションに、そのノウハウを適用しましょう。

(PR) Japan Azure User Groupで監訳をしていて、一部ですが自分も手伝いました

Windows Azure

アカウントで、Azure File Previewがアクティブになったので触ってみた。

新規にストレージアカウントを作成する

まずは、Preview中は既存のストレージでは、Azure Fileが提供されない。
既存のストレージを見ても表示されない。

image

なので新規にストレージを作成する。
新規に作成したら、ちゃんと「ファイル」が表示された。しかも、日本のDCでも表示されたので一安心!アドレスは、http://azurefilepre.file.core.windows.net/な感じ。file.core.windows.netって形式です。

image

PowerShellで、ファイル共有を作成する

Azure ファイルのエンドポイントは作成されたが、まだファイル共有は作成されていないので、ファイル共有を作成してあげる。これをしないことには、始まらない。
現時点では、管理画面からファイル共有は作成できないので、PowerShellコマンドレットか、REST APIコマンドで作成します。

次に、PowerShellコマンドレットで操作をしてみましょう。
http://go.microsoft.com/fwlink/?LinkID=398183から、zipファイルをダウンロードします。
ダウンロードしたファイルを解凍する前に、ファイルのプロパティから、ブロックの解除をクリックしておきます。

image

zipファイルを解凍すると、「AzureStorageFile」ディレクトリが作成されます。

Azure Fileがプレビュー中の間は、既存のAzureコマンドレットと別になります。Azure File用のPowerShellコマンドレットは、Storage Client Library 4.0 に依存しますが、既存のAzureコマンドレットは、別のバージョンに依存しているため分かれています。

PowerShellを開いて、カレントディレクトリを作成された、「AzureStorageFile」ディレクトリに移動します。

cd C:\Users\t.yamatoya\Downloads\AzureStorageFile\AzureStorageFile

# モジュールをインポートして、ストレージアカウントとキーのContextを作成します。
# 例:$ctx=New-AzureStorageContext azurefilepre D+1NmzaV32u9fYk8Zc/RXL4V==
import-module .\AzureStorageFile.psd1
$ctx=New-AzureStorageContext  
 
# 新しい共有の作成
$s = New-AzureStorageShare  -Context $ctx
 
# テストで試しに、「testdir」というディレクトリを作成します
New-AzureStorageDirectory -Share $s -Path testdir
 
# 作成したディレクトリににローカルからファイルをアップロードします。
Set-AzureStorageFileContent -Share $s -Source D:\upload\testfile.txt -Path testdir
 
# ディレクトリにあるファイルとサブディレクトリ一覧を表示します。
Get-AzureStorageFile -Share $s -Path testdir
 
# Azureストレージファイルからファイルをダウンロードします。
Get-AzureStorageFileContent -Share $s -Path testdir/testfile.txt -Destination D:\download
 
# Azureストレージファイルからファイルを削除します。
Remove-AzureStorageFile -Share $s -Path testdir/testfile.txt 

仮想マシンからAzure ファイルにネットワークマウントする

「net use」コマンドを使用してネットワークマウントします。

net use z: \\.file.core.windows.net\ /u: 
# 例:net use z: \\azurefilepre.file.core.windows.net\test /u:azurefilepre D+1NmzaV32u9fYk8Zc/RXL4ViOPiSvMgeiSQ==

image

無事マウントされて、ディレクトリ階層が確認できますね!

参考情報

まぁ普通のファイル共有になってしまいました。うん、便利便利。

それ以外の情報については、https://sqlazure.jp/b/windows-azure/1763/を参照してください。

Windows Azure

MSDNサブスクリプションにWindows 7とWindows 8.1 EnterpriseクライアントがMicrosoft Azureにデプロイされました。

Microsoft Azure 管理ポータルにMSDNサブスクリプションでログインすると、仮想マシンのイメージ選択で、Windows 7とWindows 8.1が表示されます。

image

 

ちなみに通常のアカウントだと、表示されません。

image

 

Windows 8.1 Enterpriseクライアントが、Microsoft Azure上で、10分かからずにデプロイすることができます。

イメージの作成がオンデマンドでできる「取り込み」ボタンが用意されていて、仮想マシンを無停止でイメージ化できます。

image

image

リモートデスクトップで接続して、スタートスクリーンをみると、標準的なWindows 8.1レイアウトで、右上のユーザーアイコンの隣に、電源ボタンが配置されています。

image

Windows Azure

Azure Storageチームが投稿した「Introducing Microsoft Azure File Service」をざっくり抜粋意訳した投稿です。

Microsoft Azure File サービスのプレビューが発表されました。
Azure Fileサービスは、標準的なSMB2.1プロトコルを使用してファイル共有を提供します。
Azureで動作するアプリケーションは、ReadFileやWriteFileのようなファイルシステムAPIを使用して仮想マシン間のファイル共有を簡単にできます。
さらに、多様なシナリオに対応できるようにRESTインターフェイス経由のファイルアクセスも提供されます。
Azure Fileはブロブ、テーブル、キューサービスと同じテクノロジー上に構築されています。つまり、プラットフォーム上で提供されている地理的冗長性、拡張性、可容性、耐久性が提供されます。

想定シナリオ

  • アプリケーションのクラウドへの上げ下げ
    アプリケーションの一部でファイル共有を使用している場合に、クラウド上でも同様にアプリケーションを運用することができます。
  • アプリケーション設定の共有
    センターマシンでアプリケーションの共通設定を持ち、複数の仮想マシンからアクセスさせられます。そのファイルの配置場所にAzure File共有が使用できます。共有ファイルへのアクセスには、ワイルドワイドにはRESTインターフェイス経由で管理します。
  • 分析データの共有
    Azure File共有は、ログやメトリックス、クラッシュダンプのような分析ファイルを保存するのに便利です。SMBとRESTインターフェイス両方が提供されており、分析データの分析と処理をする分析ツールを使用できます。
  • 開発・テスト・デバッグ
    Azure Fileにお気に入りもしくは必要なツールやファイルを共有し、それぞれの仮想マシンにインストールするときに使用することができます。

はじめてみよう

ステップ1 サービスのサインアップ

サインアップするために、Microsoft Azure Preview Portalにアクセスし、Microsoft Azure File サービスのサインアップをします。準備が完了したら、メール通知されます。サービス提供は遅めになるので、サインアップ後は辛抱強くまってください。

ステップ2 新しいストレージアカウントの作成

通知が届いたら、Azure Management Portalにアクセスし、新しいストレージアカウントを作成してください。自動的にファイルエンドポイントが準備されます。
ファイルエンドポイント:<account name>.file.core.windows.net

Azure Fileプレビューの間は、既存のストレージアカウントではAzure Fileにアクセスできません。必ず新しいストレージアカウントを作成する必要があります。

ステップ3 ファイル共有の作成

次の2種類のファイル共有の作成方法があります。

PowerShellコマンドレット

# import module and create a context for account and key
import-module .\Microsoft.WindowsAzure.Commands.Storage.File.dll
$ctx=New-AzureStorageContext  
 
# create a new share
$s = New-AzureStorageShare  -Context $ctx
 
# create a directory in the test share just created
New-AzureStorageDirectory -Share $s -Path testdir
 
# upload a local file to the testdir directory just created
Set-AzureStorageFileContent -Share $s -Source D:\upload\testfile.txt -Path testdir
 
# list out the files and subdirectories in a directory
Get-AzureStorageFile -Share $s -Path testdir
 
# download files from azure storage file service
Get-AzureStorageFileContent -Share $s -Path testdir/testfile.txt -Destination D:\download
 
# remove files from azure storage file service
Remove-AzureStorageFile -Share $s -Path testdir/testfile.txt 

REST API

REST APIバージョン2014-02-14を使用して、ファイル共有を作成することができます。

REST APIは、http(s)://<account name>.file.core.windows.net 経由で提供されます。

さらに、.NET Storage Client Library 4.0でRESTバージョン2014-02-14でAzure Fileをサポートします。NuGETでプロジェクトに追加することをお勧めします。

static void Main(string[] args)
{
     CloudStorageAccount account = CloudStorageAccount.Parse(cxnString);
     CloudFileClient client = account.CreateCloudFileClient();
     CloudFileShare share = client.GetShareReference("bar");
     share.CreateIfNotExistsAsync().Wait();
}

ステップ4 ファイル共有を使用する

ファイル共有を作成したら、共有するストレージアカウントと同じリージョンでホストされているAzureノード(VM/Worker/Webロール)からSMBまたはRESTプロトコル経由でアクセスできます。

SMB2.1プロトコル経由で共有を使用するには、次のように「net use」を実行して共有アクセスを許可する必要があります。

net use z: \\<account name>.file.core.windows.net\<share name> /u:<account name> <account key>

C:\>net use z: \\myaccount.file.core.windows.net\myshare /u:myaccount StgAccKey==
The command completed successfully.
 
C:\>dir z:\
  Volume in drive Z has no label.
  Volume Serial Number is 4038-F841
 
  Directory of z:\
 
  08/06/2013 10:51 AM 15 HelloFromWindosAzureFileService.txt
  1 File(s) 15 bytes
  0 Dir(s) 109,951,162,777,600 bytes free
 
C:\>type z:\HelloFromWindowsAzureFileService.txt
Hello World

ファイル共有のマッピングを削除するには、「net use z: /delete」コマンドを使用します。

Azure Fileにデータを移動させる方法

Azure BlobからAzure Fileはサービス隔離されています。

プレビューでは、Azure BlobからAzure Fileへのファイルコピーはサポートしていません。

さらに、プレビュー中は、Microsoft Import/Exportサービスもサポートしません。

詳細なロードマップは将来的には提供します。

プレビューの間、オンプレミスからAzure Fileサービスへのファイル転送は提供しています。

  • net use z: \\<account name>.file.core.windows.net\<share name> /u:<account name> <account key>
  • AzCopy

    AzCopyバージョン2.4で、ローカルからAzure Fileへのデータの行き来をサポートしました。

    Azure Fileにファイルを置いてしまえば、同じリージョン内にあるクラウド仮想マシンからSMBプロトコル経由で簡単にアクセスすることができます。

    ファイルサーバーで、「myfileshare」と呼ばれる共有を作成した場合、

    ローカルディスクからAzure Fileへのファイルアップロード

    AzCopy d:\test\ https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key /s

    パターンに当てはまるファイルをローカルからAzure Fileへアップロードする

    AzCopy d:\test\ https://myaccount.file.core.windows.net/myfileshare/ /DestKey:key ab* /s

    Azure Fileから全てのファイルをローカルにコピーする

    AzCopy https://myaccount.file.core.windows.net/myfileshare/ d:\test\ /SourceKey:key /s

    プレビュー中は、AzCopyで次のシナリオはサポートしていません。

    ・Azure BlobとAzure File間のファイルコピー。同様にAzure File間のコピー。

    ・セカンダリリージョンからAzure Fileデータの読み取り

    ・Azure FileにShare Access Signature(SAS)を使用して接続すること

Storage Client Library 4.0 (又はREST APIバージョン2014-02-14)

Storage Client library 4.0は、サービスへのファイルアップロードと書き込みに対応しています。

共有がマッピングされた仮想マシンへのリモート接続

ファイルエクスプローラーの使用

・エクスプローラーでリモートセッションでローカルマシンからファイル共有にコピペできます。

・リモートセッションにxcopyを使用してローカルドライブからコピーできます。

xcopy \\tsclient\c\software\demo\data\*\\bn1andredstagesmb.file.core.windows.net\myshare\data\.

・Azure VMにリモート接続し、リモートセッションでローカルリソースを共有します。

image

SMBとRESTインターフェイス間の交流

SMB2.1とRESTの2種類のインターフェイスでAzure Fileは共有できます。

SMBクライアントですでに開いているファイルにRESTで操作をするとき、REST操作は、SMBクライアントによる共有モードを優先します。

詳細は、MSDNライブラリに記載されています。

REST操作とSMBアクセスモードとの互換性については、元記事を参照してください。

Azure FileとAzure BlobとAzure Diskの比較

それぞれ長所があります。

Azure File

ファイルアクセスインターフェイスとしてSMB2.1とRESTを提供します。ファイルの読み書きにネイティブファイルシステムAPIを使用するようなアプリケーションをクラウドで使用できるようになります。

1共有あたり5TBに制限されています。

Azure Blob

スケールアウトに圧倒的なアドバンテージがあるRESTインターフェイスです。

1コンテナーあたり最大500TBまでスケールします。

「copy blob」や「snapshots」APIに対応してます。

Azure Disk

Azure StorageのページブロブでVHDにフォーマットされたディスクを、永続化領域としてAzure仮想マシンにアタッチさせることができます。VHDは一つの仮想マシンだけで使え、複数の仮想マシンから共有アクセスをすることはできません。

項目 Blob Disk Files
最大サイズ 500TB/コンテナ 1TB 5TB / 1ファイル1TB
最大8KB IOPS 60MB/s Blob毎 500IOPS 1000IOPS
スループット 1TB/blob 60MB/s Disk 60MB/s File

価格

新しいSMBサービスの価格は、ここで公開されています。プレビューの間は、GA価格の50%OFFで提供されます。

SMB互換性

SMB2.1では多くの機能が提供されています。

名前付きパイプやデータストリームに対応していません。詳細については、ドキュメントを参照してください

FAQ

1.SMB 3.0はサポートされますか?

現在は2.1をサポートしています。

3.0については将来的には提供しますが、まだ提供時期を共有できる状態ではありません。

2.Active Directoryベースの認証をサポートしていますか?

ADやACLでの認証をサポートしていませんが、計画はあります。

Azure Storage アカウントキーを使用すれば、認証と承認を提供します。

3.ストレージアカウントをホストしているリージョンの外からFile Shareにアクセスできますか?

SMB2.1プロトコルは、ストレージアカウントと同じリージョン内のみ提供しています。REST APIはどこからでもあくせすすることができます。

5.Linuxからマウントできますか?

ポータルで提供している最近の2つのUbuntuイメージのみ対応しています。

linuxから共有をマウントするには、最初にクライアントツールをインストールする必要があります。

sudo apt-get install cifs-utils
sudo mount -t cifs //myaccountname.file.core.windows.net/mysharename ./mymountpoint -o vers=2.1,username=myaccountname,password=StorageAccountKeyEndingIn==,d

/etc/fstabにマウントされます。

7.Azure File用のPowerShellコマンドレットのインストール方法

最初にモジュールをダウンロードする必要があります。

zipを解答して、AzureStorageFileフォルダーを「%UserProfile%\Documents\WindowsPowerShell\Modules」にコピーします。

8.新しいエミュレーターでAzure Fileはサポートされますか?

Azure File用のSMBやREST APIはサポートされません。